TMS320F280049系列文章目录
第一章 获取相关组件(注意:下载或安装不要有中文路径)
第二章 新建工程(注意:代码移植时,索引路径需要重新设置(绝对地址))
文章目录
- TMS320F280049系列文章目录
- 前言
- 第二章 新建工程(注意:代码移植时,索引路径需要重新设置(绝对地址))
- 1.工程准备及设置
- 1.1 新建Template文件(空文件)
- 1.2 新建CCS工程
- 1.3 Template工程目录文件Copy准备
- 1.4 C2000Ware(SDK组件)复制到Template工程目录对应文件下(复制时可直接移步1.5查看(校验)最终移植成果,防止复制出错)
- 1.5 Template工程目录文件校验
- 1.6 Template工程修改及设置
- 1.7 Template工程移植、修改及设置成果(整体工程搭建已经完成,由于我采用的C2000Ware(SDK组件)为最新版本,所以编译会出错,稍后再说)
- 2.工程编译
- 2.1 编译错误
- 2.2 编译警告
- 3.新建工程成果(无错误,警告忽视)
- 总结
前言
本文章采用CCS10.3.1(CCS软件版本)及C2000Ware_4_01(SDK-设计资源)进行TMS320F280049(DSP芯片)系列学习
第二章 新建工程(注意:代码移植时,索引路径需要重新设置(绝对地址))
1.工程准备及设置
1.1 新建Template文件(空文件)
1.2 新建CCS工程
- 1.2.1 打开CCS工程页面,Project->New CCS Project
注:Output format(输出格式)选择eabi(ELF),貌似是COEF是老版本的,现在多支持ELF,总之,这么选就行(等所有需要的工程文件Copy完,工程文件需要做些修改及设置,稍后再说)
- 1.2.3 新建Template工程一览(CCS工程及对应工程目录)
1.3 Template工程目录文件Copy准备
- 1.3.1 新建Template工程目录下,新建source(存放c文件)、include(存放h文件)、cmd(存放cmd文件)及library(存放lib文件)文件
- 1.3.2 了解工程文件目录下所需的资源(第一章下载的C2000Ware(SDK组件)及软件安装包文件,可直接移步1.3.3)
主要用到的文件目录如下(根据自己安装的路径)
- D:\CCS10.3.1\ti_C2000Ware\C2000Ware_4_01_00_00\device_support\f28004x下的common及headers中的source(全部)、include(全部)及cmd(部分)文件
- D:\CCS10.3.1\ti_C2000Ware\C2000Ware_4_01_00_00\driverlib\f28004x\driverlib中的(全部)文件
- D:\CCS10.3.1\ti_C2000Ware\C2000Ware_4_01_00_00\libraries\math\FPUfastRTS\c28\lib中的(部分)文件
- D:\CCS10.3.1\ti_software\ccs\tools\compiler\ti-cgt-c2000_20.2.4.LTS\lib中的(部分)文件
1.4 C2000Ware(SDK组件)复制到Template工程目录对应文件下(复制时可直接移步1.5查看(校验)最终移植成果,防止复制出错)
- D:\CCS10.3.1\ti_C2000Ware\C2000Ware_4_01_00_00\device_support\f28004x\common目录下的source(全部)文件
- D:\CCS10.3.1\ti_C2000Ware\C2000Ware_4_01_00_00\device_support\f28004x\headers目录下的source(全部)文件
- D:\CCS10.3.1\ti_C2000Ware\C2000Ware_4_01_00_00\driverlib\f28004x\driverlib目录下的(全部.c)文件
- D:\CCS10.3.1\ti_C2000Ware\C2000Ware_4_01_00_00\device_support\f28004x\common目录下的headers(全部)文件
- D:\CCS10.3.1\ti_C2000Ware\C2000Ware_4_01_00_00\device_support\f28004x\headers目录下的headers(全部)文件
- D:\CCS10.3.1\ti_C2000Ware\C2000Ware_4_01_00_00\driverlib\f28004x\driverlib目录下的(全部.h)文件
- D:\CCS10.3.1\ti_C2000Ware\C2000Ware_4_01_00_00\device_support\f28004x\common目录下的cmd(部分)文件:28004x_generic_flash_lnk.cmd及28004x_generic_ram_lnk.cmd
- D:\CCS10.3.1\ti_C2000Ware\C2000Ware_4_01_00_00\device_support\f28004x\headers目录下的cmd(全部)文件
- D:\CCS10.3.1\ti_C2000Ware\C2000Ware_4_01_00_00\libraries\math\FPUfastRTS\c28\lib(C2000Ware)目录下的rts2800_fpu32_fast_supplement_eabi.lib
- D:\CCS10.3.1\ti_software\ccs\tools\compiler\ti-cgt-c2000_20.2.4.LTS\lib(软件安装)目录下的rts2800_fpu32_eabi.lib
- D:\CCS10.3.1\ti_C2000Ware\C2000Ware_4_01_00_00\driverlib\f28004x\driverlib目录下的ccs及inc文件直接移植到工程目录
1.5 Template工程目录文件校验
- 1.5.1 Template整体工程文件
- 1.5.2 Template工程source文件
- 1.5.3 Template工程C_driverlib文件
- 1.5.4 Template工程include文件
- 1.5.5 Template工程H_driverlib文件
- 1.5.6 Template工程cmd文件
- 1.5.7 Template工程library文件
注:工程目录中的28004x_generic_ram_lnk.cmd(非cmd文件中的),为后续工程设置后的文件,无需关注,按照步骤移植、修改、设置即可
1.6 Template工程修改及设置
- 1.6.1 D:\CCS10.3.1\Workspace\Template\source目录下的f28004x_usdelay.asm文件(删除下划线,以适应输出格式(ELF))
修改完成:
.def F28x_usDelay
.sect ".TI.ramfunc"
.global __F28x_usDelay
F28x_usDelay:
SUB ACC,#1
BF F28x_usDelay,GEQ ;; Loop if ACC >= 0
LRETR
- D:\CCS10.3.1\Workspace\Template\ccs目录下的driverlib_coff.lib(2个)
- D:\CCS10.3.1\Workspace\Template\cmd目录下,除f28004x_headers_nonbios.cmd之外的cmd文件
- 打开工程设置(Template->Propreties)
- 设置工程索引(绝对路径)(Template->Propreties->Build->C2000 Compiler->Include Options)
添加绝对路径D:\CCS10.3.1\Workspace\Template\include和D:\CCS10.3.1\Workspace\Template\H_driverlib
- 设置工程lib文件(Template->Propreties->C2000 Linker->File Search Path)
添加绝对路径D:\CCS10.3.1\Workspace\Template\library下的2个文件
- 设置工程cmd文件(Template->Propreties->General->Linker command file)
添加绝对路径D:\CCS10.3.1\Workspace\Template\cmd下的28004x_generic_flash_lnk.cmd或28004x_generic_ram_lnk.cmd
1.7 Template工程移植、修改及设置成果(整体工程搭建已经完成,由于我采用的C2000Ware(SDK组件)为最新版本,所以编译会出错,稍后再说)
2.工程编译
2.1 编译错误
- 错误原因:变量XXX重定义问题(D:\CCS10.3.1\Workspace\Template\source文件)
- 解决办法:考虑到之前的工程文件也没用到这两个文件,所以直接设置其取消编译即可(CCS工程里的source文件:f28004x_sw_prioritized_defaultisr.c及f28004x_sw_prioritized_pievect.c)
2.2 编译警告
- 警告原因:变量divider及dValue被定义但是未被使用
- 解决办法:忽视,暂时用不上
3.新建工程成果(无错误,警告忽视)
总结
本章为TMS320F280049学习系列文章 第二章:新建工程(注意:代码移植时,索引路径需要重新设置(绝对地址))