TMS320C6713B 采用EMIF boot 模式,通过FPGA加载后输出复位信号完成DSP复位。仿真器为XDS510,环境是CCS3.3,,问题是首次(flash里面没有程序)通过仿真器烧写程序时,在DSP完成复位后连接不上仿真器,只能在FPGA加载完成前才能连上。但是只要flash烧写bootloader程序,在DSP完成复位后始终能连上。不管连没连上,clkout输出都是正常的。目前两张板子,有一张板卡出现这个情况(对比两张板卡,除了DSP新片外观轮廓和批次不一样暂时没发现其他差异),此前也有三张板卡首次连接仿真器对连接操作的时机比较讲究,将复位时间延长后有明显改善。另外将boot 模式改为非EMIF就没有这个问题,针对EMIF boot 模式,DSP会从flash中(内容全为FF)拷贝1KB数据到片内RAM中执行,请问这个问题是否和EMIF boot模式相关,该怎么解释该问题,是否还有其他原因呢?
Shine:
“只能在FPGA加载完成前才能连上”,DSP的复位信号是“通过FPGA加载后输出复位信号完成DSP复位”给的吧?那FPGA加载完成前DSP就能跑起来?
复位信号的有效时间要从CLKIN和电源都稳定输出开始算。
user5317467:
复位时间200ms,s是满足要求的,只是不明白flash里面没有程序的时候,连仿真器没有那么好连
Tony Tang:
方便的话,把原理图贴上来看一下。
FPGA与DSP是如何连接的?
user5317467:
回复 Tony Tang:
不好意思,原理图导出可能有点麻烦,DSP与FPGA互联的信号包括emif总线、DSP flash的控制信号、DSP复位信号等,请问下C6713 EMIF BOOT模式启动时如果读取到全F数据或者读取不到数据,是否可能导致DSP连不上仿真器呢
Tony Tang:
回复 user5317467:
user5317467DSP与FPGA互联的信号包括emif总线、
我怀疑是这部分信号影响了,FPFA对这些EMIF信号的状态影响了DSP读取的数据, 而不是读了0xFF。可能这样导致了DSP跑飞了。
user5317467请问下C6713 EMIF BOOT模式启动时如果读取到全F数据或者读取不到数据,是否可能导致DSP连不上仿真器呢
不会。
可以的话,找个没有FPGA的板子验证一下。
user5317467:
回复 Tony Tang:
我试过让FPGA不加载或者擦除FPGA程序,由上电复位DSP,但是没有什么效果.目前的现象就是如果flash中没有程序,DSP完成复位就挂不上仿真器
user5317467:
回复 Tony Tang:
我们已经排除了FPGA对emif总线的影响,通过挂仿真器看到L2中除了前面1k是全FF数据,之后都是一些随机值,并且是执行这些随机值后DSP会跑飞,每次上电的随机值都不太一样,但基本上都会跑飞.请问下: (1) C6713的L2的随机值是否是芯片本身产生的? (2) 在没有bootloader的情况下,DSP在执行完L2中1K的全FF值后,是否继续往下执行L2中的随机值呢?
Tony Tang:
回复 user5317467:
user5317467通过挂仿真器看到L2中除了前面1k是全FF数据,之后都是一些随机值,
你不是连不上仿真器吗?怎么又通过仿真器看到L2的内容的?
user5317467:
回复 Tony Tang:
在DSP跑飞前是可以连上的,也就是我开始描述的在FPGA加载完成前去连是可以的,但是等DSP完成复位后去连,DSP已经跑飞就连不上了.