printf()与puts()
时间:10-02
整理:3721RD
点击:
我在ccs的例子hello时,发觉输出字符用puts()没有一点问题,但是用printf()能够编译链接通过,但是仿真运行的时候就是不行,提示下面的错误:
Can\'t Run Target CPU: Can\'t write to data memory 0x800, check memory config [-2184]
Can\'t Run Target CPU: Can\'t read from data memory 0x3FA000, check memory config [-2185]
Trouble running Target CPU: Can\'t write to data memory 0x806, check memory config [-2184]
Trouble running Target CPU: Can\'t read from data memory 0x10000, check memory config [-2185]
请问这是什么原因?怎么解决呢?
我也现过类似的问题:
用 printf()在simulater仿真的情况下,可以输出在stdout里,但是不能用两个printf()
因为只能输出第一个printf()的结果
但用在emulator时候,遇到printf()好像程序就跑飞了!
不知道是怎么回事?
我刚开始的时候都可以,没有问题,但后来不知道怎么回事用puts,printf时程序会跑飞。同问
<img src="images/smilies/default/lol.gif" smilieid="18" border="0" alt="" /> 没有人知道
有几个问题:
1 就是emulator环境下想看看程序跑的即如果,用printf来直接打印显示是否合适?我尝试用printf好像对性能有很大的影响。(整个DSP运行的环境下有中断)
2 CCS o2o3优化时引入的程序错误怎么避免?
3 就是interruptible assemble代码一些注意事项,我再TI文档上看到过一些介绍,主要是现在对于branch指令相关的有些不是很理解?