[资料分享] CCS调试常见问题和应对措施技巧

Jacktang   2019-7-26 08:34 楼主

1、CCS仿真时使用SEED_XDS510PLUS

问题:在使用例程仿真时,因为当时用的CCS6.2,一直没找到510的选项。

方案:后来上网查资料发现,XDS510最高支持到5.5,重新下载5.5版本微笑,相关驱动可以去官网(XDS510)上下载,版本选择4.1.3above就行,下载完之后安装到CCS相关文件夹下即ccs_base文件夹下(应该是这个文件夹),插上后即可识别出,然后在工程下新建一个.ccxml文件,配置成SEED XDS510PLUS Emulator。


2、连接顺序问题

方案:1、板子上电;2、连上JTAG;3、仿真器连上USB接口

关于这个顺序的连接还未研究,一般推荐并不是上面那种,而是“先把仿真器和目标板连接起来,再给目标板上电”,但有时候好像连接不成功,可以试试上面的方案,但是不要带电拔下。


3、unresoved symbols remain

问题:程序编译后出现“unresoved symbols remain”提示

方案:

1)、在网上查找后得到这样的答案“当工程中需要用到汇编程序时,需注意在建立项目时,有个output format 里面有legacy coff和eabi ELF。

如果汇编中要是采用老式的比如函数名前加下划线,这时需要选择legacy coff。要是不想再函数前面加下划线,需要选择eabi ELF,否则会报出以下错误:

error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; " **.out"”但是更改legacy coff的选项是灰色的,这里作者没有更改成功疑问。

2)、可能是缺少了.c文件,比如使用CPU定时器时,没有加入_CpuTimers.c,就会报错。此方案前提是可以找到你定义出错函数的.h文件,如果连.h文件都找不到可能路径出错了。

3)、将undefined symbol下的函数名,加以搜索,看是否定义,且引用的源文件中,开头是否对.h文件进行关联,一般没有定义或没关联,报以上错误,定义后在编译;
4)、对undefined symbol下的函数名所对应的.c文件是否添加到project中,若没有添加进来,也报以上错误,需添加后在编译;


4、ccs5和6

问题:在CCS6.2中编译成功的工程,导入到ccs5.5中却出错,就是导入不了。

方案:作者选择死亡...没找到原因,在ccs5中重新建立了工程,如果有找到原因的请一定告诉作者微笑。


5、Test Connection

问题:用的是CCS5.5和XDS510 PLUS,驱动已经正常安装了,但是在测试连接的时候,显示了Failure due to the controller command-finish taking too long.

方案:查了很多资料,最后得出的结论,不影响程序的load下载,以及debug调试,其他版本的不太清楚会有什么样的结果,至于CCS5.5和XDS510 PLUS不要在意细节微笑,主要是找不打到原因。


6、编译成功未生成.out文件

问题:有几次编译成功后点小甲虫点不进去,显示C28xx: GEL: Encountered a problem loading file...而且旁边也没显示有error

方案:在左侧Console一般会有红色字体显示有错误,但在右侧Problems不会显示出来,一般修改了就可以编译出.out文件;还有一种是路径不对,这时需要修改对应路径一般是在Debug下。


7、C28xx: Error connecting to the target: (Error -171 @ 0x0) The wrong controller address value has been used. A controller cannot be detected even though the selected port does match the hardware configuration.

问题:有时进入调试时会出现这样的提示

方案:试了几次还是重启软件好事


8、进入Debug后graph变灰色

问题:如上

方案:找不到为什么啊,还是只能不停进入debug试,烦。


9、JVM heap low detected

问题:在调试程序时计算机右下角会跳出JVM heap low detected

方案:在网上查询时,一般是新建工程移植,或者修改一个栈文件,但是看出现这样的提示后也没发生什么,就直接忽略了。


10、碰到一个很奇怪的事

问题:在中断中加入asm(“RPT #7 NOP”)这条指令,在main函数里居然关不掉中断了。
 

11、CCS5中如何清除调试时的所有断点?

run里面可以remove all breakpoint.可以清除所有断点

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复