一、现象: 公司有两批板子,启动方式都是从SPI0 flash启动,两批板子都可以成功烧写程序,第一批板子可以正常启动,第二批板子无法启动。第一批是在12年生产的使用的是TMS320C6747DZKBT3,我在CCS7.3 上面,Debug下加载OMAPL1x_debug.gel文件,可以读取到ROM ID: d800k005 。最近新做了一批板子芯片型号是TMS320C6747DZKBA3,我在同样条件下,使用OMAPL1x_debug.gel读取的ID为:ROM ID: d800k176-47-48。这两个片子我对比了下只有环境温度不同,但读取的ID完全不一样。看了gel文件,发现ID不对,导致后面读取的启动信息也完全不对了。
二、疑问:
(1) 第一批板子和第二批板子使用的器件除了dsp型号略有差别,其他均一致。从gel文件分析来看,ID不对是什么造成的?
( 2 )第二批板子可以debug运行测试程序,但是使用SPIFLASHBURN 烧写后,程序没法启动的原因可能有哪些?
请问这些问题该如何解决? 恳请有经验的帮助解答一下,谢谢!
Shine:
直接用仿真器看一下ROM地址0x11700008的值也是dk800k176?
芯片是从TI授权代理商那里够吗的吗/
cheng jiang2:
回复 Shine:
Shine Zhang 你好!
按照你的指导,我分别读取了两批板子 ROM 相应地址对应的ID,它们的ID是相同的,但是不是dk800xxxx?具体的值在下面的附件中。我按照ID值通过gel文件中计算方式,算了一下,是可以分析出芯片的版本的,但是这个很奇怪了,从flash启动就没正确的ID了。对的,芯片是从TI授权的代理商采购的。
Shine:
回复 cheng jiang2:
flash启动时不会用到GEL文件,请问你是怎么知道从flash启动就没正确的ID了?
请用仿真器跟踪一下boot过程,看是代码没加载进来还是加载了没正确运行?
cheng jiang2:
回复 Shine:
我是通过启动完之后,使用gel文件查看启动卡在哪里了,然偶gel文件打印出来的。
如果要用仿真器跟踪boot过程,这个该如何操作 ?
cheng jiang2:
回复 Shine:
Shine ,你好! 能帮助解答一下吗?
Shine:
回复 cheng jiang2:
请看下面的wiki网站。http://processors.wiki.ti.com/index.php/Debugging_Boot_Issues
Shine:
回复 cheng jiang2:
感谢反馈!