请教一个问题,使用emif boot方式,将.dat文件烧写到FLASH中正确了。但是程序未执行,然后读取memory中0x70000000中的数据为0,然后在线仿真我的emif工程有对emif初始化后然后看到0x70000000中的数据是正确的。我想实际的程序中没有对emif和flash初始化,这个怎么实现。
Shine:
emif16boot模式下,RBL会初始化emif寄存器,然后从0x70000000地址开始执行代码。您在反汇编窗口看不到0x70000000处的代码么?
请查看一下DEVSTAT,BOOTCOMPLETE寄存器的值,看是否进入了EMIF16 boot 模式?
zhi wang43:
回复 Shine:
寄存器DEVSTAT = 0xDE40,BOOTCOMPLETE = 1,寄存器值与我配置的boot mode 是对应的,boot complete也是置位的。DSP关电再开电程序PC没有指向任何地方,system reset后指向0x20b000000,是我的emif boot没有启动起来吗?cmd文件需要注意什么?
zhi wang43:
回复 Shine:
是我的boot mode没有配置正确,emif没有使用外部wait,所以应该disable wait.
user3508153:
回复 zhi wang43:
你好,请问一下,EMIF启动正常后,读取的寄存器DEVSTAT应该是什么值,非常感谢