ccs工程文件类型和作用

CCS建立一个完整的工程,至少需要以下4个文件:存储器分配cmd文件、C语言系统库rts2xx.lib、包含main函数的c源文件、矢量跳转表asm汇编文件。

(1)cmd命令文件是用来分配存储空间的。

(2)rts2xx.lib是C语言系统库,包含了编译器提供的所有功能:①初始化C语言环境(入口地址是_c_int0),②设置堆栈,③提供标准的c语言函数库。

(3)有且只有一个包含main函数的c源文件,系统库初始化完毕后就把控制权交给main()函数了。

(4)矢量跳转表文件,通常是汇编文件(asm)形式,此文件需要准确的定位在程序的起始地址,其内容是汇编语句中的无条件跳转语句“B”。

 

程序执行的常规流程是:矢量表的第一条指令可设置为"B _c_int0” ,从而在上电复位后,把控制权交给系统库,系统库初始化完毕后,把控制权交给main()函数。


1.include头文件(.h)的主要作用
头文件,一般用于定义程序中的函数、参数、变量和一些宏单元,同库函数配合使用。因此,在使用库时,必须用相应的头文件说明。

2.DSP/BIOS CONFIG FILES
开发基于DSP/BIOS的程序保存BIOS配置之后自动产生的文件。在保存BIOS配置时候会产生program.cbd/programcfg.h54/programcfg.s54/programcfg.cmd/programcfg.h/programcfg_c.c(C5000的example,program为你的项目名),这些文件被分配在project不同目录。

3.Source Files
源程序,实现DSP系统指定功能的主要代码部分

4.Program.cmd
链接文件,在源文件经过汇编器(Assembler)输出的OBJ Files(目标文件)需要通过Linker(链接器)才能得到OUT files,在链接阶段Linker根据.cmd里面存储区、Section分配以及lib来链接rst.lib、csl.lib、DSP/BIOS library跟对段的重定位
5.Library Filers的作用
Rst.lib:C语言实时运行支持库,建立C运行环境,由_c_int00主要完成设置堆栈指针、初始化全局变量、调用main()
Csl.lib:芯片支持库,实现片内外设的操作
DSPLIB/IMGLIB:信号处理库,利用针对不同DSP的优化的函数进行数学运算
通用的视/音LIB:例如263、264、jpeg、G.7XX、mp3、wmv。。。
其他自己封装的LIB:例如bsl.lib(board source library),对DSP系统板上资源的操作。
asm文件包含中断表asm文件可能是线性汇编用的cmd文件是资源的分配,可以把指定的代码 数据 放在你想放的存储区域
cmd文件是命令链接文件,里面指定了片上资源的分配。CMD文件时要自己写的(用文本编辑器如写字板),而且该文件对于DSP编程是非常重要的,硬件不同,这个文件也就不一样,如果使用错误的CMD配置文件,不仅无法编译,更加无法下载。
其他文件:
.opt工程关于开发环境的参数文件。如工具条位置等信息;
.aps (AppStudio File),资源辅助文件,二进制格式,一般不用去管他.
.clw ClassWizard信息文件,实际上是INI文件的格式,有兴趣可以研究一下.有时候ClassWizard出问题,手工修改CLW文件可以解决.如果此文件不存在的话,每次用ClassWizard的时候绘提示你是否重建.
.dsp (DeveloperStudio Project):项目文件,文本格式,不过不熟悉的话不要手工修改.DSW(DeveloperStudio
Workspace)是工作区文件,其他特点和DSP差不多.
.plg 是编译信息文件,编译时的error和warning信息文件(实际上是一个html文件),一般用处不大.在Tools->Options里面有个选项可以控制这个文件的生成.
.hpj (Help Project)是生成帮助文件的工程,用microsfot Help Compiler可以处理.
.mdp (Microsoft DevStudio
Project)是旧版本的项目文件,如果要打开此文件的话,会提示你是否转换成新的DSP格式.
.bsc 是用于浏览项目信息的,如果用Source Brower的话就必须有这个文件.如果不用这个功能的话,可以在Project Options里面去掉Generate Browse Info File,可以加快编译速度.
.map 是执行文件的映像信息纪录文件,除非对系统底层非常熟悉,这个文件一般用不着.
.pch (Pre-Compiled File)是预编译文件,可以加快编译速度,但是文件非常大.
.pdb (Program Database)记录了程序有关的一些数据和调试信息,在调试的时候可能有用.
.exp 只有在编译DLL的时候才会生成,记录了DLL文件中的一些信息.一般也没什么用.
.ncb 无编译浏览文件(no compile browser)。当自动完成功能出问题时可以删除此文件。build后会自动生成。CMD文件时要自己写的(用文本编辑器如写字板),而且该文件对于DSP编程是非常重要的,硬件不同,这个文件也就不一样,如果使用错误的CMD配置文件,不仅无法编译,更加无法下载。这里给一个CMD文件给楼主参考一下,是以前做毕设时写的 



MEMORY
{
PAGE 0:
VECS :origin = 0000h , length = 0040h
PROG :origin = 00b0h , length = 7F50h
PAGE 1:
B2: origin = 0060h , length = 0020h
B0B1: origin = 0200h , length = 0200h
SARAM_IN:origin = 0800h , length = 0800h
SARAM_EX:origin = 8000h , length = 8000h
}





SECTIONS
{
.vectors : { } > VECS PAGE 0
.text : { } > PROG PAGE 0
.cinit : { } > PROG PAGE 0
.switch : { } > PROG PAGE 0

.data : { } > SARAM_IN PAGE 1
.bss : { } > SARAM_IN PAGE 1
.const : { } > SARAM_IN PAGE 1
.stack : { } > SARAM_IN PAGE 1
.sysmem : { } > SARAM_IN PAGE 1
}
<think>我们正在讨论CCS(CodeComposerStudio)工程中的.launch文件。根据用户的问题,他想了解这个文件的具体作用用途。首先,我们需要明确.launch文件在CCS中的角色。在CCS中,.launch文件通常与调试运行配置相关。它不是一个源代码文件,而是一个配置文件,用于指定如何启动调试会话或运行程序。参考引用[1]中提到了一个例子:`<includefile="$(findtf2_turtle)/launch/setupGUI.launch"/>`,这看起来像是ROS(机器人操作系统)中的launch文件语法,而不是CCS的。因此,这个引用可能不适用于CCS环境。我们需要区分清楚,用户问的是CCS工程,而不是ROS。在CCS中,.launch文件实际上是Eclipse平台(CCS基于Eclipse)用来存储运行/调试配置的文件。当你创建一个调试配置(比如连接目标板、设置调试选项等)时,CCS会将这个配置保存为一个.launch文件,通常位于工程目录下的`launch`文件夹中。具体作用:1.存储调试配置:包括目标处理器类型、连接方式(例如JTAG)、程序加载地址、调试选项等。2.存储运行配置:对于某些可以独立运行的目标(如仿真器),也可以存储运行配置。3.方便共享:.launch文件可以随工程一起共享,这样团队成员可以使用相同的调试配置。引用[2][3]提到了CCS工程的基本操作,如创建工程、导入工程等,但没有直接提到.launch文件。因此,我们主要根据CCSEclipse的通用知识来回答。总结一下:-.launch文件是Eclipse平台用于保存运行/调试配置的XML文件。-在CCS中,每个调试配置(例如连接到特定的目标板)都会生成一个.launch文件。-用户可以通过“Run”菜单下的“DebugConfigurations”或“RunConfigurations”来管理这些配置,每个配置对应一个.launch文件。因此,.launch文件的作用是保存调试或运行的配置信息,以便重复使用。下面我们生成相关问题。</think>在CCS(Code Composer Studio)工程中,`.launch`文件是调试运行配置的核心文件,其作用类似于Eclipse平台(CCS基于Eclipse)的运行/调试配置文件。具体作用用途如下: ### 核心功能 1. **调试会话配置** `.launch`文件存储调试器的完整配置参数,包括: - 目标处理器型号(如`F28379D`) - 连接接口(JTAG/SWD仿真器型号) - 程序加载地址内存映射设置 - 断点/观测点预设 - 启动前/后的自定义脚本命令[^3] 2. **一键式工作流启动** 通过该文件可一键完成: ```plaintext 编译代码 → 烧录到目标板 → 启动调试会话 ``` 无需手动操作每一步流程[^2]。 3. **多场景配置管理** 工程可包含多个`.launch`文件,例如: - `debug_F28379D.launch`(硬件调试) - `simulator_C28x.launch`(软件仿真) 通过右键菜单快速切换不同调试环境[^3]。 ### 技术细节 - **文件格式**:XML结构,人类可读但通常由CCS自动生成 示例片段: ```xml <launchConfiguration type="com.ti.ccstudio.buildDefinitions"> <stringAttribute key="device" value="F2837xD"/> <listAttribute key="connection"/> </launchConfiguration> ``` - **存储位置**:位于工程目录的`/launch/`子文件夹中 目录结构示例: ``` MyProject/ ├── src/ ├── launch/ │ └── debug_config.launch # 调试配置文件 └── .project ``` ### 实际应用场景 1. **团队协作** 提交`.launch`文件到版本库(如Git),确保团队成员使用相同的调试配置[^2]。 2. **自动化测试** 结合命令行接口调用`.launch`实现持续集成: ```bash ccs --launch debug_config.launch --batch ``` 3. **多目标支持** 当工程需支持不同型号芯片时(如`F28374D`/`F28379D`),通过独立的`.launch`文件管理差异化配置[^3]。 > ⚠️ **注意**:引用[1]所示的ROS的`.launch`语法(`<include file="$(find ...)">`)**不适用于CCS**,这是机器人操作系统(ROS)特有的语法,与CCS的调试配置文件无关[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值