ccs33中建立-编译-调试工程及常见错误讲解
CCS编译错误和警告信息
C28x编译器错误和警告消息From Texas Instruments Wiki从德州仪器维基Jump to:跳转到:navigation导航,search搜索Translate this page to TranslateShow originalC28x Compiler Error and Warning MessagesC28x编译器错误和警告消息Contents内容[hide]∙11Introduction介绍∙22Possible Errors,Warnings and Remarks可能的错误、警告和言论∙33Common Errors and Warnings常见的错误和警告o 3.13.1Warning:build attribute vendor section TI missing in "<library or object>:compatibility cannot be determined警告:构建属性供应商部分TI失踪”<图书馆或对象>:兼容性不能确定o 3.23.2fatal error:file.....rts2800_fpu32.lib<boot.致命错误:文件.....rts2800_fpu32.lib<引导。
obj>"specifies ISArevision"C28FPU32",which is not compatible with ISArevision"C2800"specified in a previous file or on thecommand lineobj>“指定ISA修订“C28FPU32”,这不是兼容ISA修订“C2800”之前的文件中指定或在命令行上o 3.33.3Warning:entry-point symbol other than"_c_int00"specified:"code_start"警告:入口点符号除了“_c_int00”规定:“code_start”o 3.43.4Error:unresolved symbols remain....错误:未解决符号保持....o 3.53.5Error:Tag_ISA attribute value of"2"that is different than one previously seen("1");combiningincompatible files错误:Tag_ISA属性值的“2”是不同于一个以前见过(“1”);结合不兼容的文件o 3.63.6Error:Tag_Memory_Model attribute value of"1"that is different than one previously seen("2");combiningincompatible files错误:Tag_Memory_Model属性值“1”,是不同于一个以前见过(“2”);结合不兼容的文件o 3.73.7Error:placement fails for object"csmpasswds"错误:放置失败对象“csmpasswds”o 3.83.8Warning:function declared implicitly警告:数的隐式声明o 3.93.9Error:placement fails for object错误:放置失败的对象o 3.103.10Error:placement fails for object".text错误:对象放置失败”text。
ccs3.3中建立-编译-调试工程及常见错误讲解
Part1:ccs3.3中新建一个DM6437的示例工程1、连接好板子,将板子上仿真器的usb口插到电脑上,启动ccs后,ccs会去获取板子信息并在打开的文件目录中自动生成一个文件,如图所示:笔者使用的是6437的板子2、用file-new选择建立一个dsp/bios文件在打开的对话框中选择你使用的板子的型号,如下图:3、这个时候ccs为我们建立了一个bios文件,以图表显示,里面按照所选板子的类型添加相应的硬件和其他模块。
保存这个文件到工程目录下先,文件类型为tcf。
4、保存这个文件的同时,ccs按照bios中的配置在当前目录下自动生成了一个cmd文件。
此时将tcf文件和这个cmd文件同时添加到工程中,使用5、然后需要修改一个编译选项,点击下图所示选项进去:6、打开后在编译选项对话框总会看到一个命令行,其中最后一句是-mv6400,因为用的是6467的板子,所以这个选项要修改成-mv64+;否则编译会报错:编译选项不正确;但并非所有类型的板子都要改,这个只针对型号为64+的板子。
7、file-new-source file建立一个c源文件,保存并加入到工程中。
以下是示例程序:#include <std.h>#include <string.h>#include <stdio.h>Int main(Int argc, String argv[])//main函数的类型必须这样写{unsigned int i;unsigned int sum=0;for(i = 0; i<=100; i++ ){sum += i;}printf("the sum = %d .\n",sum);printf("the program run over!\n");printf("the program run over!\n");}注意:1)如果想要printf正确输出信息,需要添加对应平台的rts64plus.lib文件。
浅析C语言程序调试过程及编程常见错误
浅析C语言程序调试过程及编程常见错误C语言是一种广泛使用的程序设计语言,常用于开发系统软件和应用软件。
在编写C语言程序时,经常会出现一些错误和bug,因此调试是程序开发过程中不可或缺的一步。
本文将从浅析C语言程序调试过程及编程常见错误两个方面进行分析。
一、C语言程序调试过程1.编译程序:在进行调试前,首先需要将源代码编译成可执行文件。
编译过程中会进行词法分析、语法分析、语义分析等操作,同时会检查语法错误并生成目标代码。
2.设置断点:在需要调试的程序代码中,通过设置断点来指定程序的一些位置停止执行。
断点可以设置在任何地方,包括函数调用、循环语句等。
3.运行程序:运行调试器,加载编译得到的可执行文件,并运行程序。
当程序执行到设置的断点位置时,会自动暂停执行。
4. 调试程序:在暂停执行的位置,可以查看变量的值、执行堆栈信息、运行指令等。
通过观察这些信息,可以发现程序中的错误或bug。
5.单步执行:在调试过程中,可以选择单步执行程序。
单步执行可以按照一条指令一条指令地运行程序,并观察程序的执行情况。
这样可以更精确地找到问题所在。
6. 修改程序:当发现错误或bug时,需要对程序进行修改。
修改可以包括更改变量的值、调整算法逻辑等。
修改后需要重新编译并重新运行程序。
7. 重复调试:进行一次修改后,需要再次运行程序并进行调试。
在多次调试中,需要逐步修复所有的错误和bug,直到程序能够正常运行。
1.语法错误:语法错误是最常见的错误之一、例如忘记加分号、括号不匹配、变量未声明等。
这些错误在编译时会被检测到,并给出详细的错误提示。
2.逻辑错误:逻辑错误是程序中最难调试的错误之一、逻辑错误导致程序的行为和期望的不一致,但不会引发编译错误。
调试逻辑错误需要仔细检查算法和代码逻辑,并通过查看变量值等调试信息逐步找出错误所在。
3.数组越界错误:当访问数组时,需要确保不超出数组的范围。
如果越界访问数组,可能导致程序崩溃或产生不可预料的结果。
CCS3.3编译中常见错误解决(有备无患)
CCS3.3中常见问题解决(待续)(2013-05-22 18:05:59)转载▼问题1:用CCS3.3编译时出现“entry point other than _c_int00 specified”的错误的问题解决出现的错误如下:[Linking...] \"D:\\CCStudio_v3.1\\C2000\\cgtools\\bin\\cl2000\" -@\"Debug.lkf\">> warning: entry point other than _c_int00 specifiedBuild Complete,0 Errors, 1 Warnings, 0 Remarks.此错误在Autoinit Model:Project>Build Options…>Linker>Basic选择Run-Time Autoinitialization不变,只需把Code Entry Point:项的code_start 改为:c_int0问题2:用CCS3.3编译时出现“last line of file ends without a newline”的错误的问题解决出现的错误如下:"expFile.c", line 7: warning: last line of file ends without a newline[Linking...] "C:\CCStudio_v3.3\C2000\cgtools\bin\cl2000" -@"Debug.lkf"Build Complete,0 Errors, 1 Warnings, 0 Remarks.此错误在程序.C代码的最后一行打几个回车问题3:用CCS3.3编译时出现“linking files with incompatible memory models (*\\rts2800.lib', member'args_main.obj')”的错误的问题解决出现的错误如下:>> error: linking files with incompatible memory models (library 'C:\\CCStudio_v3.3\\C2000\\cgtools\\lib\\rts2800.lib', member 'args_main.obj')>> Compilation failureBuild Complete,n Errors, 0 Warnings, 0 Remarks.此错误将库文件rts2800.lib移除(右击rts2800.lib>Remove from projet),然后添加rts2800_ml.lib库(右击Libraries>Add Files to project...>CCstdio_v3.3\C2000\cgtools\librts2800_ml.lib)。
ccs3.3 错误总结
1. 提示错误:Trouble Setting Breakpoint with the Action "Halt Target" at 0x3ec3bf: Error 0x0000000A/-2140 Error during: Memory, Break Point, Cannot access memory address at 0x00000800 Sequence ID: 7 Error Code: -2140 Error Class: 0x0000000A设置硬件断点的方法:debug---breakpoints 在弹出的对话框中在breakpoint 下拉框中选H/W break/////但是必须要有硬件,我试过了,没有硬件的情况下是没有的,没有联上硬件的情况下是不能选择的如果第一次能够启动CCS,但接下来得到CCS不能初始化目标系统DSP的出错信息则可选择Debug→Reset DSP菜单项。
若还不能解决上述问题,你可能需要运行你的目标板所提供的复位程序。
我的工程在CCS3.3版本下不能设置断点,在CCS2.2版本下可以设置断点,是什么原因?我用合众达的XDS100仿真器和CCS3.3软件,可以给F2808的板子下载程序,但是不能设置断点。
相同的程序在CCS2.2版本下可以设置断点。
请问是怎么回事?答:在ccs3.3环境下,程序在FLASH中调试。
不能设置断点。
因为系统默认会设置两个断点。
这样在程序段中就不能设置断点了。
通过设置,CCS3.3中的选中Option中的Customize。
接着选中Program/Project/CIO,子菜单中勾选Do Not Set CIO Breakpoint AT……和Do Not Set End of Program Brea kpoint AT……。
点击确定即可。
即可在flash中调试设置两个断点了。
2 error: system error, can't open file'E:\DSP\DSP\sprc100\DSP281x_examples\kalman-zhangna01\Debug\kalman_na .obj' for input: No such file or directory。
CCS编译错误和警告信息
C28x编译器错误和警告消息From Texas Instruments Wiki从德州仪器维基Jump to:跳转到:navigation导航,search搜索Translate this page to TranslateShow originalC28x Compiler Error and Warning MessagesC28x编译器错误和警告消息Contents内容[hide]∙11Introduction介绍∙22Possible Errors,Warnings and Remarks可能的错误、警告和言论∙33Common Errors and Warnings常见的错误和警告o 3.13.1Warning:build attribute vendor section TI missing in "<library or object>:compatibility cannot be determined警告:构建属性供应商部分TI失踪”<图书馆或对象>:兼容性不能确定o 3.23.2fatal error:file.....rts2800_fpu32.lib<boot.致命错误:文件.....rts2800_fpu32.lib<引导。
obj>"specifies ISArevision"C28FPU32",which is not compatible with ISArevision"C2800"specified in a previous file or on thecommand lineobj>“指定ISA修订“C28FPU32”,这不是兼容ISA修订“C2800”之前的文件中指定或在命令行上o 3.33.3Warning:entry-point symbol other than"_c_int00"specified:"code_start"警告:入口点符号除了“_c_int00”规定:“code_start”o 3.43.4Error:unresolved symbols remain....错误:未解决符号保持....o 3.53.5Error:Tag_ISA attribute value of"2"that is different than one previously seen("1");combiningincompatible files错误:Tag_ISA属性值的“2”是不同于一个以前见过(“1”);结合不兼容的文件o 3.63.6Error:Tag_Memory_Model attribute value of"1"that is different than one previously seen("2");combiningincompatible files错误:Tag_Memory_Model属性值“1”,是不同于一个以前见过(“2”);结合不兼容的文件o 3.73.7Error:placement fails for object"csmpasswds"错误:放置失败对象“csmpasswds”o 3.83.8Warning:function declared implicitly警告:数的隐式声明o 3.93.9Error:placement fails for object错误:放置失败的对象o 3.103.10Error:placement fails for object".text错误:对象放置失败”text。
ccs33中建立-编译-调试工程及常见错误讲解
Part1:ccs3.3中新建一个DM6437的示例工程1、连接好板子,将板子上仿真器的usb口插到电脑上,启动ccs后,ccs会去获取板子信息并在打开的文件目录中自动生成一个文件,如图所示:笔者使用的是6437的板子2、用file-new选择建立一个dsp/bios文件在打开的对话框中选择你使用的板子的型号,如下图:3、这个时候ccs为我们建立了一个bios文件,以图表显示,里面按照所选板子的类型添加相应的硬件和其他模块。
保存这个文件到工程目录下先,文件类型为tcf。
4、保存这个文件的同时,ccs按照bios中的配置在当前目录下自动生成了一个cmd文件。
此时将tcf文件和这个cmd文件同时添加到工程中,使用5、然后需要修改一个编译选项,点击下图所示选项进去:6、打开后在编译选项对话框总会看到一个命令行,其中最后一句是-mv6400,因为用的是6467的板子,所以这个选项要修改成 -mv64+;否则编译会报错:编译选项不正确;但并非所有类型的板子都要改,这个只针对型号为64+的板子。
7、file-new-source file建立一个c源文件,保存并加入到工程中。
以下是示例程序:#include <std.h>#include <string.h>#include <stdio.h>Int main(Int argc, String argv[])//main函数的类型必须这样写{unsigned int i;unsigned int sum=0;for(i = 0; i<=100; i++ ){sum += i;}printf("the sum = %d .\n",sum);printf("the program run over!\n");printf("the program run over!\n");}注意:1)如果想要printf正确输出信息,需要添加对应平台的rts64plus.lib文件。
ccs导入工程步骤以及编译报错解决方法
ccs导入工程步骤以及编译报错解决方法如何进行CCS导入工程以及解决编译报错在进行嵌入式软件开发时,使用一个高效的集成开发环境(IDE)是至关重要的。
而针对德州仪器(Texas Instruments)公司的系列DSP和微控制器的软件开发,Code Composer Studio(CCS)是一个很受欢迎的选择。
在本文中,我们将探讨CCS导入工程的步骤,以及在编译过程中可能遇到的一些常见报错的解决方法。
为了顺利使用CCS进行软件开发,首先需要正确导入我们的工程。
下面列出了CCS导入工程的步骤:1. 打开CCS IDE,并选择“File”->“Import”。
2. 在弹出的对话框中,选择“Code Composer Studio”->“CCS Project”。
3. 点击“Next”按钮,并浏览到我们的工程文件所在的目录。
4. 选择工程文件,并点击“Finish”按钮。
5. CCS将会自动导入我们的工程,并生成相应的项目文件和目录结构。
在成功导入工程后,我们可以进行编译和调试。
然而,由于项目的复杂性和软件开发的特殊性,我们在编译过程中很有可能会遇到一些常见的报错。
下面是一些常见报错及解决方法:1. “Error: undefined reference to XXX”这个错误通常意味着我们在代码中引用了一个未定义的符号或函数。
解决方法是检查代码中是否正确包含了相应的头文件,并在代码中正确地定义了所需的符号或函数。
2. “Error: could not open source file XXX”当编译器无法找到所需的源文件时,这个错误会出现。
解决方法是确保源文件存在于正确的目录,并且在我们的工程中正确地指定了源文件的路径和名称。
3. “Error: conflicting types for XXX”这个错误意味着我们在不同的地方对同一个标识符进行了不一致的声明或定义。
解决方法是检查代码中对该标识符的所有声明和定义,并确保它们是一致的。
CCS工程文件的建立与调试
CCS⼯程⽂件的建⽴与调试⼆、向⼯程添加⽂件(1)选择菜单“Project”的“Add Files to Project…”项;在“Add Files to Project”对话框中选择⽂件⽬录为c:\ti\myprojects\volume,选择显⽰出来的⽂件“volume.c”并点击“打开”按钮。
(2)选择菜单“Project”的“Add Files to Project…”项,在⽂件类型框中选择“Asm Source Files (*.a*;*.s*)”,选择显⽰出来的⽂件“vectors.asm”与“load.asm”,并点击“打开”按钮。
Vectors.asm⽂件包含了设置跳转到该程序的C⼊⼝点的RESET 中断(c_int00)所需的汇编指令。
(对于更复杂的程序,可在vector.asm⽂件定义附加的中断向量。
)(3)选择菜单“Project”的“Add Files to Project…”项,在⽂件类型框中选择“Linker Command File (*.cmd;*.lcf)”,选择显⽰出来的⽂件“volume.cmd”并点击“打开”按钮。
volume.cmd⽂件包含程序段到存储器的映射。
(4)选择菜单“Project”的“Add Files to Project…”项,进⼊编译库⽂件夹(C:\ti\c2000\cgtools\lib)。
在⽂件类型框中选择“Object and Library Files (*.o*;*.l*)”,选择显⽰出来的⽂件“rts2800_ml.lib”并点击“打开”按钮。
该库⽂件对⽬标系统DSP提供运⾏⽀持。
(5)点击紧挨着Project、volume.pjt、Libraries和Source旁边的符号+展开Project 表,它称之为“⼯程管理窗⼝(Project View)”,如下图所⽰三、查看源代码在Project View窗⼝中双击volume.c⽂件,源程序就显⽰在CCS窗⼝的右边。
CCS软件使用时错误要点及解决方法
CCS 软件使用时错误要点及解决方法CCS 软件使用经验四则1.使用CCS3.3 编译TI 的28335,产生如下警告:warning: entry-point symbol other than _c_int00 specified: code_start一种解决方法,不用管它,因为C 入口地址最终是由用户的CMD 文件覆盖的,警告不影响使用。
二是,在编译选项里面link 标签页,把Code Entry Point(-e)编辑框里面的code_start 删除,就不会产生该警告了。
2.使用CCS4 编译28335 例子程序,错误如下:This project was created using a version of Code GeneraTIon tools that is notcurrently installed: 5.2.1 [C2000]. Please install the Code GeneraTIon tools of thisversion, or migrate the project to one of the supported versions.解决方法:右击项目,打开属性对话框,选CCS BUILD 标签,在Code GeneraTIon tools 栏目里面选中TI V6.0.1 即可.3.使用CCS4 编译28335 例子程序,错误如下:CCS4 No rule to make target `clean'.解决方法:右击项目,打开属性对话框,选Info 标签,Text file encodingother,选中UTF-8,问题解决,然后,再改为原来的Text file encodingInherited from container(GKB),仍可以正确编译4.使用CCS3.3 编译28335,错误如下:can't find input file 'rts2800_fpu32.lib'解决办法:在ccs 的component manager 里边选择Code Composer Studio->build tools->tms320c28xx->选中Texas Instrument C2000 Code generation tools 保存设置退出,重新编译,上面的问题(WARNING: invalid compiler option -- float_support=fpu32 (ignored) 和error:can't find input file'rts2800_fpu32.lib')就不会出现了。
CCS调试常见报错资料
1."D:/Program Files/CCS/C5500/csl/include/csl_chiphal.h", line 201: fatal error: #error NO CHIP DEFINED ?芯片型号没有确定解决方法:Build option> complier> 添加:-d"CHIP_5509" –ml2. Error: W ARNING: PAGE BOUNDARY CROSSING DETECTED AT PROGRAM COUNTER 0x1797 ?3. undefined first referencedsymbol in file--------- ----------------__mpyd D:\\cs\\PROJECT\\DSP\\5509\\ok\\sinewave\\Debug\\sine.obj_sin D:\\cs\\PROJECT\\DSP\\5509\\ok\\sinewave\\Debug\\sine.obj_puts D:\\cs\\PROJECT\\DSP\\5509\\ok\\sinewave\\Debug\\sine.obj__divd D:\\cs\\PROJECT\\DSP\\5509\\ok\\sinewave\\Debug\\sine.obj__fltid D:\\cs\\PROJECT\\DSP\\5509\\ok\\sinewave\\Debug\\sine.obj>> error: symbol referencing errors - './Debug/sinewave.out' not built ?解决方法:变量为定义。
添加运行时库rts55.lib4."main.c", line 12: fatal error: could not open source file "evmdm6437.h" ?当工程转移时,有的.h 或者.c文件的路径变了,编译时报错。
CCS调试程序时遇到的一些问题
CCS调试程序时遇到的一些问题2010年11月03日星期三 01:00 A.M.1.warning: entry point symbol _c_int00 undefined使用C写DSP时,在rts.lib库中定义了入口地址:_c_int00而使用汇编语言编程,就不用包括rts.lib库,所以入口地址及其标号可以由人工指定。
而使用C时,就不同了,必须从rts.lib定义的这个入口_c_int00入口,是约定的。
The –c and cr options cause the linker to use linking conventions that are required by the C compiler.”其实在汇编语句中也可以不用_c_int00来定义程序入口,只要把编译器选项 -c去掉,用-e 选项来定义你想要的程序入口地址。
这个可在CMD文件里加-c。
这个错误是没有加库文件,你可以project view 右键加入,也可以在project->build options->Linker->libraries中加入..\..\lib\cls\lib\(搜索路径)还要加上库名cslDM642.lib;rts6400.lib分号隔开。
2.Error: Illegal opcode at pc = 0×00000190我第一次遇到这种错误,因为B跳转(分支)指令要有五个周期的延时,所以加上NOP 5就好了。
b .s2 b3;NOP 53. error: can’t allocate .text, size 00006e40 (page 0) in LP (avail: 00001000) >> error: errors in input – ./Debug/mytest2.out not built这种情况是你的CMD文件中分配的存储空间太小了,LP: origin = 0×0,len = 0×1000改成LP: origin = 0×0,len = 0×10000就可以可。
DSP_CCS3.3初学调试问题汇总(免费)
DSP CCS初学调试问题汇总1.DSP/BIOS应用程序调试在CCS2.0 的emulator写dsp/bios 的程序,编译链接无错误,而点击LOAD Program下载xxx.out完成时弹出如下对话框:RTDX target application does not match emulation protocol!Loaded program was created with an rtdx library which does not match the target device这将导致RTDX(实时数据交换)不能使用分析:RTXD可以在DSP/BIOS中使用,也可以脱离DSP/BIOS使用;目前CCS Simulator不支持RTDX,故RTDX必须在Emulator下使用,即还需要硬件仿真器和DSP目标板。
故这是由于下载BIOS/DSP程序时RTDX设置错误导致的;问题解决如下:把DSP/BIOS配置窗口中的input/output-->RTDX -real-Time Exchange settings的RTDX mode 改为JTAG(原来是simulator),重新编译后LOAD,上述警告消除,可以在模拟的情况下进行BIOS调试了。
PS:虽然simulator能编译运行DSP/BIOS程序,并能提供实时查询程序运行情况(主要是CPU负荷,时序,日志以及线程等)。
但实际开发DSP/BIOS应用程序时为了真实的了解目标板的各种信息,仅有Simulator(软件仿真器)是不行的,还需要使用Emulator(硬件仿真器)和DSP/BIOS插件(安装时已装入)。
2.RTDX应用程序调试RTDX测试DSP Target传输数据到PC机:a)创建工程,编辑源代码(.c/。
asm),加入头文件(.h),库文件(.lib)以及链接命令文件(.cmd)b)添加修改具有实时数据传输的RTDX语句包括:#include <rtdx.h>; RTDX头文件(rtdx.h)RTDX_CreateOutputChannel( ochan ); 定义一个全局的PC机数据输出通道,通道名可以任取TARGET——INITIALIZE();初始化DSP目标系统;RTDX_enableOutput( &ochan ); 使能输出通道写数据;status=RTDX_write( &ochan,&data,sizeof(data) ); 传送数据至PC;RTDX_disableOutput( &ochan ); 禁止输出通道传输数据。
建立ccs3.3工程
CCS3.3工程创建过程首次建立带有BIOS的CCS3.3的工程之前应该先配置一下XDC工具链,实际上就是要让这条工具链写入到系统的注册表中间去,下面是整个工具链的配置过程:1.运行windows命令行工具。
2. 进入到XDC工具目录(cd为change driver改变路径)3.运行命令:cd packages\xdc\tools\configuro\ccs4.运行命令regsvr32 btiXdc5.如果成功的话,会弹出一个对话框出来:这样XDC工具链就在系统中注册好了,接下来就可以建立整个工程了,步骤如下:1.首先建立一个工程,打开CCS3.3->Project->New出现下面的对话框,填写好工程名字,选择好工程放置的路径,点击finish就创建好了一个空的工程。
2.添加*.cfg配置文件,并加入到工程中,*.cfg要和工程名字保持一致。
可以从其他工程中拷贝,修改名字加入到工程中即可。
本工程.cfg文件的内容为:/* ======== video_preview.cfg ========*//* USE PAL_SYS */xdc.loadPackage('ti.sdo.pspdrivers.pal_sys.dm648');/* USE Vport Driver */xdc.loadPackage('ti.sdo.pspdrivers.drivers.vport');/* USE VportEdc Driver */xdc.loadPackage('ti.sdo.pspdrivers.system.dm648.bios.evmDM648.video');/* USE EDMA3 Sample App */xdc.loadPackage('ti.sdo.edma3.drv.sample');3.建立一个main.c文件,加入空main函数:void main(){}4.加入xdpaths.dat文件,包含dvsdk的各种文件路径,从其他工程中拷贝过来添加到工程中即可。
CCS3.3操作说明书
CCS3.3操作过程说明1.仿真设置1.1启动仿真设置软件。
从开始菜单启动“Setup CCStudio v3.3”。
图一所示;图一1.2硬件仿真设置(使用硬件仿真器在目标板上仿真时,才能选择硬件仿真)在“Platform”中选择硬件仿真器的型号。
这里选择“TDS510USB emulator”仿真器。
同时在“Available Factory Boards”中选择目标芯片的型号,这里选择“F2812”。
图二所示。
点击“Save & Quit”,保存并退出,系统自动“CCStudio v3.3”软件。
图三所示。
图三2打开、创建工程2.1打开工程在菜单“Project”中选择“Open”, 图四所示。
图四在弹出的对话框中选择扩展名为.pjt的项目工程文件。
点击“打开”。
项目文件全部加载到软件中。
图五所示。
5图五2.2创建工程项目在菜单“Project”中选择“New”, 图六所示。
在弹出的对话框中(“Project”)填写项目名称,点击“Finish”,完成项目工程创建。
图七所示。
图六7图七2.3 创建文件在“file”文件菜单中选择新建,软件自动弹出新的文件编辑框,在文件编辑框中输入要编写的软件程序。
点击“保存”,弹出文件设置对话框,选择保存到工程项目的根目录下,输入文件名和扩展名。
并保存文件。
图八所示。
完成后如图九所示。
9图九2.4 添加.cmd编译连接命令文件选择工程项目的“Source”,点击鼠标右键,图十所示。
软件弹出对话框,图十一所示。
1011图十一12在文件类型中选择“.cmd”类型文件,选择“F2812_EzDSP_RAM_lnk.cmd”(在内存中调试,当生成烧写文件时选择“F2812.cmd”)、“DSP281x_Headers_nonBIOS.cmd”(不使用BIOS)。
图十二、十三所示。
图十二13图十三2.5 添加启动代码文件在“Source”添加“DSP281x_CodeStartBranch.asm”文件。
ccs导入工程步骤以及编译报错解决方法
标题:深度解析CCS导入工程步骤及编译报错解决方法在软件开发领域,CCS(Code Composer Studio)是一款非常重要的集成开发环境,常用于嵌入式系统的软件开发。
在本文中,我们将深入探讨CCS导入工程的步骤,并针对可能出现的编译报错,提供解决方法。
通过本文的阅读,读者可以更全面、深刻地理解CCS的使用方式,对软件开发也会有更深入的了解。
一、CCS导入工程步骤1.下载CCS软件并进行安装需要从TI官网下载最新版本的CCS软件,并按照官方指引进行安装。
安装完成后,打开CCS软件,我们可以开始导入工程了。
2.导入工程文件在CCS软件界面中,选择“File”->“Import”,然后选择“CCS Project”进行导入。
在弹出的窗口中,选择工程文件所在的路径,然后点击“Finish”按钮即可成功导入工程。
3.配置工程属性在导入工程后,需要根据具体的硬件评台和编译器配置工程属性。
选择合适的目标芯片型号、编译器版本、调试器类型等。
这些属性的设置需要根据实际情况进行调整,以确保后续的编译和调试顺利进行。
4.检查工程文件结构在导入工程后,需要仔细检查工程文件的结构,包括源文件、头文件、库文件等是否正确导入。
有时候在导入工程时,可能会出现一些文件漏导致编译报错,因此及时检查并修复这些问题非常重要。
二、编译报错解决方法在进行CCS工程编译时,可能会出现各种报错信息。
以下是常见的编译报错及相应的解决方法:1.error: #20: identifier “xxx” is undefined这种报错通常是由于未包含对应的头文件引起的。
解决方法是确认相关头文件是否正确导入,并在源文件中正确引用。
2.error: #10234-D: unrecognized pragma这种报错通常是由于编译器不支持或不识别的编译指令引起的。
解决方法是查阅编译器手册,确认该编译指令的使用方法是否正确。
3.error: #10099-D: program will not fit intoavailable memory …这种报错通常是由于代码大小超出了目标芯片的可用空间引起的。
使用CCS3.3 建立第一个工程时的设置及include问题
在ccs3.3里边建立自己的第一个工程心得分享:
上图是建立好的工程目录,新建四个目录,Debug,include,lib,src目录,把头文件.h添加include里,将库文件添加进lib里,将源文件.c添加进src 里,接下来开始设置ccs3.3;
进入ccs中,将.c文件、lib文件和cmd文件分别添加进相应的目录里边,记住不要添加.h进include里边;
问题:在使用CCS3.3时,添加的头文件包含在Document里,怎么加到includ e里?
已经加载到Documents里的头文件,是由于你手动加载造成的,其实头文件不需要手动加载,在编译时,所有源文件中包含的头文件都会自动加载到Include中。
要想将Documents 中的头文件重新加载到Include中,方法:找到工程中的头文件,将其头文件名重命名一下,包含其头文件的源文件也要修改成包含重命名后的头文件,最后重新加载工程到CCS中,此时将提示你可以移除原来加载到Documents中的头文件。
经过上边的步骤即可以建立自己的工程了,根据自己的需要新建自己的.c和.h文件。
CCS使用和调试实验解析
3
北京交通大学 国家工科电工电子教学基地
DSP应用技术
查看源程序代码
volume.c 简介: 主程序打印一个信息,然后进入无限循环。 在这个循环中,调用dataIO和进程函数。
在输入缓冲区中,处理函数将每个值乘以增益,并将结果放到 输出缓冲区。它也调用汇编加载过程,此过程消耗基于将 processingLoad值传递到过程的指令周期。 例子中的dataIO函数不作任何处理,仅仅返回。除了使用C代码 执行I/O,我们将使用CCS中的探针Probe Point,读取主机的文件中 数据到 inp_buffer区域。
5
北京交通大学 国家工科电工电子教学基地
DSP应用技术
4.选择View/Mixed Source/ASM. 这样可以同时查看C源程序和产生的汇编代码。 或指令所传递的区域),单击F1,CCS可以寻找此指令的帮助。 这是学习指令的很好的方法。 6.选择Debug/Go Main。 7.选择Debug/Run或单击 从主程序开始执行。 (Run)按钮。
7
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.2 更改程序编译选择,查找语法错误
8
北京交通大学 国家工科电工电子教学基地
DSP应用技术
编译选项(build option)的常用设置
要对工程进行正确的编译连接,必须对build option进行正
确的设置。单击菜单Project下Build Option选项,出现编译选
实验2 CCS使用和调试实验
一、实验目的
1.掌握利用CCS建立工程、编译与调试代码的基本过程; 2.掌握基本调试技术: 如观察窗、图形(断点)、文件I/O(探针)、剖析等;
1
ccs编译错误
1、报错如下:-------------------------tam2012112701.pjt-Debug-------------------------[Linking...]"C:\CCStudio_v3.3\C2000\cgtools\bin\cl2000"-@"Debug.lkf"<Linking>>>28335_RAM_lnk.cmd:error:system error,can't open file'/.obj'for input:No such file or directory>>Compilation failureBuild Complete,2Errors,0Warnings,0Remarks.解决方法是修改了CMD文件,看来它的确不能动,我只是做了一些注释,网上说CMD里面不能用"//"注释。
2、报错"tam2012112801.c",line59:warning:last line of file ends without a newline解决最后一行后多加几个回车键,不要不光标放在最后一行。
3、Include Search PathC:\CCStudio_v3.3\MyProjects\DSP2833x_common\include;C:\CCStudio_v3.3\MyProjects\DSP2 833x_headers\include4、注意添加rts2800_fpu32.lib和GlobalVariableDefs.c\5、那应该找到原因了,ADC_cal这个函数是默认在ROM里的,看下面的CMD: /*Allocate ADC_cal function(pre-programmed by factory into TI reserved memory)*/.adc_cal:load=ADC_CAL,PAGE=0,TYPE=NOLOAD6、"DSP2833x_PieVect.c",line20:error:identifier"PIE_RESERVED"is undefined"DSP2833x_PieVect.c",line36:error:identifier"INT13_ISR"is undefined"DSP2833x_PieVect.c",line37:error:identifier"INT14_ISR"is undefined原因是我没有加DSP281x_DefaultIsr.h所以不行的。
CCS调试DSP常见错误及解决方法-文档资料
实验常见错误及解决方法1、启动CCS时出现如下错误:错误原因:以前在CCS setup里设置当前使用的平台为sdgo2xx(硬件仿真),或者同时设置为sdgo2xx 与c2xx simulator,所以进行软件仿真时应设置当前正在使用的为c2xx simulator。
解决方法有两种:方法1:点击“终止”,然后重新设置CCS setup,将sdgo2xx移除。
方法2:点击“忽略”,然后在“Parallel Debug Manager”中Open菜单下选择c2xx simulator 2、编译连接时出现如下错误:错误原因是:文件命名、文件夹命名或保存位置不正确。
文件命名:不能以数字开头(包括mak文件的名字)文件夹命名:不能为中文保存位置:项目文件(mak文件)存储的位置一定要与其它文件(C文件、asm文件、h文件、cmd文件、等)放在同一目录下,且最好放在“x:\tic2xx\myprojects”目录下。
3、编译连接时出现如下错误提示:warning: entry point symbol _C_int0 undefined错误原因:用C语言开发的DSP程序在向工程文件添加文件时没有添加运行支持库文件rts2xx.lib注意rts2xx.lib的路径:在C:\tic2000\c2000\cgtools\lib目录下4、CCS与CCS setup均不能启动,提示:不能正确初始化程序或者CCS运行到某个地方后(例如编译连接后)不能停止,观察任务管理器,发现cc_app.exe占用CPU为100%,即CCS已经死了。
错误原因:CCS被病毒感染或破坏,或者多个版本CCS共存,相互干扰。
解决方法:方法1:重新启动电脑方法2:用运行正确的cc_app.exe程序替换被破坏的cc_app.exe程序。
5、编译连接通过,加载程序后,在运行时出现如下错误提示:错误可能原因:第一种可能:没有加载CMD文件第二种可能:CMD文件已加载,但CMD文件编写有问题,存储器配置、定位不正确第三种可能:用C语言编写的DSP程序,C初始化设置错误,已修改C Initialization 设置,方法:Project ——> Option——> Linker6、探测点设置不成功注意:①在设置探测点时应先加载程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Part1:ccs3.3中新建一个DM6437的示例工程1、连接好板子,将板子上仿真器的usb口插到电脑上,启动ccs后,ccs会去获取板子信息并在打开的文件目录中自动生成一个文件,如图所示:笔者使用的是6437的板子2、用file-new选择建立一个dsp/bios文件在打开的对话框中选择你使用的板子的型号,如下图:3、这个时候ccs为我们建立了一个bios文件,以图表显示,里面按照所选板子的类型添加相应的硬件和其他模块。
保存这个文件到工程目录下先,文件类型为tcf。
4、保存这个文件的同时,ccs按照bios中的配置在当前目录下自动生成了一个cmd文件。
此时将tcf文件和这个cmd文件同时添加到工程中,使用5、然后需要修改一个编译选项,点击下图所示选项进去:6、打开后在编译选项对话框总会看到一个命令行,其中最后一句是-mv6400,因为用的是6467的板子,所以这个选项要修改成 -mv64+;否则编译会报错:编译选项不正确;但并非所有类型的板子都要改,这个只针对型号为64+的板子。
7、file-new-source file建立一个c源文件,保存并加入到工程中。
以下是示例程序:#include <std.h>#include <string.h>#include <stdio.h>Int main(Int argc, String argv[])//main函数的类型必须这样写{unsigned int i;unsigned int sum=0;for(i = 0; i<=100; i++ ){sum += i;}printf("the sum = %d .\n",sum);printf("the program run over!\n");printf("the program run over!\n");}注意:1)如果想要printf正确输出信息,需要添加对应平台的rts64plus.lib文件。
这里是64+平台所以是在C:\CCStudio_v3.3\C6000\cgtools\lib目录下的rts64plus.lib文件,否则ccs会提示如下警告和错误:>> warning: entry point symbol _c_int00 undefinedundefined first referencedsymbol in file--------- ----------------_printfE:\\WorkContent\\projectExample\\Test\\Debug\\test.obj>> error: symbol referencing errors - './Debug/Test.out' not built2)如果想要printf正确输出信息,cmd文件中必须指定heap的大小,即cmd文件这样写:-c-stack 0x00001000 /* Stack Size */-heap 0x00001000 /* Heap Size *///前面这三项必不可少MEMORY{L2RAM: o = 0x10800000 l = 0x00020000DDR2: o = 0x80000000 l = 0x10000000}SECTIONS{.bss > L2RAM.cinit > L2RAM.cio > L2RAM.const > L2RAM.data > L2RAM.far > L2RAM.stack > L2RAM.switch > L2RAM.sysmem > L2RAM.text > L2RAM.ddr2 > DDR2}另外,我在使用dsp/bios自动生成的cmd文件进行编译的时候,不会报错误或警告,但是printf就是不能输出任何东西,后来解决了,具体解决方法见后面的:“ccs编译中常见的编译错误及解决方法”的第4部分8、compile-rebuild all;无错误提示。
此时项目就建立并编译好了。
下面就要把程序加载到板子上运行了。
9、首先要先连接板子,点击debug->connect10、如果连接成功,会看到下面的效果:未连接时:连接成功后:连接成功的同时,ccs会打开一二Disassembly窗口,如下图:11、加载程序吧,程序编译后,会在当前目录的Debug目录下生成一个*.out的文件,此例中的文件是“6467EXAM.out”;通过file->load Program加载这个文件加载后,Disassembly窗口中会有所变化,如下图:12、Debug->Run去吧提示:1 Ccs的项目不支持创建在中文目录下。
2 项目移动到其他文件夹下面时,需要修改*.pjt中的[Project Settings]ProjectDir="E:\WorkContent\projectExample\6467EXAM"到新的目录。
很简单的一个例子。
希望能帮助入门的朋友。
Part2:ccs中工程的创建-改变工程目录时注意的细节以6437为例:1、在安装目录下,打开如下路径下的示例工程:video_loopbackC:\CCStudio_v3.3\boards\evmdm6437_v2\tests\video_loopbackOk,如果板子没问题,肯定能编译成功的。
2、有时候我们需要搬移自己的工程到别的目录或别的机器上去,此处,将这个工程拷贝到F盘中去,再重新打开,编译,你会发现此时提示以下错误:"main.c", line 12: fatal error: could not open source file "evmdm6437.h""tvp5146.h", line 12: fatal error: could not open source file "evmdm6437_i2c.h""video_loopback_test.c", line 12: fatal error: could not open source file "evmdm6437_dip.h"找不到对应的头文件了??并且你在工程中也打不开这几个文件,打开时会提示:3、看来ccs在找这些个头文件时,没有从工程中获取正确的路径信息,打开项目文件,此处是:video_loopback.pjt,会发下以下几行:["Compiler" Settings: "Debug"]Options=-g -q -fr".\Debug\" -i"..\..\include\" -d"_DEBUG" -mv6400+["Compiler" Settings: "Release"]Options=-q -o3 -fr".\Release\" -i"..\..\include\" -mv6400+看意思是说,包含的头文件的路径是在..\..\include\目录下面;如果这个项目在原来默认的目录下,那么是正确的。
因为的确能看到所谓的include文件夹,他们就是在ti默认安装目录下面的。
但是由于我们改变了项目的路径,那么这些个目录肯定是不对的,所以ccs无法找到这些个文件了。
4、那是不是修改过来就好了。
答案是肯定的也是否定的,如果我们找到这个include目录,并写到pjt文件中,如下所示:["Compiler" Settings: "Release"]Options=-q -o3 -fr".\Release\"-i"C:\CCStudio_v3.3\boards\evmdm6437_v2\include\" -mv6400+那么肯定是可以的。
但是如果我们拷贝到别的机器上,而别的机器上的开发板驱动或ccs的安装路径和我们不一样的话呢?难道重新再找一遍再写一遍??5、可能你已经想到了,使用相对路径,那么我们先看看ccs都在我们环境里面注册了那些环境变量:5.1、打开cmd,切换到c盘。
然后输入以下命令:set>a.txtSet命令是查看系统中注册的环境变量的。
>操作符是用来重定向用的,可以将查询到的结构重定向到一个txt文件中。
所以上面的命令是那么写的。
5.2打开a.txt.会看到一堆的环境变量。
其中有这么几个是ccs相关的:BIOSDVSDK_INSTALL_DIR=C:\dvsdk_1_01_00_15BIOSUTILS_INSTALL_DIR=C:\dvsdk_1_01_00_15\biosutils_1_00_02BIOS_INSTALL_DIR=C:/CCStudio_v3.3/bios_5_31_07BSL_EVMDM6437_INSTALLDIR=C:\CCStudio_v3.3\boards\evmdm6437_v25.3第四个就是我们想要的目录了。
那么现在修改pjt文件中的那两行内容为:["Compiler" Settings: "Debug"]Options=-g -q -fr".\Debug\" -i"%BSL_EVMDM6437_INSTALLDIR%/include"-d"_DEBUG" -mv6400+["Compiler" Settings: "Release"]Options=-q -o3 -fr".\Release\"-i"%BSL_EVMDM6437_INSTALLDIR%/include" -mv6400+5.4编译,连接成功。
并且再也不怕移来移去了。
5.5注意:有时候可能还有一个地方需要该:[Project Settings]ProjectDir="E:\WorkContent\projectExample\video_loopback"指向项目文件的绝对路径。
而项目文件中的相对路径都是基于该路径。
Part3:ccs编译中常见的编译错误及解决方法1 fastcopy 提示找不到ialg.h等头文件,打开cmd文件后看到目录包含命令有:-i"%XDAIS_INSTALL_DIR%/packages但是系统中没有XDAIS_INSTALL_DIR这个环境变量,于是找到xdais的安装目录:C:\dvsdk_1_01_00_15\xdais_5_21\然后添加系统环境变量:变量名:XDAIS_INSTALL_DIR变量值:C:\dvsdk_1_01_00_15\xdais_5_21\注销或重启或者kill掉explorer后在运行即可2 ccs提示:could not open source file "ti/sdo/fc/acpy3/acpy3.h"。