dsp 编译错误与解决方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 simulatorwrites 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.
can't open file '/.obj' for input是什么原因引起的?
cmd文件中有不合法的符号比如 “//”等
1fatal error: #error NO CHIP DEFINED详细的出错信息:
"...." -g -q -fr"e:/project_documents/dsp_project/dsp_mp3/Debug" -d"_DEBUG" -@"Debug.lkf" ...c"
在其他文件中只要包含了global.h就会独立的解释,然后生成每个文件生成独立的标示符。在编译器连接时,就会将工程中所有的符号整合在一起,由于文件中有重名变量,于是就出现了重复定义的错误。
下面是解决方法
在global.c或.cpp)中声明变量然后建一个头文件global.h在所有的变量声明前加上extern ...如extern HANDLE ghEvent;注意这儿不要有变量的初始化语句。然后在其他需要使用全局变量的cpp文件中包含.h文件而不要包含.cpp文件。编译器会为global.cpp生成目标文件然后连接时 在使用全局变量的文件中就会连接到此文件。在其他文件中只要包含了global.h就会独立的解释,然后生成每个文件生成独立的标示符。在编译器连接时就会将工程中所有的符号整合在一起,由于文件中有重名变量,于是就出现了重复定义的错误。
main.cpp
#include "global.h"
WinMain(....)
...
}
file_1.cpp
#include "global.h"
....
file_2.cpp
#include "global.h"
...
由于工程中的每个文件都是独立的解释的即使头文件有
#ifndef _x_h
....
#enfif )
AGenerally this type of error means that the CCS sees this section of memory markedas 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 invalid memory). Take a look inside your DSK6713.gel 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 the DSK6713.gel 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 registers 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 the init6713sim.gel file in the same directory to add a
SPRAM: origin=0x0060H,解决书写格式错误
4WARNING: entry point other than _c_int00 specified
解决,在“TMS320C6000优化汇编手册”第五章“链接C/C++代
令人生厌的multiple definition of
我把所有的全局变量写在一个global.h里然后其他文件都include了它于是出现了multiple definition of .....编译器gcc )后来在网上搜到了很多类似的错误大家各有各的烦心事。我的代码结构
"...", line 141: fatal error: #error NO CHIP DEFINED 1 fatal error detected in the compilation of "...c".
在Build Options的compiler里设置"-d"CHIP_..""如果没有设置一下
2QI have started to study the book "Digital Signal Processing and Applicationswith 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.
\main.obj
>> error: symbol referencing errors
提示找不到符号,一般是出现在用c调用汇编函数的时候,比较大的可能性是汇编程序里面
的标号写错了(特别是前面少了一个下划线),或者是忘记将标号定义成全局的了(在文件开
头用".global标号"的形式可以定义)不过我碰到另外一种情况,是由于存在同名的文件.比如说我的工程里面,有dot.c和dot.asm两个文件,分别定义了dot_c和dot_asm两个函数,这个时候就会有其中一个函数提示找不到了,经过检查,原来CCS在编译的时候,会根据文件名(不含扩展名)生成同名的目标文件(扩展名为obj),而我前面的两个文件,文件名相同而扩展名不同,那么在编译的时候,就会有一个生成的目标文件被另外一个覆盖的问题(取决于编译的顺序).知道了原因就好解决了,只要这两个文件的文件名不要相同就好了.
3把调试程序的时候的一些错误提示和解决方法记录下来,有备无患
1.symbol referencing errors
undefined first referenced
symbol in file
--------- ----------------
_dot_asm E:\CCStudio_v3.1\MyProjects\dot_mpy_6211\Debug
dsp--ccs部分错误及解决
1,ERRORmultiple sections with name PAGE0
解决PAGE 0中间有个空格隔开。
2ERRORMEMORY specification ignored
解决书写格式错误
3ERROR:zero or missing length for memory area SPRAM
相关文档
最新文档