瑞芯微的安卓平台使用 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