dsp--ccs部分错误及解决
1,ERROR multiple sections with name PAGE0
解决 PAGE 0 中间有个空格隔开。
2 ERROR MEMORY specification ignored
解决 书写格式错误
3 ERROR:zero or missing length for memory area SPRAM
  SPRAM: origin=0x0060H, 解决 书写格式错误
4 WARNING: entry point other than _c_int00 specified
解决,在“TMS320C6000优化汇编手册”第五章“链接C/C++代 
令人生厌的 multiple definition of 
编译器错误我把所有的全局变量写在一个global.h里 然后其他文件都include 了它 于是出现了 multiple  definition  of  ..... 编译器 gcc )  后来在网上搜到了很多类似的错误大家各有各的烦心事。我的代码结构
main.cpp
#include "global.h"
WinMain(....)
...
}
file_1.cpp
#include "global.h"
....
file_2.cpp
#include "global.h"
...
由于工程中的每个文件都是独立的解释的即使头文件有
#ifndef _x_h 
....
#enfif  )
在其他文件中只要包含了global.h 就会独立的解释,然后生成每个文件生成独立的标示符。在编译器连接时,就会将工程中所有的符号整合在一起,由于文件中有重名变量,于是就出现了重复定义的错误。
下面是解决方法
在global.c.cpp)  中声明变量 然后建一个头文件global.h 在所有的变量声明前加上extern ... 如 extern HANDLE ghEvent; 注意这儿不要有变量的初始化语句。然后在其他需要使用全局变量的 cpp文件中包含.h 文件而不要包含 .cpp 文件。编译器会为global.cpp 生成目标文件 然后连接时 在使用全局变量的文件中就会连接到此文件 。 在其他文件中只要包含了global.h 就会独立的解释,然后生成每个文件生成独立的标示符。在编译器连接时就会将工程中所有的符号整合在一起,由于文件中有重名变量,于是就出现了重复定义的错误。 
can't open file '/.obj' for input 是什么原因引起的? 
cmd文件中有不合法的符号 比如 “//”等
1 fatal error: #error NO CHIP DEFINED 详细的出错信息:
"...." -g -q -fr"e:/project_documents/dsp_project/dsp_mp3/Debug" -d"_DEBUG" -@"Debug.lkf" ...c"
"...", line 141: fatal error: #error NO CHIP DEFINED 1 fatal error detected in the compilation of "...c".
在Build Options 的compiler里设置"-d"CHIP_..""如果没有设置一下
2 Q I have started to study the book "Digital Signal Processing and Applications with the C6713 and C6416 DSK (by Rulph Chassaing, 2005)". I am working with a C6713DSK, using CCS 3.1. But when I try to run the first example (sine8_LED) in Rulph Chassaing's book on the C6713 Device Cycle Accurate Simulator, I get the following error messages: Trouble running Target CPU:  Memory Map Error: READ access by CPU to address 0x1b7c100, which is RESERVED in Hardware. Trouble running Target CPU:  Memory Map Error: WRITE access by Default to address 0x1b7c100, which is RESERVED in Hardware.
A Generally this type of error means that the CCS sees this section of memory marked as either Read-Only or RESERVED (Don't read or write). CCS can be passed a virtual memory map which is a safety net for the user. If you look inside your DSK's GEL file you will see a number of instruction calls for GEL_MapAdd() with six arguments inside. Two of these arguments denote a starting address range and the length of that range. These are used to notify CCS what memory is valid (and by extension, everything not mentioned is in
valid memory). Take a look inside l file (probably located in C:\CCStudio_v3.1\cc\gel) and find where the GEL_MapAdd() instructions are located. You should see something similar to the following: GEL_MapAdd(0x01b7c000, 0, 0x00000128, 1, 1); // PLL here 0x01b7c000 is the starting address and 0x00000128 is the length of 'valid' memory. Because 0x1b7c100 falls within this range, if your GEL file looks like this CCS should then allow accesses to this register. The GEL file may need to be updated so that the address of the PLLCSR register is included to the CCS Memory Map. I actually just noticed that the title of your post is "C6713 Device Cycle Accurate Simulator" but you mentioned using the DSK. Can you please clarify which you are using? If using the DSK, open l file found in C:\CCStudio_v3.1\cc\gel and locate the setup_memory_map() function. Inside this function you should see numerous calls to GEL_MapAdd(). One of these will look similar to the one I copied in my last post. Once you find the function call that starts with the address 0x01b7c000, find out the length of this range (which should be the third argument). If this length does not cover address 0x01b7c100, modify the range to something like 0x00000128 to ensure that all of the PLL r
egisters are included. If you are using the Cycle Accurate Simulator, I think this might be a limitation of the simulator software as it is run entirely on software as opposed to hardware. Well, you can modify l file in the same directory to add a
GEL_MapAdd() from my earlier post. With the original GEL file CCS thinks that this memory range is invalid (because the simulator does not support the PLL). This would get rid of the errors regarding accessing that memory space, but because the PLL is not supported on the simulator writes to this address will not work. I've seen the project you mentioned before, but I do not remember enough about it to know whether or not this would cause the application to fail. I think a bigger question here is why work on the simulator if you have a DSK handy? The code from that book is designed specifically to work on the DSK hardware, not on a CPU simulator.
3 把调试程序的时候的一些错误提示和解决方法记录下来,有备无患
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,需要接仿真器才能用默认值) 放在这里备用吧.  各位大侠小弟以前用的是cc2000 现在改用ccs2.2 但是在编译的时候报错说不能打开obj文件,我查了一下在指定的obj保存目录下根本就没生成obj文件,修改一下编译的路径 在编写DSP程序时遇到一个很奇怪的问题,我的程序在CCS4.1版本下运行正常 但在2.20版本中确总是出现以下编译问题can't open file E:\HNJN100.obj for input

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。