yilaozhuang 发表于 2011-2-22 16:44:15

用CCS4的debug模式下,自动跑,能出正确结果;把程序烧进去,就不出正确结果,急求大牛指点

小弟用DSP去采集AD,用CC4+560plus仿真器,同时把AD的结果通过串口发出来
debug模式下,自动跑,能够得到正确的结果
把程序烧进去,然后上电运行,发串口输出的结果就不对了。
搞不懂是为什么?debug可以,烧进去就不可以?
希望高人指点下,先谢谢

NJ8888 发表于 2011-2-22 16:45:28

CMD烧写和调试时不一样的

yilaozhuang 发表于 2011-2-22 16:48:01

感谢老大的回答,怎么个不一样呢?应该怎么烧写才能得到正确结果

yilaozhuang 发表于 2011-2-22 16:49:03

回复【1楼】888888888888
cmd烧写和调试时不一样的
-----------------------------------------------------------------------

麻烦老大再给解释一下,多谢

gongxd 发表于 2011-2-28 22:31:45

我的也是这个问题 同问

yilaozhuang 发表于 2011-3-1 09:51:57

我最后发现问题在于读每个AD通道后,需要加适当的延迟时间才行,单步的时候手动去按,没问题;自动跑需要加个延迟时间

X_BIKE 发表于 2011-3-1 11:09:30

这些高级的处理器模式太多了,很难搞定....

以前做过一个项目也是这个问题,原因是仿真时候程序似乎是在RAM里面跑,运行速度很快,下载到FLASH运行后由于读取程序时间的印象,出来的结果就不对啦,后来通过设置将部分程序放在RAM中,就好了。

在DSP运行模式和仿真模式设置上,有很多学问啊!

jomin 发表于 2011-3-15 09:37:40

挺复杂的。。。纠结。。。

jianghehupo 发表于 2011-4-7 22:53:08

相同的源程序,直接把Ram.cmd换成flash.cmd烧写到dsp中也能运行,但是速度相当慢,因为没有初始化flash,要想在flash中正常运行,就需要初始化flash,儿flash初始化函数只能在Ram里运行,所以就需要把想关的代码从flash搬运到Ram。
你可以从网上搜一下,看如何将搬运代码。

Michael_STM 发表于 2014-9-5 09:11:34

NJ8888 发表于 2011-2-22 16:45
CMD烧写和调试时不一样的

我也遇到了同样的情况,带仿真器跑没问题,烧写进去以后拔掉仿真器程序运行不对,请问这两种情况有啥区别?
页: [1]
查看完整版本: 用CCS4的debug模式下,自动跑,能出正确结果;把程序烧进去,就不出正确结果,急求大牛指点