[b]各位大牛:
您好, 我最近做c6678的emif-nor-boot引导,折腾了好长时间了,遇到些很棘手的问题,希望能解答一下,谢谢!
我先说环境:硬件:自己的板子,nor型号:S29GL01GS11DHIV1;软件:CCS5.4
先说下我的emif-nor-boot的思路。先做好norwrite烧写工具,有了工具就可以烧写最后合成的xxx.bin镜像了。norwrite验证了。可以烧写到nor中去;问题出现引导后从norflash中搬移,及用ti交叉工具合成的过程中。
在noboot模式下,镜像下载进去了(镜像是一个led闪灯程序),在memory窗口,ox70000000地址空间看到数据,接着断电,上电,又去看0x70000000空间数据,跟之数一样。这些天下来, 遇到如下问题:望各位专家能指导下。
1.搬用和合成参考论坛帖子:xxx
当下载完后,我设置emif-nor-boot引导,上电,连接仿真器后,PC指正指向0x7xxxxxxx,处,我用memory观察,发现这段地址空间全为0x0,我是想问我这样观察方法对不?,我只想知道norflash中还有数嘛,如果对的,为啥没有数据。
2.我emif-nor-boot 管脚设置BOOTMODE[12:0]为:'0b' 0010010000;是否正确,我查看了DEVSTAT,值是一样的,BOOTCOMPLETE寄存器,core0 位是1,那是否说明我的管脚设置没问题。boot是从norflash启动,而且都已经完成。
3.emif-nor-boot引导, 上电后RBL是否对EMIF接口初始化,初始化完后是直接调至0x70000000地址出的吗??我也研究了RBL的源码,确实初始化了,至于跳到 0x70000000处,我没发现;我想确定下。
4.我看ti论坛好多,在自己的工程中有boot.asm,文件,及大量的修改了cmd文件。我知道boot.asm是从nor中搬移程序到RAM中,然后PC指向_c_int00处,我想知道我的到底有没有搬移成功,我如何调试这段汇编?
都折腾好长时间了,没有思路了,希望做过的大牛给点建议和思路。 |