查看: 2794|回复: 0

[经验] ccs工程文件类型和作用

[复制链接]

该用户从未签到

发表于 2021-3-6 20:51:23 | 显示全部楼层 |阅读模式
分享到:
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
  1. <font size="4" style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei";"="">{</font>
  2. <font size="4" style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei";"="">PAGE 0:</font>
  3. <font size="4" style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei";"="">VECS :origin = 0000h , length = 0040h</font>
  4. <font size="4" style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei";"="">PROG :origin = 00b0h , length = 7F50h</font>
  5. <font size="4" style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei";"="">PAGE 1:</font>
  6. <font size="4" style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei";"="">B2: origin = 0060h , length = 0020h</font>
  7. <font size="4" style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei";"="">B0B1: origin = 0200h , length = 0200h</font>
  8. <font size="4" style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei";"="">SARAM_IN:origin = 0800h , length = 0800h</font>
  9. <font size="4" style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei";"="">SARAM_EX:origin = 8000h , length = 8000h</font>
  10. <font size="4" style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei";"="">}</font>
复制代码











SECTIONS
  1. <font size="4" style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei";"="">{</font>
  2. <font size="4" style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei";"="">.vectors : { } > VECS PAGE 0</font>
  3. <font size="4" style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei";"="">.text : { } > PROG PAGE 0</font>
  4. <font size="4" style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei";"="">.cinit : { } > PROG PAGE 0</font>
  5. <font size="4" style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei";"="">.switch : { } > PROG PAGE 0</font>
  6. <font size="4" style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei";"="">
  7. </font>
  8. <font size="4" style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei";"="">.data : { } > SARAM_IN PAGE 1</font>
  9. <font size="4" style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei";"="">.bss : { } > SARAM_IN PAGE 1</font>
  10. <font size="4" style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei";"="">.const : { } > SARAM_IN PAGE 1</font>
  11. <font size="4" style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei";"="">.stack : { } > SARAM_IN PAGE 1</font>
  12. <font size="4" style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei";"="">.sysmem : { } > SARAM_IN PAGE 1</font>
  13. <font size="4" style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei";"="">}</font>
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条



手机版|小黑屋|与非网

GMT+8, 2024-4-19 14:32 , Processed in 0.103352 second(s), 15 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.