Chinaunix首页 | 论坛 | 博客

apt

  • 博客访问: 394457
  • 博文数量: 121
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 600
  • 用 户 组: 普通用户
  • 注册时间: 2015-04-10 15:52
文章分类

全部博文(121)

文章存档

2017年(2)

2016年(23)

2015年(96)

我的朋友

分类: 嵌入式

2015-05-28 15:14:14

概述    

       RK29android系统平台使用parameter文件来配置一些系统参数,比如定义串口号,固件版本,nand flash分区信息等等。  Parameter文件是非常重要的系统配置文件,最好在能了解清楚各个配置功能时再做修改,避免出现parameter文件配置异常造成系统不能正常工作的问题。Parameter文件大小有限制,最大不能超过32KB。 

parameter文件预览:  面是一个parameter文件的内容,不同的项目,parameter文件的内容会有一些差异。


点击(此处)折叠或打开

  1. FIRMWARE_VER:4.1.1
  2. MACHINE_MODEL:rk30sdk
  3. MACHINE_ID:007
  4. MANUFACTURER:RK30SDK
  5. MAGIC: 0x5041524B
  6. ATAG: 0x60000800
  7. MACHINE: 3066
  8. CHECK_MASK: 0x80
  9. KERNEL_IMG: 0x60408000
  10. #RECOVER_KEY: 1,1,0,20,0
  11. CMDLINE:console=ttyFIQ0 androidboot.console=ttyFIQ0 init=/init initrd=0x62000000,0x00800000 mtdparts=rk29xxnand:0x00002000@0x00002000(misc),0x00004000@0x00004000(kernel),0x00008000@0x00008000(boot),0x00010000@0x00010000(recovery),0x00020000@0x00020000(backup),0x00040000@0x00040000(cache),0x00200000@0x00080000(userdata),0x00002000@0x00280000(kpanic),0x00100000@0x00282000(system),-@0x00382000(user)

文件内容说明    

1.FIRMWARE_VER:0.2.3  固件版本,打包updata.img时会使用到,升级工具会根据这个识别固件版本。Boot loader会读取这个版本传递给kernel使用。   
2.MACHINE_MODEL:rk29sdk  机型,打包updata.img使用,不同的项目,可以自己修改,用于升级工具显示。   
3.MACHINE_ID:007      产品开发ID,可以为字符和数字组合,打包updata.img使用,不同的项目使用不同的ID, 可以用于识别机器机型。   
4.MANUFACTURER:RK29SDK    厂商信息,打包updata.img使用,可以自己修改,用于升级工具显示。
5.MAGIC: 0x5041524B      MAGIC,不能修改   
6.ATAG: 0x60000800      ATAG,不能修改   
7.MACHINE: 2929       内核识别用,不能修改。   
8.CHECK_MASK: 0x80      保留,不能修改。 
9.KERNEL_IMG: 0x60408000       内核地址,boot loader会将内核加载到这个地址,kernel编译地址改变时,这个值需要相应修改。    
10  COMBINATION_KEY: 0,6,A,1,0


按键类型为:0  = 普通按键 , 1 = AD按键(保留,未支持)    
GPIO定义:上例中定义的是GPIO6A1     
判断电平:0 = 低电平 ,1=高电平      
Combination按键定义,用户可以根据实际机型定义,RK29 SDK板目前定义为GPIO6PA1, 为VOL+按键。   
功能说明:
boot loader版本低于2.08(不包含)版本:      
1、按住recovery按键开机进loader rockusb升级模式。      
2、同时按住recovery按键和combination按键开机,会引导recovery.img,进android的 recovery模式,用户可以更加菜单选择操作。    
boot loader版本高于2.08(包含)版本:      
1、按住recovery按键并接USB开机,进loader rockusb升级模式。    
2、按住recovery按键不接USB开机,3S左右会引导recovery.img。      
3、同时按住recovery按键和combination按键开机,会引导recovery.img,进android的 recovery模式,用户可以根据菜单选择操作。        
特殊说明:           
1、combination按键可以定义多个  
2、通过同时按住recovery按键和combination按键进android的recovery系统时,CMDLINE会添加recovery_key参数,比如recovery_key=193,193/32=6,193%32=1,那么就是按了GPIO6的A1口组合键进recovery系统的。Recovery系统可以根据不同的按键自动完成不同的工作,比如恢复出厂设置,格式化data分区等。 
3、如果combination key功能定义错误,可能会造成没法通过recovery按键进loader rockusb升级模式,默认SDK发布的parameter不包含combination key定义。       
11.  CMDLINE:console=ttyS1,115200n8n androidboot.console=ttyS1,串口定义。        
initrd=0x62000000,0x500000,第一个参数是boot.img加载到sdram的位置,第二个参数为ramdisk的大小,目前ramdisk最大不能超过8MB。 
MTD分区:  

点击(此处)折叠或打开

  1. mtdparts=rk29xxnand:0x00002000@0x00002000(misc),0x00004000@0x00004000(kernel),0x00002000@0x00008000(boot),0x00004000@0x0000A000(recovery),0x00080000@0x0000E000(system),0x00082000@0x0008E000(backup),0x0003a000@0x00110000(cache),0x00100000@0x0014 a000(userdata),0x00002000@0x0024a000(kpanic),-@0x0024c000(user)


分区定义说明:  
例如:0x00002000@0x00008000(boot),@符号之前的数值是分区大小,@符号之后的数值是分区的起始位置,括号里面的字符是分区的名字。所有数值的单位是sector,1个sector为512Bytes.上例中,boot分区起始位置为0x8000 sectors位置,大小为0x2000 sectors(4MB).    目前flash最大的block是4MB(0x2000 sectors),所以每个分区需要4MB对齐,也就是每个分区都必须为4MB的整数倍大小。    
Backup及之前的分区为固件区,在linux系统里是只读的,在确定大小后,后续升级时不能修改分区大小。    
Backup之后的分区在linux系统里是可读写的。在后续升级时可以调整分区大小,调整分区大小后需要进android 的recovery系统格式化cache等分区。  
常见问题和解决办法  
1、 system分区修改为ext3格式时,parameter的mtd分区怎么定义?  Ext3为可写文件系统,那么system分区需要定义在backup分区之后。 
2、怎么增加一个mtd分区?     在parameter MTD分区中按住分区定义格式增加分区,如果在系统中需要可写的,那么要把分区定义在backup分区之后,只读的,那么分区定义在backup分区之前。  
3、由于系统固件变大,backup分区起始位置和大小变大后整个系统不正常怎么处理?     Backup分区之前的区域为只读区域,为保证系统固件可靠性和稳定性,这个区域有做特殊处理,在第一次升级固件后就不可以把分区改大(改小不会有问题),所以在开发阶段定义分区大小时尽量预留足够空间。     出现问题的机器,需要按住recovery按键进loader rockusb升级模式,等待10秒后,用量产工具或者用户工具的修复模式升级固件,也可以用开发工具的擦除idb功能低格flash后再升级固件。  
4、combination key定义错误,没法通过recovery按键进loader rockusb升级模式怎么处理??    目前只能通过短路flash升级处理。     所有定义combination key需要根据项目硬件来定义。    使用2.08之后的boot loader,通过recovery按键就可以实现选择进loader rockusb或者android 的recovery系统,具体参考前面combination key的定义。









阅读(3754) | 评论(0) | 转发(0) |
0

上一篇:Qt中格式转换

下一篇:debian安装配置

给主人留下些什么吧!~~