TMS320F280049C主控的DSP入门设计(学习笔记一) 搭建可移植的CCS工程


TMS320F280049C主控的DSP入门设计(学习笔记一) 搭建可移植的CCS工程


前言

​ 本篇笔记将介绍如何搭建可移植的CCS工程,以便于开发TMS320F280049C主控的DSP入门设计。本篇笔记将详细介绍如何创建CCS工程、添加源文件和库文件、配置编译选项等步骤。

一、工程文件的复制

CCS新建空白工程

​ 首先打开CCS软件,点击project->New CCS Project,并按照所需功能自行配置工程名、芯片等信息。

图一  CCS项目创建

​ 除此之外,在Project type and tool-chain中配置Output foemat为eabi(ELF)

图二  Output foemat设置

​ 点击Finish后弹出代码编辑器如下:

图三  CCS界面展示

​ 此时,我们所选择的工作文件夹目录下应有下列文件:

图四  工作文件夹目录

拷贝支持文件进入工程文件夹

​ 首先,进入C2000Ware的默认下载文件夹,如:D:\ti\c2000\C2000Ware_5_01_00_00(笔者为5.01版本,同时,本文出现的所有文件地址均为笔者自己工作环境下的地址)。并找到:

​ D:\ti\c2000\C2000Ware_5_01_00_00\device_support\f28004x\common

​ 此文件夹下为F280049的DSP支持文件,接下来对该文件夹内文件进行复制,并粘贴到工作文件夹中。

  • 首先,将source整个文件夹复制到工作文件夹中。

图五  工作文件夹及支持文件夹

  • 再将D:\ti\c2000\C2000Ware_5_01_00_00\device_support\f28004x\headers\source文件夹下的文件复制到现在工程文件夹下的source中
    图六  headers文件复制
  • 将D:\ti\c2000\C2000Ware_5_01_00_00\device_support\f28004x\common中的include文件夹全部复制到工程文件夹中。

图七  include文件夹复制

  • 再将D:\ti\c2000\C2000Ware_5_01_00_00\device_support\f28004x\headers\include中的所有文件复制到工作文件夹的include文件夹下

图八  headers中include文件复制

  • 将D:\ti\c2000\C2000Ware_5_01_00_00\device_support\f28004x\common\cmd中的四个cmd文件复制到工程文件夹。

图九  cmd文件复制

  • 接下来对库函数进行复制,首先找到路径地址为D:\ti\c2000\C2000Ware_5_01_00_00\driverlib\f28004x\driverlib的文件夹,该文件夹中含有两个文件夹和.c、.h文件(库函数文件)

    图十  库函数文件夹

  • 首先,对该文件夹下.h文件进行复制,并粘贴到include文件夹中。

图十一  .h文件的复制

  • 再对.c文件进行复制,此时可以先在工作文件夹中创建文件夹“C_library”,然后将.c文件全部粘贴到该文件夹下。

图十二  .c文件复制

  • 最后将剩余的两个文件夹复制到工程文件夹中,到此,库文件复制完毕。

图十三  复制结束后文件夹

添加数学运算库及f28004x_headers_nonbios.cmd文件

  • 找到D:\ti\c2000\C2000Ware_5_01_00_00\libraries\math\FPUfastRTS\c28\lib和D:\ti\ccs1250\ccs\tools\compiler\ti-cgt-c2000_22.6.1.LTS\lib(该文件夹为下载CCS后的文件夹),将该文件夹下复制数学运算库到工程文件夹中

    图十四  c28\lib下的数学运算库

图十五  ti-cgt-c2000_22.6.1.LTS\lib下的数学运算库

  • 再对f28004x_headers_nonbios.cmd文件进行添加
    找到D:\ti\c2000\C2000Ware_5_01_00_00\device_support\f28004x\headers\cmd文件夹,对该文件进行复制粘贴。

    图十六  f28004x_headers_nonbios.cmd所在地址

删除多余文件,整理库文件

由于使用eabi输出,所以可将ccs中与COFF输出相关的文件都删除掉。

图十七  debug文件中的coff输出文件

图十八  Release文件中的coff输出文件

二 、对文件进行编辑修改

​ 1.删除source文件夹f28004x_usdelay.asm文件中函数声明的下划线。这步主要是为了适应eabi输出的需要,也即函数名前不加下划线。
​ 修改前:

1
2
3
4
5
6
7
8
       .def _F28x_usDelay
.sect ".TI.ramfunc"

.global __F28x_usDelay
_F28x_usDelay:
SUB ACC,#1
BF _F28x_usDelay,GEQ ;; Loop if ACC >= 0
LRETR

​ 修改后:

1
2
3
4
5
6
7
8
       .def F28x_usDelay
.sect ".TI.ramfunc"

.global __F28x_usDelay
F28x_usDelay:
SUB ACC,#1
BF F28x_usDelay,GEQ ;; Loop if ACC >= 0
LRETR

​ 2.include文件夹下的f28004x_lin.h文件需要修改一个变量名,该变量名可以任意修改,修改原因是命名重复。
​ 修改前:

1
bp_16 IDLE:1;   

​ 修改后:

1
bp_16 LIN_IDLE:1;     

​ 3.include文件夹下的f28004x_globalprototypes.h和source文件夹的f28004x_sysctrl.c均需要修改IDLE函数名,该变量名可以任意修改,修改原因也是命名重复。
​ 修改前:

1
2
3
void IDLE(void);   //(f28004x_globalprototypes.h)

IDLE() //(f28004x_sysctrl.c)

​ 修改后:

1
2
3
void IIDLE(void);   //(f28004x_globalprototypes.h)

IIDLE() //(f28004x_sysctrl.c)

三、从RAM执行程序时的软件配置

​ 此时已经形成了完整的CCS工程文件夹,下面将对工程文件进行索引,而一般debug时希望工程从RAM中进行运行,所以在这里进行RAM中运行的配置。
​ 首先,右键项目浏览器的项目名,打开Properties(属性栏),设置成Debug,这里名字可以任意修改。

图十九  Debug设置

​ 后续添加文件路径的时候会涉及到一些缩写,这些缩写在如下位置做了定义:

图二十  缩写定义位置

添加索引路径

​ 右键点击项目浏览器中的项目名,打开Properties(属性)。找到Include Options。按照下图中操作,创建相对路径。直接在对话框中输入 ${PROJECT_ROOT}/include,表示工程文件夹中的include文件夹(绝对路径)。

图二十一  索引路径添加

添加数学库文件路径

同样右键点击项目浏览器中的项目名,打开Properties(属性)进行设置。加入下列路径。
${PROJECT_ROOT}/rts2800_fpu32_eabi.lib

${PROJECT_ROOT}/rts2800_fpu32_fast_supplement_eabi.lib

其中默认的库文件是libc.a,根据本文开头提到的官网文档,可以直接删除。

图二十二  数学库文件路径

​ 快速运行库rts2800_fpu32_fast_supplement.lib是rts2800_fpu32.lib的一个函数子集,它是对rts2800_fpu32.lib中一些函数进行重写,提高运算速度,所以添加是有次序要求,需要进行设置如下:
​ Link order中添加这两个库,排序rts2800_fpu32_fast_supplement.lib在前rts2800_fpu32.lib在后

图二十三  Link order的数学库

启用FPU和TMU

同样右键点击项目浏览器中的项目名,打开Properties(属性)进行设置。 关于编译器–fp_mode的设置等信息可以参考文献[4]的2.3节。
目前不推荐启用–idiv_support,在本工程中启用该选项会导致程序无法正确运行。

图二十四  FPU/TMU设置

图二十五  --fp_reassoc

四、总结

​ 到此,CCS的TMS320F280049C主控模板文件创建完毕。
​ 下节将进行仿真器的配置以及程序下载流程。


评论
 上一篇
TMS320F280049C主控的DSP入门设计(学习笔记二)  TMS280049C评估板下载设置及流程 TMS320F280049C主控的DSP入门设计(学习笔记二) TMS280049C评估板下载设置及流程
本篇笔记将介绍如何进行下载以及烧录的配置流程,以便于开发TMS320F280049C主控的DSP入门设计。
2023-12-02
下一篇 
关于负电阻的原理及应用的探究 关于负电阻的原理及应用的探究
Word文件是目前我们日常生活中较为常用的文字文件,但我们会发现我们在使用中经常出现排版变化的问题。那为了将排版进行统一规范,我们可能需要一种统一的软件或者文件格式来进行规范。 那我们会发现,有这样的一种标记语言——Markdown。
2023-11-30
  目录