正在做norflash启动,但是代码烧写进 norflash后不能运行,于是用仿真器仿真程序做如下测试:
1、将norFlash代码拷贝到ram内运行,正常运行(LED灯闪烁)
uint32 pos; //----- 将代码拷贝到ram for(pos = 0; pos < 4*1024; pos++) {*(uint8*)(0x402F0400+pos) = *(uint8 *)(0x13F80000+pos); } void (*appEntryNOR)(); appEntryNOR = (void (*)(void)) 0x402F0400; //----- 运行代码 (*appEntryNOR)(); while(1);
2、直接跳转到norFlash运行,运行失败。
void (*appEntryNOR)(); appEntryNOR = (void (*)(void)) 0x13F80000; (*appEntryNOR)(); while(1);
因为自己做的bootloader norflash启动失败,所以做如上测试,想问下,1、2有何区别?谢谢。
Denny%20Yang99373:
可以用CCS调试一下
直接把指针放到NOR里面,看看行不行?
雷工:
depeng kong 你好
我这两天也在搞 am335x 和 nor flash这块
希望和进行讨论,我的qq:496952234
Kevin_KDP:
回复 雷工:
修改了下CMD文件,问题解决,需要将data等放到ram.
你可以看下这个链接.
http://blog.csdn.net/mmz_xiaokong/article/details/51848676
Kevin_KDP:
回复 Denny%20Yang99373:
问题解决,需要修正cmd,将可变数据放到ram.谢谢。