11月30日
eboot的分区管理模块bootpart
BP_Init的参数。
Bootpart模块需要提供一块内存作为模块buffer。 前面2个参数就是描述这个buffer的地址和size的。 Eboot中使用了这个模块, eboot的做法是在boot.bib保留了一块区域作为buffer。比如我的是这样保留的BINFS 80080000 00021000 RESERVED, 然后将这个地址和size传递给bootpart模块。 地址uncacheed的, 所以传递时候80080000变成A0080000.
size如何确定?
Size有最低要求。应该大于每扇区字节 + 每块字节 + (每块扇区数×10)。 常见的1208的nand的话,一个块32个扇区,一个扇区512字节, 这个size=512+32*512+32*10=0x4340, 所以提供0x50000就足够了。 如果是1g08的nand, 1个块64个扇区, 一个扇区2048字节。 Size=2048+64×2048+64×10=0x20A8A。所以分配0x21000的大小.