我们自己的板子,DSP与NANDFLASH的硬件连接参考EVM6657的板子。用官网提供的例程需要unlocked对应的block后能读写NANDFLASH。
现在用NANDFLASH进行测试,生成的boot table格式如下图所示:(转成bin文件后是小端模式的,我的GPIO[13:0]是0x0007)
我的bin文件确定写入到了NANDFLASH,启动DSP之前的复位也是POR复位。
但是启动后,bin文件没有搬运到对应的地址,所以启动不了,这是什么原因呢?
Shine:
请测量有一下boot mode管脚电平是否正确?是否有读nand flash的时序?或者用仿真器跟一下boot过程,看Device Status Register寄存器BOOTMODE的值和BOOTCOMPLETE的值?
user4257905:
回复 Shine:
DEVSTAT寄存器的值是0x0000D807,是没有错的,然后BOOTCOMPLETE的值是0,就是没有完成啊。怎么用仿真器跟一下boot过程啊?这个过程不是很快嘛,那时候我都没连上仿真器,不是很快就过去了嘛?读nand flash的时序是要用示波器去抓嘛?
Shine:
回复 user4257905:
仿真器跟踪方法请看下面的wiki网站。
processors.wiki.ti.com/…/Debugging_Boot_Issuesflash时序用示波器抓。
user4257905:
回复 Shine:
好的,谢谢,但是我的flash连线都是直接连接的,电路板没有接出来的接口,没法用示波器测试,我想问一下,我生成的那个bin文件的格式,就是上面的图片显示的,那个是正确的嘛?没有其他的包头之类的吗?因为想NorFlash启动的话还要有一段搬移的启动代码嘛?
user4257905:
回复 Shine:
你好,我的DSP上电复位后,连上仿真器看,PC指针指向0x20B044F4。我用相连的FPGA的chipscope抓了EMIF对NANDFLASH的读写时序,DSP一直在发读指令读取NANDFLASH,但是读出来的数几乎全是0xFF,我把NANDFLASH正片全部写入了0x01,它很偶尔会读出来是0x01,大部分时间还是0xFF。这个可能是什么原因啊,完全没有头绪,因为这个按道理是rom boot的代码执行的操作啊。麻烦您稍微指导一下,谢谢了
Shine:
回复 user4257905:
请问在仿真器模式下能正确读写nand flash吗?
Shine:
回复 user4257905:
感谢分享!
复位信号的有效时间要从dsp的供电电源和输入时钟稳定输出后开始算。