RKAndroidTool工具的各项image详解(RK2918版本)
2018-03-08 16:20
218 查看
..\rockdev\表示RKAndroidTool所在目录的上一层目录下的rockdev文件夹。工具预设目录为..\rockdev\,若扫描有Paremeter ,则载入,读出分区表信息,关于Paremeter ,参看第2点。工具的“偏移”(offset)表示分区的起始地址,也参看第2点。
1、Loader.bin (100K左右)系统启动必须的引导文件
RK29xxLoader(L)_V2.08.bin2、Paremeter 分区信息表(50K左右)打开rockdev目录下的Paremeter 文件,内容如下
[java] view plain copyFIRMWARE_VER:0.2.3
MACHINE_MODEL:rk29sdk
MACHINE_ID:007
MANUFACTURER:RK29SDK
MAGIC: 0x5041524B
ATAG: 0x60000800
MACHINE: 2929
CHECK_MASK: 0x80
KERNEL_IMG: 0x60408000
#COMBINATION_KEY: 0,6,A,1,0
CMDLINE: console=ttyS1,115200n8n androidboot.console=ttyS1 init=/init initrd=0x62000000,0x800000
mtdparts=rk29xxnand:0x00002000@0x00002000(misc),0x00004000@0x00004000(kernel),0x00008000@0x00008000(boot),
0x00008000@0x00010000(recovery),0x00078000@0x00018000(backup),0x0003a000@0x00090000(cache),
0x00100000@0x000ca000(userdata),0x00002000@0x001ca000(kpanic),0x00080000@0x001cc000(system),-@0x0024c000(user)
misckernel——内核镜像boot——系统引导recoverybackupcache——缓存区userdata——用户rom区kpanicsystem——系统程序user———用户储存区
前面是关于机器固件版本,机器型号,机器制造厂商的信息,当然也可以改成自己所喜欢的。下面的[java] view plain copymtdparts=rk29xxnand
则表示机器nand flash的分区信息。[java] view plain copy0x00002000@0x00002000(misc)
右边的0x00002000表示起始地址,左边的0x00002000表示misc分区的容量大小。至于为什么要从0x00002000开始,因为分区表Paremeter 也要占有flash的容量,Paremeter 是从0x00000000开始的。左右两边数值相加,就等于下一个分区的起始地址,如此类推。如到了recovery分区。
[java] view plain copy0x00008000@0x00010000(recovery)
起始地址为0x00010000,recovery分区大小为0x00008000,所以下一个backu分区的起始地址为0x00018000。
另外,关于用户区userdata,也就是rom区。常说的扩容就是扩展此分区。
[java] view plain copy0x00100000@0x000ca000(userdata),
先来算算此分区的大小。0x00100000为十六进制,折算成十进制为1048576,因为瑞芯微rockchip采用的是0.5K为单位。折算结果为1048576*0.5K=524288K524288K/1024=512M也就是说rom区容量为512M。假若要扩展此分区,则往后的各个偏移量都要相加推移。
到了最后一个user分区,[java] view plain copy-@0x0024c000(user)
左边的“-”表示user分区占有剩余的nand flash所有容量。也就是常常存放一些用户的数据如电影、音乐之类的。不同于rom区的存放安装软件。
3、Misc.img(1K左右)cpu加电之后,启动bootloader,(即是RK29xxLoader(L)_V2.08.bin),就会读取MISC分区第一块的内容, 决定进入recovery模式还是升级基带Baseband Processor(BP)或做其它事情。而更改Misc内容的操作为按下某个按键或者用户设置系统。4、kernel.img(6M左右)内核镜像,经过编译得出zImage,即为Kernel.img。或者SDK包直接附带。5、boot.img(8M左右)系统bootload启动之后,进入正常启动模式,就会读取boot.img进去系统正常模式。boot.img包括了kernel.img镜像和一个根文件系统(rootfs)6、recovery.img(12M左右)系统bootload启动之后,通过读取Misc分区的内容,确认如果是进入Recovery模式的话,进去读取Recovery.img。recovery.img包括了一个kernel.img与一个根文件系统(rootfs),kernel镜像与boot,img的完全一样。
7、system.img(100+M左右)包括了系统必要的app,详细参考http://blog.csdn.net/conowen/article/details/7251057
8、擦除IDB表示清空分区表,就是低级格式化nand flash。这样的话,要重新刷入parameter分区。
附:Recovery 根文件系统目录结构
$ tree.├── advanced_meta_init.rc├── data├── default.prop├── dev├── etc├── init├── init.factory.rc├── init.goldfish.rc├── init.quacomm.rc├── init.rc├── meta_init.rc├── proc├── res│ ├── images│ │ ├── icon_error.png│ │ ├── icon_installing.png│ │ ├── indeterminate1.png│ │ ├── indeterminate2.png│ │ ├── indeterminate3.png│ │ ├── indeterminate4.png│ │ ├── indeterminate5.png│ │ ├── indeterminate6.png│ │ ├── progress_empty.png│ │ └── progress_fill.png│ └── keys├── sbin│ ├── adbd│ ├── advanced_meta_init│ ├── meta_init│ ├── meta_tst│ └── recovery├── sys├── system└── tmp相关文章推荐
- RKAndroidTool工具的各项image详解(RK2918版本)
- RKAndroidTool工具的各项image详解(RK2918版本)
- RKAndroidTool工具的各项image详解(RK2918版本) .
- 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解 (旧版本 | 仅作参考)
- Android 使用版本控制工具时添加忽略文件的方式(详解)
- android反编译详解(附带反编译工具,包含mac和windows版本)
- Android 使用版本控制工具时添加忽略文件的方式(详解)
- Android 使用版本控制工具时添加忽略文件的方式(详解)
- [置顶] Android 工具 Utils 单例模式 线程安全 详解
- Android 开源框架Universal-Image-Loader完全解析(二)--- 图片缓存策略详解
- Android内存优化(五)详解内存分析工具MAT
- Android 常用的性能分析工具详解:GPU呈现模式, TraceView, Systrace, HirearchyViewer(转)
- Android SystemServer启动流程详解(基于sdk版本6.0.1)
- Android不需要下版本打补丁,工具:AndFix
- (转)【Android测试工具】03. ApkTool在Mac上的安装和使用(2.0版本)
- Android开源框架Universal-Image-Loader详解
- Android――Android lint工具项目资源清理详解
- Android 开源框架Universal-Image-Loader完全解析(二)--- 图片缓存策略详解
- TakePhoto是一款用于在Android设备上获取照片(拍照或从相册、文件中选择)、裁剪图片、压缩图片的开源工具库,目前最新版本3.0.0。
- Android 常用开发工具类之 AppVersionUtil (获取应用版本信息工具)