对Multi-bin 技术的理解

[bin文件的格式]:
Bin文件格式比较简单.结构如下:
struct BinFile  {
BYTE signature[7];    //前面7个字节是标志, 固定的{‘B’,‘0’,‘0’,‘0’,‘F’,‘F’,‘\a’}.
DWORD ImageStart;    //Image Start表示image的开始地址
DWORD ImageLength;    //image的长度
Record ImageRecords[ImageLength]; // struct Record{ DWORD address;  DWORD length;  DWORD chksum;}
}

[BinFS]的意义:
Binfs(Binary Rom Image File System):理解它是针对BIN的文件一种文件系统()
注释1:bin文件则是由romimage.exe产生的image文件
因为binfs是基于bin的一种文件格式,重要理解如下:
(A)bin是一个简单的,线性分布的记录的集合
(B).大部分的Bin,其中的record是压缩后的数据. 所以使用binfs时候, 驱动处理record包含一个解压过程, 继而再呈现为磁盘文件.
注释2: CE提供了一些有意义的工具来帮助我们查看BIN的文件, catbin, compress, sortbin, viewbin, cvrtbin, stampbin, checksymbols.
注释3:Eboot能识别bin文件格式,在写image的时候, 把bin文件里面image写入到flash 加载的时候, 把image读出到内存正确地址. bin也许会用到压缩image. eboot并没有解压image, 只是忠实的按照地址执行拷贝过程.

[Multi-XIP]的意义:
XIP   : Excute-in-place.本地执行. 意思是可以直接执行而不需要拷贝到内存执行. 比如nor flash 和 masked ROM设备, 上面的代码都可以XIP, 而nand flash不行.
Multi-XIP  : 意思是在把一个image分成多个XIP regions. 从而可以分布在ROM的不同地址.

[Multi-bin]的意义:
它是Multi-XIP在IMAGE上的应用,本来image是一个连续分布的整体,需要install在一块连续的ROM 区域或者nor区域. 而Multi-XIP技术可以将这个整体打散成几个. 简单的理解基于Multi-XIP, 就可以将image分散分布在各个ROM了.

[Multi-bin]的优点:
加快启动速度和节省ram
这部分描述的特性一定强烈吸引人. Multi-XIP 只是把一个image分成几个regions, 并不会加快启动速度和节省ram. 怎么才会呢? 要知道一个WinCE的image里面很多的文件并不是启动时候需要加载到ram的. 设想我们如果能够把必须的部分加载到内存, 其余的部分仍然留在nand中, 等到需要的时再从nand磁盘加载. 这一方面使得加载到内存的image大幅减小, 从而加快了从nand拷贝到ram的速度. 另外, 也减少了对ram的占用.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值