ROMIMAGE工具解析(ARM平台)

本文详细解析了ROMIMAGE工具在Windows CE 6.0中的作用,包括其在OS编译过程中的位置、ce.bib文件的四大组成部分、处理过程以及NK.bin文件的结构。内容涵盖MEMORY section、CONFIG section、MODULES section、FILE section的定义,以及romimage.exe如何处理这些部分,生成最终的nk.bin文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.wince6 OS 编译大体过程

build (public code)->sysgen->build (BSP)->buildrel->makeimg, 其中makeimg 命令调用romimage.exe (运行该命令romimage.exe ce.bib )产生最终的nk.bin 。其中ce.bibmerge 了系统中所有bib 文件( 当然包括config.bibplatform.bib)

 

二.ce.bib 中的内容包含四大部分

1. MEMORY section 划分内存块

格式:Name        Start       Size        Type

Name :唯一名称

Start :每块内存base address

Size :划分大小

Type "rom_8" "rom_16" "romx8" "ram" "ramimage" "nandimage" "reserved" "fixupvar" "extension" "chain information" 详细解释请参考http://msdn.microsoft.com/en-us/library/ms923584.aspx

Romimage.exe 解析该部分内容,如果有一块内存区域没有指定type 并且Name“reserve”type 就被指定为reserve

2. CONFIG section 设置配置变量

    AUTOSIZE

格式:AUTOSIZE=OFF|ON

默认为OFFconfig.bib 中定义RAM 用于进程和存储对象内存区域,RAMIMAGE 用于保存image 。如果为ONRAMRAMIMAGE 合并成一个部分,从低地址开始预留RAMIMAGE 大小,其余大小作为RAM

 

BOOTJUMP

格式:BOOTJUMP =address|NONE

默认为NONE ,内核启动从OALstartup 地址执行。如果指定一个在RAMIMAGE 范围的值,那就从指定的地址开始执行

 

COMPRESSION

格式:COMPRESSION = OFF|ON

默认为ON ,对于文件,默认全部压缩,对于模块默认压缩可写部分。如果模块在.bib 中定义时具有C 属性(表明压缩模块所有部分),那么当前这个选项就忽略了

 

FSRAMPERCENT

格式:FSRAMPERCENT=number 






文件系统分配的内存的百分比。

例如number0xAABBCCDD, 那么文件系统分配的内存的百分比为(0xAA+0xBB+0xCC

+0xDD)/1024

 

KERNELFIXUPS



格式:KERNELFIXUPS=OFF|ON




默认值为ON 。如果为ONromimage.exe 具有Base Relocations

 

PROFILE

格式PROFILE =OFF|ON

默认为OFF

。如果为ON

,使用symbols

(文件map

信息)

3.MODULES section 定义OS 镜像包含哪些模块,并指定模块被加载到那块内存区域

   格式:Name      Path   Memory   Type

Name :模块名

Path :真实的模块地址

Memory :该模块被加载到那块内存区域,区域为MEMORY section 部分的name

Type 模块的存放属性

  • S :系统文件
  • H :隐藏文件
  • R 只压缩模块的资源部分(默认模块是不压缩的)
  • C :压缩模块所有部分
  • D :禁止调试
  • N :标志模块是非信任的
  • P :忽略CPU 类型
  • Q: 双模式,如果该模块为user mode ,这时会在kernel mode 上也对应一个K.+ 模块名
  • K :指定模块为kernel mode
  • Z like kernel mode
  • X :指定romimage.exe 对此模块验证签名
  • M :运行时加载整个模块,而不是按需分页

 

  4. FILE s

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值