瑞芯微Rockchip开发者社区
直播中

崔映芬

7年用户 944经验值
私信 关注
[问答]

Parameter文件在Rockchip android系统中有何作用

Parameter文件是什么?
Parameter文件在Rockchip android系统中有何作用?

回帖(1)

喻唯

2022-3-4 15:33:56
路径:devic/rockchip/rk3399/parameter.txt

概述

Rockchip android 系统平台使用 parameter 文件来配置一些系统参数,比如定义串口号,固件版本,nand flash 分区信息等等。

Parameter 文件是非常重要的系统配置文件,最好在能了解清楚各个配置功能的时候再做修改,避免出现 parameter 文件配置异常造成系统不能正常工作的问题。

Parameter 文件大小有限制,最大不能超过64KB。

由于 Parameter 的参数是由 Bootloader 解析的,所以本文列出来的参数不一定适用于旧版本的 bootloader。

parameter 分析

FIRMWARE_VER: 8.1

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

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

MACHINE_MODEL: RK3399

    机型,打包 update.img 用到,不同的项目,可以自己修改,用于升级工具显示。

MACHINE_ID: 007

    产品 ID ,为数字或者字母组合,打包update.img使用,不同的项目使用不同的ID。可以用于识别机器机型。

MANUFACTURER: RK3399

    厂商信息,打包 updata.img 使用,可以自己修改,用于升级工具显示。

MAGIC: 0x5041524B

    无法修改

ATAG: 0x00200800

    无法修改,内核识别用。

MACHINE: 3399

    内核识别用,不能修改

CHECK_MASK: 0x80

    内核识别用,无法修改。

COMBINATION_KEY:0,4,C,5,0
    按键定义说明:



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

GPIO 定义:上例中定义的是 GPIO 4 C5

判断电平:0 = 低电平,1 = 高电平

AD 定义(通道,下限值,上限值):上例中,1 表示 ADC 通道 1,8 表示下限值为 80,20 表示上限值为 200,也就是 AD 值在 80~200 内的按键都认为是 COMBINATION_KEY。

Combination 按键定义,可以定义多个,用户可以根据实际机型定义按键。

功能说明:



  • 按住 recovery 按键并接 USB 开机,进 loader rocku*** 升级模式。
  • 按住 recovery 按键不接 USB 开机,3S 左右会引导 recovery.img。
  • 按住 combination 按键开机,会引导 recovery.img,进 Android 的 recovery 模式,用户可以根据菜单选择操作。


PWR_HLD:0,0,C,7,1 //控制 GPIO0C7 输出高电平
PWR_HLD:0,0,C,7,2 //控制 GPIO0C7 输出低电平
PWR_HLD:0,0,A,0,3 //配置 PWR_HLD 为 GPIO0A0,在 Loader 需要锁定电源时,输出高电平锁定电源
最后一位是电平判断,解释:
1:= 解析 parameter 时,输出高电平
2:= 解析 parameter 时,输出低电平
3:= 在 Loader 需要控制电源时,输出高电平
0:= 在 Loader 需要控制电源时,输出低电平

PWR_HLD: 0,0,A,0,1
这里是控制 GPIO0 A0 输出高电平

#KERNEL_IMG: 0x00280000

    内核地址,bootloader 会将内核加载到此地址,如果 kernel 编译地址改变,需要修改此值。

#FDT_NAME: rk-kernel.dtb

CMDLINE:

androidboot.baseband=N/A

androidboot.selinux=permissive(关闭) ---- enforcing(打开)

    安全强化Linux是否打开

androidboot.hardware=rk30board

    硬件平台

androidboot.console=ttyFIQ0

    串口定义

init=/init

initrd=0x62000000,0x00800000

    第一个参数是boot.img 加载到 sdram 的位置,第二个参数为 ramdisk 的大小,目前 ramdisk 的大小没有限制。

MTD分区:

    RK30xx,RK29xx,RK292x 都是用 rk29xxnand 做标识mtdparts=rk29xxnand:0x00002000@0x00002000(uboot),0x00002000@0x00004000(trust),0x00002000@0x00006000(misc),0x00008000@0x00008000(resource),0x00008000@0x00010000(kernel),0x00010000@0x00018000(boot),0x00010000@0x00028000(recovery),0x00038000@0x00038000(backup),0x00040000@0x00070000(cache),0x00200000@0x000B0000(system),0x00008000@0x002B0000(metadata),0x00002000@0x002B8000(baseparamer),-@0x002BA000(userdata)

@符号前是分区的大小
@符号后是分区的起始地址
括号中是分区的名字
单位都是 sector(512Bytes)
比如 uboot 起始地址为 0x2000 sectors (4MB)的位置,大小为 0x2000 sectors(4M)
另外 flash 最大的 block 是 4M(0x2000 sectors),所以每个分区需要 4MB 对齐,即每个分区必须为 4MB 的整数倍。

,0x00038000@0x00038000(backup)
backup 分区前的分区为固件区 uboot、trust、misc、resource、kernel、boot、recovery 。
后续升级时不能修改分区大小
backup 分区后的分区 cache、system、metadata、baseparamer、userdata
是可以读写的,可以调整分区大小。但是修改分区大小后需要进入 recovery 系统格式化 cache。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分