把调试程序的时候的一些错误提示和解决方法记录下来,有备无患
1.symbol referencing errors
undefined first referenced
symbol in file
--------- ----------------
_dot_asm E:\CCStudio_v3.1\MyProjects\dot_mpy_6211\Debug\main.obj
>> error: symbol referencing errors
----------------------------------------------------------------------------------------------------------------
提示找不到符号,一般是出现在用c调用汇编函数的时候,比较大的可能性是汇编程序里面的标号写错了(特别是前面少了一个下划线),或者是忘记将标号定义成全局的了(在文件开头用 ".global 标号"的形式可以定义)
不过我碰到另外一种情况,是由于存在同名的文件.
比如说我的工程里面,有dot.c和dot.asm两个文件,分别定义了dot_c和dot_asm两个函数,这个时候就会有其中一个函数提示找不到了,经过检查,原来CCS在编译的时候,会根据文件名(不含扩展名)生成同名的目标文件(扩展名为obj),而我前面的两个文件,文件名相同而扩展名不同,那么在编译的时候,就会有一个生成的目标文件被另外一个覆盖的问题(取决于编译的顺序).知道了原因就好解决了,只要这两个文件的文件名不要相同就好了.
==========================================================
2.弹出一个确认框,提示"TRDX target application does not match emulation protocol!Loaded program was created with an rtdx library which does not match the target device"
---------------------------------------------------------------------------------------------
错误原因是使用的是软件模拟(Simulator),不能模拟JTAG
解决方法:打开cdb文件,选择"Input/Output -> RTDX-Real-Time Data Exchange Settings"右键,然后选择"Properties",打开对话框,RTDX Mode的下拉列表中选择Simulator(默认值是JTAG,需要接仿真器才能用默认值)