DSP学习笔记1-工程模板建立

1 dsp 仿真器驱动安装

1.1 使用一根 USB 数据线将 DSP 仿真器的 USB 口和电脑的 USB 口连接, 然后电脑会自动识别到新硬件。

1.2 完成识别后,请右键单击电脑桌面上的计算机, 选择设备管理器。
1.3 出现下图显示的内容时说明你的 DSP 仿真器已成功安装了。

 

1.4 注意: 如果电脑未识别 DSP 仿真器的有效端口, 可试试如下操作方法:①可以试着重新插下 USB 接口或者更换 USB 线或者更换电脑的其他 USB 口插入。
如果还未解决可按照如下方法操作:①将 DSP 仿真器的 JTAG 口与开发板 JTAG 口连接。②给开发板供电, 可使用开发板上 USB 口或 DC5V 火牛接口, 然后打开电源开关。③将 DSP 仿真器的另一端 USB 口与电脑 USB 口连接, 电脑会自动检测安装驱动。
如果还未解决可按照如下方法操作:
①打开电脑设备管理器, 未成功安装仿真器驱动, 在设备管理器内的端口处,对应端口前的图标有感叹号, 只需选择该端口, 然后鼠标右键, 选择更新驱动程序软件, 选择手动查找并安装程序驱动, 选择好 CCS 软件内 FTDI 驱动路径, 点击下一步即可更新驱动, 更新成功即可显示。
1.5 ccs6软件中设置仿真器参数(这里使用的xds100v1)。

1.5.1 View>Target Configurations
1.5.2 然后在下图 Target Configurations 区域内点击右键后出现如下图所示的菜单, 选择 New TargetConfiguration。

1.5.3  在弹出的对话框中输入仿真器参数配置的名称(将NewTargetConfiguration.ccxml 改为: F28335_XDS100V1.ccxml) , 然后点击Finish。 出现如下界面, 按下面步骤和参数设置:

1.5.4  在仿真调试或者下载程序前需要确认硬件是否连接好。 步骤如下:
a.View\Target Configurations。
b.双击 user defined下的xxx.ccxml。

c.然后选择 Test Connection 按钮测试仿真器与开发板是否连接成功。 如果连接成功, 最后测试结果如下所示, 否则请回过头重新按照顺序完成,直到测试连接成功。

2  工程模板创建

为了方便管理我们 DSP 的工程项目, 首先在电脑的某盘根目录下创建一个文件夹用于存放我们所有 DSP 开发的工程项目, 命名为“DSP8233x_ProjectExample”

2.1 TI 公司提供 DSP28335 开发所需要的文件说明:
【1:DSP2833x_common 文件夹: 存放了 DSP2833x 开发所需的外设、 内核、 DSP运算库、 CMD 等文件。
1.1:Cmd 文件夹: 存放了 DSP 内 RAM 和 FLASH 存储地址和容量的分配启动文件。
1.1.1:28335_RAM_lnk.cmd 文件: 该文件通常用于仿真调试, 一般情况下直接用 TI给的, 不需要做修改即可满足调试用, 模式较固定, 当然你也可以做相应的修改用到哪块 RAM 存储空间, 在 CMD 文件里做相应的分配即可。
1.1.2:F28335.cmd 文件: 该文件通常用于 flash 烧写, 而编写用于 flash 烧写的F28335.cmd 文件时相对来说较复杂些, 根据不同的情况需要做一些修改, TI 提供的这个文件也已经写好,一般的开发也无需改动。
1.2:Gel 文件夹: 该文件夹内存放了一个 f28335.gel 文件。 GEL 是 Gneral Extend Language 的英文缩写, 中文翻译为通用扩展语言, 它的作用就是扩展 CCS 功能,它为程序调试提供了很多实用的功能, 提高调试效率, 比如调试过程中批量查看寄存器中的变量等。 如果你是针对 F2812 开发, 那么该文件夹内就应该添加f2812.gel 文件。
1.3:Include 文件夹: 该文件夹用于存放 F2833x 通用文件的头文件。 比如中断、全局变量及函数声明、 IQmath 库等。
1.4:lib 文件夹: 该文件夹用于存放 F2833x 运算库文件。 比如 IQmath.lib、rts2800_ml.lib 等, 通常使用的主要是 IQmath.lib。
1.5:source 文件夹: 该文件夹用于存放 F2833x 内核、 外设驱动的源文件。 比如DSP2833x_Adc.c 、 DSP2833x_CpuTimers.c 、 DSP2833x_Gpio.c 、DSP2833x_usDelay.asm 等。

2:DSP2833x_headers 文件夹: 存放了 DSP2833x 开发所需的外设头文件、带和不带 BIOS CMD 等文件。
2.1:Cmd 文件夹: 存放了 BIOS 和 nonBIOS 文件, 也是对 DSP 内 RAM 和 FLASH 存储:地址和容量的分配启动文件。 在程序开发过程中, 如果不使用 BIOS 操作系统, 在仿真调试程序时, 对 DSP内 RAM 和 FLASH 存储地址和容量的分配启动文件只需要 28335_RAM_lnk.cmd 和DSP2833x_Headers_nonBIOS.cmd 这两个。 当程序仿真调试成功后, 我们需要将其烧写到芯片内 FLASH 中, 所以工程内存储地址和容量的分配启动文件就需要F28335.cmd 和 DSP2833x_Headers_nonBIOS.cmd 这两个。 如果你在 DSP 中移植了操作系统那么就需要使用 DSP2833x_Headers_BIOS.cmd 文件。
2.2:Gel 文件夹: 该文件夹内存放了一个有关 DSP2833x 外设的DSP2833x_Peripheral.gel 文件。
2.3:Include 文件夹: 该文件夹存放的是“DSP2833x_Libraries\DSP2833x_common\source” 对应的头文件, 从文件命名也很容易理解。
2.4:source 文件夹: 该文件夹内存放了 DSP2833x_GlobalVariableDefs.c 文件,里面主要是一些全局变量及条件编译等。】

2.2 创建工程模板

2.2.1 首先打开我们安装好的 CC6 软件, 起初打开的时候会弹出一个对话框让你设置项目的工程空间, 点击“Browse” 按钮选择前面我们创建在 E 盘根目录下创建的“DSP8233x_ProjectExample” 路径, 然后勾选下边的复选框, 即选择此路径为我们工程项目的默认工作空间, 等到下次再开启 CC6 软件的时候就不会再弹出该对话框了, 当然你也可以不勾选它。 最后点击 OK 即可。 
2.2.2 点击“Project” 菜单, 选择“New CCS Project” 项目, 新建 CCS 工程
2.2.3 步骤(1) 操作完成后, 弹出如下对话框:

①: 我们开发板上使用的 DSP 芯片是 TMS320F28335, 所以这里我们选择TMS320F28335。
②: DSP 的开发过程中, 仿真器的使用必不可少, 所以这里需要选择仿真器的类型。

③: 对工程命名(注意不要使用中文及特殊字符) , 这里我们命名为“DSP2833x_ProjectTemplate” 。
④: 前面我们在打开 CCS 软件的时候已经设置了工程项目的默认空间, 所以“Location” 默认就是我们设置的路径, 如果不是请设置前面说的工作路径。
⑤: 我们选择一个空的工程, 即“Empty Project” 。设置完成后点击“Finish” , 弹出如下界面:

 

从工程目录中我们可以看到 CCS6 版本软件已经自动将仿真器调试所需的28335_RAM_lnk.cmd 和 TMS320F28335.ccxml 目标配置文件自动添加进来, 如果你使用的是 CC3.3 或者更低版本软件的话, 这些文件需要手动添加。 因此 CCS6版本软件给我们节省了很多时间和避免了一些不必要的错误。 “Includes” 下面是 CCS6 编译器相关的头文件, 这个在安装软件时就有。

 到这步我们的工程模板并没有创建完, 我们还需要将一个基础工程模板所需的文件添加进来。 那么一个完整的基础工程有哪些文件所构成呢?
①首先需要仿真调试或者 flash 烧写所需的.cmd 文件和 DSP 的 BIOS 或nonBIOS .cmd 文件, 在正常开发过程中, 我们会先使用仿真调试的.cmd 文件,待程序调试成功后再使用 FLASH 烧写的.cmd 文件, 如果未使用到操作系统即选择 nonBIOS .cmd 文件。
②其次需要我们使用的芯片的.ccxml 目标配置文件。
③芯片内核及外设.c 源文件, 比如 DSP2833x_Gpio.c、 DSP2833x_PieCtrl.c等。
④芯片内核及外设.h 头文件, 比如 DSP2833x_Gpio.h、 DSP2833x_PieCtrl.h 等。

⑤DSP .lib 库文件, 常用的如 IQmath.lib 等。

2.2.4 知道了这些我们就可以将每个项目中都会使用到的文件添加到工程目录中。 为了方便管理我们的工程, 首先在“E:\DSP8233x_ProjectExample\DSP2833x_ProjectTemplate” 文件夹下新建三
个文件夹, 如下: (注意文件夹路径位置) (其他文件是在创建工程时自动生成的)

 

APP 文件夹: 用于存放用户编写的应用文件, 如 LED、 蜂鸣器、 数码管、 ADC等文件, 这样可有效的管理工程文件和提高我们代码的移植性。User 文件夹: 用于存放用户编写的 main.c 等文件, 用户编写的应用程序起始位置即从 main 函数开始执行。DSP2833x_Libraries 文件夹: 用于存放 TI 公司提供给我们开发 DSP2833x所需要的头文件、 外设、 内核、 DSP 库、 CMD 等文件。创建完成后, 我们可以在 CCS 软件的工程下面看到刚才新建的这 3 个文件夹已经自动更新到工程目录下。 如下:

 

2.2.5 我们在回到工程模板文件夹下, 在 DSP2833x_Libraries 文件夹内添加如下文件:

现在 CCS 软件工程目录下文件如下所示:

 

可以看到.cmd 文件重复了, 最下面一个是创建工程时软件自动生成的, 上面一个是从 TI 提供的文件内拷贝过来的。 我们可以任意删除一个, 这里为了方便管理我们删除下面的那个。 可以选择所删除的文件右击选择删除, 单击 OK 后即可删除, 在工程模板文件夹内该文件也就被删除了。

2.2.6 接下来我们在 User 工程目录下新建一个 main.c 源文件, 选择 User 目录右键点击选择 New->Sourc File, 填写源文件名, 这里我们要新建的是 main.c,所以填写 mian.c, 点击 Finish。
2.2.7 创建完成后, 我们需要在 main.c 文件内调用 DSP28335 的头文件及编写 main 函数, 这个类似于 51 单片机的开发。 DSP28335 的头文件需要两个, 分别是 DSP2833x_Device.h 和 DSP2833x_Examples.h。

#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File
#include "DSP2833x_Examples.h" // DSP2833x Examples Include File
void main()
{ 
}

2.2.8 工程中添加头文件对应的路径:选择工程项目右击, 选择“Properties” 选项,在弹出的 Properties 对话框中选择“Include Options” 选项, 点击 add

 

弹出增加路径对话框, 点击“Browse...” 按钮, 选择我们复制的 TI 库文件头文件路径, 点击确定 。

最后添加完如下所示:

 

点击 OK, 编译工程, 0 警告 0 错误, 并且在工程 Includes 目录下增加了刚才我们添加的两个头文件路径。

 

到这里我们的工程模板才算创建完成。

点击仿真调试工具, 程序就开始编译、 链接、 下载到芯片内部的 RAM 中, 如下: (前提是必须通过仿真器将开发板和电脑连接成功, 并给开发板通电

上图中标号 1 是运行按钮,进入仿真后点击标号 1 即可运行我们编写的程序,只不过是在 RAM 区内运行的,断电后程序丢失。程序运行效果是 LED 指示灯闪烁。证明我们的模板创建成功。 运行中可以按下标号 1 旁边的灰色按钮即为暂停, 标号 2 是停止按钮, 如果需要停止仿真可点击标号 2。 标号 3 是调试按钮(单步、跳出等) , 在调试过程中, 可以在需要调试的函数或语句处设置断点, 然后通过单步、 跳出等执行按钮完成调试。 还可在标号 4 中观察到变量的变化值。

 

 

 

 

 

posted @ 2019-06-27 14:38  菜芽caiya  阅读(2002)  评论(0编辑  收藏  举报