[Rockchip RK3399] | RK格式固件分区表文件parameter.txt浅析

Posted Neutionwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Rockchip RK3399] | RK格式固件分区表文件parameter.txt浅析相关的知识,希望对你有一定的参考价值。

我们在 sdk/device/rockchip/rk3399 目录下可找到一些 parameter.txt 文件,下面以 parameter-debian.txt 为例子做介绍:

FIRMWARE_VER: 8.1
MACHINE_MODEL: RK3399
MACHINE_ID: 007
MANUFACTURER: RK3399
MAGIC: 0x5041524B
ATAG: 0x00200800
MACHINE: 3399
CHECK_MASK: 0x80
PWR_HLD: 0,0,A,0,1
TYPE: GPT
CMDLINE: mtdparts=rk29xxnand:0x00002000@0x00004000(uboot),0x00002000@0x00006000(trust),0x00002000@0x00008000(misc),0x00010000@0x0000a000(boot),0x00010000@0x0001a000(recovery),0x00010000@0x0002a000(backup),0x00020000@0x0003a000(oem),0x00700000@0x0005a000(rootfs),-@0x0075a000(userdata:grow)
uuid:rootfs=614e0000-0000-4b53-8000-1d28000054a9

前面大部分是Rockchip自定义的,芯片型号、校验码、GPT分区等等。我们只需要了解 CMDLINE 即可。

以 uboot 分区为例:
0x00002000@0x00004000(uboot)0x00004000uboot 分区的起始位置 0x00002000 为分区的大小。后面的分区规则相同。

注意:分区的起始位置与大小单位都是 sector(512Bytes)

比如 uboot 起始地址为 0x4000 sectors (8MB)的位置,大小为 0x2000 sectors(4MB)

另外 flash 最大的 block 是 4MB(0x2000 sectors),所以每个分区需要 4MB 对齐,即每个分区必须为 4MB 的整数倍。

这里可以根据自己需要增减或者修改分区信息,但是请最少保留 uboot, trust, boot, rootfs 分区,这是系统能正常启动的前提条件。

注意:这里不是Kernel command line!!!

以下是各个区分介绍:

  • uboot 分区: 烧写 uboot 编译出来的 uboot.img。
  • trust 分区: 烧写 uboot 编译出来的 trust.img。
  • misc 分区: 烧写 misc.img。开机检测进入 recovery 模式。(可省略)
  • boot 分区: 烧写 kernel 编译出来的 boot.img 包含 kernel 和设备树信息。
  • recovery 分区: 烧写 recovery.img。(可省略)
  • backup 分区: 预留,暂时没有用。后续跟 android 一样作为 recovery 的 backup 使用。(可省略)
  • oem 分区: 给厂家使用,存放厂家的 app 或数据。只读。代替原来音箱的 data 分区。挂载在/oem 目录。(可省略)
  • rootfs 分区: 存放 buildroot 或者 debian 编出来的 rootfs.img,只读.
  • userdata 分 区 : 存放 app 临时生成的文件或者是给最终用户使用。可读写,挂载在 /userdata 目录下。(可省略)

以上是关于[Rockchip RK3399] | RK格式固件分区表文件parameter.txt浅析的主要内容,如果未能解决你的问题,请参考以下文章

RK3399快速上手 | 03-rockchip rk3399 linux sdk的使用

RK3399快速上手 | 03-rockchip rk3399 linux sdk的使用

Rockchip RK3399-uboot移植

RK3399平台开发系列讲解(内存篇)15.23Rockchip Linux CMA

RK3399平台开发系列讲解(内存篇)15.23Rockchip Linux CMA

Rockchip RK3399