|
百分相送!min2440中友善提供的nboot和eboot的问题!
[复制链接]
最近弄了个mini2440开发板,按照说明书下载了nboot.bin(自己启用了友善之前注解的启动eboot功能)和eboot.nb0,但是在调试中发现nboot中的这段代码执行有问题:
#if 1 //本函数在友善之臂开发板中暂时没有用到 //20081121启用,既是设为(#if 1)
void loadboot(void)
{
DWORD dwSector, dwLength; // Start Sector & Length
DWORD dwRAM, i;
dwSector=EBOOT_SECTOR; //2; //从block:2 page:0开始存放eboot
dwLength=3072;//一共6个block;block2-7;96K容量;如果eboot文件大于96K,需要修改该代码
dwRAM=0x30038000;//eboot load Start address;把NAND FLASH内容拷贝到0X30038000
while (dwLength)
{
FMD_ReadSector(dwSector,(LPBYTE)dwRAM,NULL, 1);
dwSector++;
dwLength--;
dwRAM += SECTOR_SIZE;//该程序目前不做校验
}
Uart_SendString("NAND FLASH Copy complete!"); //20081121启用
Launch(0x30038000);//跳转到eboot,启动eboot,程序不会返回
}
#endif
就是while (dwLength)循环中的不能正常执行完跳到"Launch(0x30038000);//跳转到eboot,启动eboot,程序不会返回"这一句。
好像是循环中的"FMD_ReadSector(dwSector,(LPBYTE)dwRAM,NULL, 1);"有问题,
不知道哪儿达人可以解答!?
谢谢咯!
附上nboot工程文件。
|
|