Rockchip parameter文件详解

瑞芯微的安卓平台使用 parameter 文件来配置一些系统参数,比如定义串口号,固件版本,flash分区信息等。

parameter 文件是由 BootLoader 解析的,大小不能超过 64 KB。

1、FIRMWARE_VER:5.0.0

固件版本,打包 update.img 会用到,升级工具会根据这个识别固件版本。

BootLoader 会读取这个版本传给 kernel 使用。

2、MACHINE_MODEL:rk3288

机型,打包 update.img 会用到,可以根据需求修改,用于升级工具显示。

3、MACHINE_ID:007

产品开发 ID,可以是字符和数字组合,打包 update.img 会用到,不同的项目使用不通的 ID,

可以用于识别机器机型。

4、MANUFACTURER:RK3288

厂商信息,打包 update.img 会用到,可以根据需求修改,用于升级工具显示。

5、MAGIC: 0x5041524B

MAGIC,不能修改

6、ATAG: 0x60000800

ATAG,不能修改


7、MACHINE: 3288

内核识别用到,不能修改


8、CHECK_MASK: 0x80

保留,不能修改


9、PWR_HLD: 0,0,A,0,1

控制 GPIO0_A0 输出高电平

第1是按键类型:0 为普通按键,1 为 AD 按键

第2、3、4是 GPIO 定义:上面是 GPIO0_A0

第5是判断电平:

1 为解析 parameter 时输出高电平

2 为解析 parameter 时输出低电平

3 为在 BootLoader 需要控制电源时,输出高电平

4 为在 BootLoader 需要控制电源时,输出低电平

10、CMDLINE

console=console=ttyFIQ0 androidboot.console=ttyFIQ0

串口定义

init=/init initrd=0x62000000,0x00800000

第一个参数是 boot.img 加载到 sdram 的位置

第二个参数是 ramdisk 的大小,目前 ramdisk 的大小没有限制

mtdparts=rk29xxnand:0x00002000@0x00002000(uboot),0x00002000@0x00004000(misc),0x00008000@0x00006000(resource),0x00008000@0x0000e000(kernel),0x00010000@0x00016000(boot),0x00010000@0x00026000(recovery),0x0001a000@0x00036000(backup),0x00040000@0x00050000(cache),0x00002000@0x00090000(kpanic),0x00300000@0x00092000(system),0x00008000@0x00392000(metadata),0x00600000@0x0039A000(userdata),0x00020000@0x0099A000(radical_update),-@0x009BA000(user)

为了兼容性,都是用 rk29xxnand 做标识。

0x00002000@0x00002000(uboot),@符号之前的数值是分区大小,@符号之后的数值是分区的起始位置,括号里面的字符是分区的名字。所有数值的单位都是扇区,一个扇区为 512Bytes,boot 分区的起始位置为 0x2000 扇区位置,大小为 0x2000 扇区(4MB)。

目前 flash 最大的 block 是 4MB(0x2000 扇区),所以每个分区要以 4MB 对齐,也就是每个分区的大小必须是 4MB 的整数倍。

backup 及之前的分区为固件区,在 Linux 系统中是只读的,在确定大小后,后续升级时不能修改分区的大小。

backup 之后的分区在 Linux 系统中是可读写的。在后续升级时可以调整分区的大小,调整分区大小后,需要进安卓的 recovery 系统格式化 cache 等分区。

本人能力不足,写不了桌面小工具,只能通过 excel 表来计算各个地址,有能力的园友可以写个小工具分享一下

下面是百度网盘下载地址:

链接:Rockchip parameter文件参数计算.xlsx
提取码:fud1

原文地址:https://www.cnblogs.com/lialong1st/p/10452262.html