PB生成NB0文件时要读取bib文件中的一些配置,当bib的各段空间设置得不恰当就有可能导致无法生成nb0文件,虽然此时仍然能够生成eboot.bin,但是下载的时候会出错误信息ImgLength为0,而查看eboot.bin也的确是0。
举例说明:
当EBOOT代码中声明了较大的变量空间,而bib文件中分配RAM空间不够大就会导致无法生成nb0文件,如EBOOT中初始化LCD的显示BUFFER,定义的数组const UINT16 prayer16bpp,有const 修饰表示占用的是CODE空间,而如果不加const 修饰,bib文件给RAM分配得大小又不够,就会导致无法生成nb0。
这是在调试EBOOT显示LOGO的过程中碰到的一个现象,可能还会有很多原因导致无法生成nb0,因为暂时没碰到,所以并不了解。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Veabol/archive/2010/05/21/5614494.aspx
(以上的方法我是验证过的)
另外还有一个参考(未验证过的):
方法1、把工程目录和PB放在同一个磁盘下。
方法2、使用WinHex或UltraEdit等十六进制编辑器修改“/WINCE500/PUBLIC/COMMON/OAK/BIN/I386/romimage.exe”文件,把偏移地址0x25a7b上的“6A 01”改成“6A 03”