ccs10怎么导入工程文件,使用最新版ccs10.1建立tms320f2812仿真调试项目的步骤

本文介绍了如何使用Code Composer Studio 10.1.0创建并配置TMS320F2812的DSP项目,包括导入头文件,设置工程属性,添加必要源文件和CMD文件,以实现仿真和下载到开发板的步骤。

52e86c3591912fbfc514dcc0955d4785.png

今天是2020.8.14,义县游学电子科技提供跟您分享一个DSP tms320f2812这款芯片如何使用Code Composer Studio 10.1.0 进行仿真,调试,下载的过程.

1开始前准备:

Code Composer Studio 10.1.0地址我无法贴出来因为广告的嫌疑,可以私信我.

TMS320f2812开发板一块,

TMS320f2812头文件下载,地址还是私信.下边这是TI官方下载的压缩包解压后的

0aba01574a92eb881d52a007be21f1fb.png

仿真器xds100v3一个.

win10系统64位.

2项目建立步骤:

1)打开ccs10,

点击"Project"->"New CCS Project"。

在New CCS Project窗口中,按需要填写以下内容后按"Finish"完成新建空的工程。

b95e5f3c2586fef8801740bcc38f1c77.png

输入项目名后,点击完成即可.

2)新建完成后的工程,结构如下

db809526470a905bb14b69a4c51eb4c9.png

添加系统的头文件

在工程名上右击,添加两个文件夹,分别名为source和include。

1143f95613f25a8de3cfaae8ad967e44.png

打开"tidcs\c28\DSP281x\v120"文件夹,将"DSP281x_headers\include"中的所有头文件复制到刚刚新建的include目录。打开"tidcs\c28\DSP281x\v120"文件夹,将"DSP281x_common\include"中的所有头文件复制到刚刚新建的include目录(会提示文件已存在,覆盖即可)。此时,工程文件夹的结构如图所示:

6ca7bc10be46b5ba495ca198785a6659.png

配置工程

右击工程文件名,选择"Properties"

b005a480d05f6e93a0b98ec9541a5a66.png

更改include的选项,在新弹出的窗口中选择"Workspace",然后选择对应工程的"include"目录:

90dab05899a8cd2ead3720d9ddd91ffc.png

23d36801bf04b3777fd6ddd6d854c0c7.png

更改链接选项中的"Base option":有文章中说修改项目的默认堆栈大小为0x400,这里我没有设置也是可以正常运行的.

25bf09d0f7680d6f77b3976c56381990.png

添加必须的头文件代码

在main函数中,添加以下的头文件:这2个头文件在下载的tms320头文件中,

#include "DSP281x_Device.h"//这2个头文件在下载的tms320头文件中,我们已经include目录中了

#include "DSP281x_Examples.h"//这2个头文件在下载的tms320头文件中,

其中,DSP281x_Device.h提供了对应的CPU寄存器的结构体信息,DSP281x_Examples.h主要提供了一个纳秒级的延时函数DELAY_US(A)。不过,为了使用此函数,还需要将一个汇编代码文件添加到工程中:

bb1e107241597e0b39a8791ca1873a9a.png

在项目文件名称上右击,选择"Add Files",打开的窗口中选择"DSP281x_common\source"文件夹中的"DSP281x_usDelay.asm"。然后手动将asm文件拖动到source目录下。

594c7aa54203eecb9faa624019ea999b.png

此时,项目文件夹的组织结构如图。

添加必要的源文件

一个能够正常在开发板上运行的工程,应该具备一下的必要的源文件。

添加"DSP281x_headers\source"目录下的"DSP281x_GlobalVariableDefs.c"以指定所有系统结构体的存储位置。添加"DSP281x_common\source"目录下的"DSP281x_SysCtrl.c"以初始化系统的控制选项,包括PLL,看门狗,预分频。添加"DSP281x_common\source"目录下的"DSP281x_Gpio.c"以初始化系统的GPIO口。添加"DSP281x_common\source"目录下的"DSP281x_PieCtrl.c以初始化PIE控制器。添加"DSP281x_common\source"目录下的 "DSP281x_PieVect.c"以初始化PIE向量表。添加"DSP281x_common\source"目录下的"DSP281x_InitPeripherals.c"以初始化其他外设。添加"DSP281x_common\source"目录下的"DSP281x_DefaultIsr.c"以使用默认的中断函数。

2b5566b96b9a02a175ba81e42891042f.png

添加cmd文件,没有cmd文件项目无法真正的仿真,否则仿真时开发板无变化,个人觉得是属于软件仿真,但是一些非寄存器变量还是正常变化的.而寄存器在打开寄存器视图观察时无变化

本程序非TI的BIOS系统应用,所以需要添加"DSP281x_headers\cmd"目录下的"DSP281x_Headers_nonBIOS.cmd"。

到此,可以尝试编译工程,应该能够正常的编译通过,且没有任何的警告。目录结构应该如下所示(分别是头文件,源文件和链接文件):

056b115277e0a5c3063029cc9c55f5df.png

4a7a0fceb653b5854029132825c716c0.png

写main.cn文件代码:

/*** main.c*/#include "DSP281x_Device.h"#include "DSP281x_Examples.h"int main(void){// 1. 初始化系统控制,PLL,看门狗,预分频InitSysCtrl();// 2. 初始化GPIOEALLOW;GpioMuxRegs.GPAMUX.all=0;//GpioMuxRegs.GPAMUX.bit.C2TRIP_GPIOA14=0;//0数字口GpioMuxRegs.GPADIR.bit.GPIOA14=1;//gpioa14设置为 0输入1输出GpioMuxRegs.GPADIR.all=0xffff;GpioMuxRegs.GPAQUAL.all=0x0000;EDIS;GpioDataRegs.GPADAT.bit.GPIOA14=0;//gpio14写0低GpioDataRegs.GPADAT.bit.GPIOA14=1;//gpio14写1高for(;;){}}

代码解释:这里控制了gpio14脚,先写低再写高.

将程序固化到Flash

将程序固化到flash中需要添加几个文件,

添加"DSP281x_common\cmd"目录下的"F2812.cmd"。添加"DSP281x_common\source"目录下的"DSP281x_CodeStartBranch.asm"。禁用"2812_RAM_lnk.cmd",点击该文件右键选择"exclude from build"即可.

b2508c2fc75beefc8e23aa8406c2afd8.png

重新编译工程后点击Debug,程序就会自动下载到Flash中,下载完成后,将开发板重新上电,就能够看到对应的LED灯离线运行。

如果你发现灯运行的明显比仿真的时候要慢。是因为Flash实在是太慢。为了能够让程序跑的快些,需要让程序跑在RAM中。这里还没有继续深入研究,后续再写了.

最后总结.首先下载tms320f2812的头文件,这个要去官方下载.然后复制tms320的头文件和一些源文件到项目中.然后复制cmd文件和一个asm文件,然后点击调试按钮即可调试仿真.虽然写了这些,但是也有逻辑不通顺的地方,所以有问题可以直接私信我.我会稍后做个视频供大家查看.

举报/反馈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值