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

TMS320C6713B: RAM中运行正常,下载到flash后按复位按钮每次都能起来,都很正常,但是只要断电重启,程序就只能跑飞。

Part Number:TMS320C6713B

TI工程师您好:

我将一个简单的串口收发程序再RAM中运行测试通过后下载到flash,下载至flash后(有引导程序,上电会自动将flash程序搬运到RAM运行)不断电只按复位按钮,测试多次程序每次都能正常启动,串口收发都是正常的,但是只要一断电重起,程序可以启动起来,但是串口给板子一发数据,程序就卡死了。请问要从哪方面查找原因呢?堆栈我设置的很大,中断向量表中就一个用于串口接受_c_int08(EDMA)中断。

另外不知道我理解的对不,我的程序中使用了全局变量、static,这些变量应该存在于.cintit   .const   .bss 段中,在上电的引导程序中应该会自定拷贝至变量符号中,还是我的全局变量必须使用   #pragma DATA_SECTION(xmitbuf,"xmit_buf");  指令存放到指定位置才可以。

希望工程师能够指点迷津,谢谢!

Nancy Wang:

再次确认一下boot管脚的设置以及复位信号的时序是否正常。

such 说:但是只要一断电重起,程序可以启动起来,但是串口给板子一发数据,程序就卡死了。

只能建议您连上仿真器跟一下启动代码调试看看。

,

such:

您好   boot管脚没问题,设置的从ce1启动,您的意思是断电重新上电和按复位按钮的复位时序有区别导致的吗?

但是我的现象是程序引导是成功的,重新上电程序也能起来可以看到初始化信息,但是串口一交互就卡死了,有打印信息应该就和复位的时序没有关系了把  因为程序已经起来了

,

Nancy Wang:

such 说:但是我的现象是程序引导是成功的,重新上电程序也能起来可以看到初始化信息,但是串口一交互就卡死了,有打印信息应该就和复位的时序没有关系了把  因为程序已经起来了

是的,只是让您再次确认一下,通常来说应该是没有问题的。

用仿真器跟一下程序看看。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320C6713B: RAM中运行正常,下载到flash后按复位按钮每次都能起来,都很正常,但是只要断电重启,程序就只能跑飞。
分享到: 更多 (0)