TI中文支持网
TI专业的中文技术问题搜集分享网站

C5535串口引导代码不能正常工作

各位论坛朋友:

     问题原因已经找到并解决,寻找原因的过程漫长且绕了弯,我简化它让大家易于理解,防止同样的错误。

    首先感谢安富利的鹿经理协助我整理思路,并提供了一些有效的测试手段。

    同时也谢TI工程师Mark Mckeown的帮助。

    我正在开发的产品中,DSP芯片TMS320C5535受ARM芯片STM32f103VG控制。

    现在要通过5535芯片ROM中厂家的引代码来烧写DSP的引导代码。依据为:http://www.ti.com/lit/an/sprabl7c/sprabl7c.pdf

    工作的目标是:通过ROM中的引导代码,将自己的Boot Image 加载到芯片 RAM 中并运行。

    一开始就没成功过一次,下面三图是失败时的波形图(每一毫秒传送一个字节内容):

DSP pin:    P13       UART-RxD / I2S3-Rx / GP30 的波形图

DSP pin:   N12       UART-RTS / I2S3-CLK / GP28  的波形图

测量的都是数据传送过程中随机抓的时间点,看起来都没有毛病,如下图所示,波特率也是正确的

后来改装了自己的开发板,由PC直联DSP传送数据成功。

开始也是中间抓波形,同样没发现RxD上的不同,只是发现了RTS脚的不同(RTS脚在传送过程中低电平,直到传送完成后才拉高保持高电平)

最后想到抓起始波形可以定量分析,终于发现了问题。(起始字符为 09 AA)

正确的波形是这样的:

错误的波形是这样的:

有比较才有伤害,终于打破迷局,通过修改ARM端代码解决了问题。

Shine:

回复 Tony Tang:

建议先写一个简单的小程序看一下串口是否能正确加载?

赞(0)
未经允许不得转载:TI中文支持网 » C5535串口引导代码不能正常工作
分享到: 更多 (0)