1

RK 各分区文件解释

 3 years ago
source link: https://www.taterli.com/7969/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

RK 各分区文件解释

  • TaterLi
  • 2021年6月17日2021年6月17日

主要文件有这些,另外修正下,vendor是再7KB位置并非3.5M之后,并且不需要单独配置.

序号1:MiniLoaderAll.bin – 可以理解成启动的一部分,这个部分闭源的,实际由4部分组成(471,472,LD0,LD1),不会开放,也没开源替代方案,大概可以理解成是固化在芯片内部的一样(虽然实际不是).这个东西在波特率是1500000.并不影响系统功能,不建议研究.(我其实也非常非常非常非常非常讨厌硬件厂商这都闭源)

注记:其中PX30的4个文件分别是:

  • 471 = > px30_ddr_333MHz_v1.14.bin (闭源)
  • 472 => px30_usbplug_v1.20.bin (部门代码类似U-Boot 汇编和C构成)
  • LD0 => px30_ddr_333MHz_v1.14.bin (同471)
  • LD1 => px30_miniloader_v1.20.bin (部分代码类似U-Boot 汇编和C构成)

大致输出如下:

DDR V1.14 20190925
LP3,2048MB,333MHz
bw	col	bk	row	cs	dbw
32	10	8	15	2	32
cs1 row:15
OUT
Boot1 Release Time: Sep 24 2019 14:19:45, version: 1.20
chip_id:50583330_0,0
ChipType = 0x12, 472
mmc2:cmd19,100
SdmmcInit=2 0
BootCapSize=2000
UserCapSize=14910MB
FwPartOffset=2000 , 2000
SdmmcInit=0 NOT PRESENT
StorageInit ok = 9273
SecureMode = 0
Secure read PBA: 0x4
Secure read PBA: 0x404
Secure read PBA: 0x804
Secure read PBA: 0xc04
Secure read PBA: 0x1004
SecureInit ret = 0, SecureMode = 0
atags_set_bootdev: ret:(0)
GPT part:  0, name:            uboot, start:0x1000, size:0x2000
GPT part:  1, name:            trust, start:0x3000, size:0x2000
GPT part:  2, name:             misc, start:0x5000, size:0x2000
GPT part:  3, name:             boot, start:0x7000, size:0x10000
GPT part:  4, name:         recovery, start:0x17000, size:0x10000
GPT part:  5, name:           backup, start:0x27000, size:0x10000
GPT part:  6, name:           rootfs, start:0x37000, size:0x1ce7fdf
find part:uboot OK. first_lba:0x1000.
find part:trust OK. first_lba:0x3000.
LoadTrust Addr:0x3000
No find bl30.bin
Load uboot, ReadLba = 1000
Load OK, addr=0x200000, size=0xd2d5c
RunBL31 0x40000 @ 68403 us
INFO:    Preloader serial: 2
NOTICE:  BL31: v1.3(debug):ca3dd02
NOTICE:  BL31: Built : 10:15:38, Sep 23 2019
NOTICE:  BL31:Rockchip release version: v1.0
INFO:    ARM GICv2 driver initialized
INFO:    Using opteed sec cpu_context!
INFO:    boot cpu mask: 1
INFO:    plat_rockchip_pmu_init: pd status f00e
INFO:    BL31: Initializing runtime services
INFO:    BL31: Initializing BL32
I/TC: console use rk_atags param! console_data.base.pa=0xff160000
I/TC: 
I/TC: Start rockchip platform init
I/TC: Rockchip release version: 1.1
I/TC: OP-TEE version: 3.3.0-173-g02f0e5be #191 Thu Aug 15 01:06:34 UTC 2019 aarch64
I/TC: Initialized
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x200000
INFO:    SPSR = 0x3c9

序号2:这个文件指示了内容该怎么放,分区如何安排,他也烧录到0地址?应该不是真的吧.不过实际就是这么写的.

序号3:U-Boot,有源码.

序号4:Arm Trusted镜像.

序号5:MISC内容,虽然没开源,但是里面就放字符串,MISC分区也不是必要的,不过如果你打算丢弃他就需要U-Boot修改代码.

序号6:内核五年级.

序号7:Recovery系统,用Buildroot构建的,不需要也可以丢掉,但是要改代码.

需要8:系统镜像,用rk-rootfs-build构建.

这里每一个分区都要4MB对齐(即0x1000为步进单位!),否则不能被索引到.有能力也可以考虑重写MiniLoader(我是没这个能耐了!).

发表评论 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

评论

显示名称 *

电子邮箱地址 *

网站地址


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK