ccs33中建立-编译-调试工程及常见错误讲解

合集下载

CCS编译错误和警告信息

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中建立-编译-调试工程及常见错误讲解

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语言是一种广泛使用的程序设计语言,常用于开发系统软件和应用软件。

在编写C语言程序时,经常会出现一些错误和bug,因此调试是程序开发过程中不可或缺的一步。

本文将从浅析C语言程序调试过程及编程常见错误两个方面进行分析。

一、C语言程序调试过程1.编译程序:在进行调试前,首先需要将源代码编译成可执行文件。

编译过程中会进行词法分析、语法分析、语义分析等操作,同时会检查语法错误并生成目标代码。

2.设置断点:在需要调试的程序代码中,通过设置断点来指定程序的一些位置停止执行。

断点可以设置在任何地方,包括函数调用、循环语句等。

3.运行程序:运行调试器,加载编译得到的可执行文件,并运行程序。

当程序执行到设置的断点位置时,会自动暂停执行。

4. 调试程序:在暂停执行的位置,可以查看变量的值、执行堆栈信息、运行指令等。

通过观察这些信息,可以发现程序中的错误或bug。

5.单步执行:在调试过程中,可以选择单步执行程序。

单步执行可以按照一条指令一条指令地运行程序,并观察程序的执行情况。

这样可以更精确地找到问题所在。

6. 修改程序:当发现错误或bug时,需要对程序进行修改。

修改可以包括更改变量的值、调整算法逻辑等。

修改后需要重新编译并重新运行程序。

7. 重复调试:进行一次修改后,需要再次运行程序并进行调试。

在多次调试中,需要逐步修复所有的错误和bug,直到程序能够正常运行。

1.语法错误:语法错误是最常见的错误之一、例如忘记加分号、括号不匹配、变量未声明等。

这些错误在编译时会被检测到,并给出详细的错误提示。

2.逻辑错误:逻辑错误是程序中最难调试的错误之一、逻辑错误导致程序的行为和期望的不一致,但不会引发编译错误。

调试逻辑错误需要仔细检查算法和代码逻辑,并通过查看变量值等调试信息逐步找出错误所在。

3.数组越界错误:当访问数组时,需要确保不超出数组的范围。

如果越界访问数组,可能导致程序崩溃或产生不可预料的结果。

CCS3.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 错误总结

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编译错误和警告信息

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中建立-编译-调试工程及常见错误讲解

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导入工程步骤以及编译报错解决方法如何进行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”这个错误意味着我们在不同的地方对同一个标识符进行了不一致的声明或定义。

解决方法是检查代码中对该标识符的所有声明和定义,并确保它们是一致的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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"。

相关文档
最新文档