打印
[MCU]

TMS320F28035学习笔记

[复制链接]
1122|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tfqi|  楼主 | 2019-8-2 13:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
在这篇笔记中,主要讲解利用TI公司的CCS6.0开发环境,新建工程,连接目标板,下载程序。
折腾了好多天,终于把程序跑起来了,现写下笔记,待忘记时查看。

首先,c2000有多种启动方式,可以从datasheet 29页看到支持的启动模式,目前基本上都是使用仿真器,很少有使用其他方式下载的方案提供,不过有个SDflash软件,可以研究一下。



然后,就是你要下载一个库,里面包含了所有功能的实例代码和头文件、cmd文件,然后把它放到不要有中文名的路径下,随便放哪。

使用特权

评论回复

相关帖子

沙发
tfqi|  楼主 | 2019-8-2 13:00 | 只看该作者

下载后,安装setup_DSP2803x_v121.exe软件。注意,安装路径一定不能含中文。安装完成后,在安装路径下,会找到以下文件。我默认安装在了C盘。


使用特权

评论回复
板凳
tfqi|  楼主 | 2019-8-2 13:01 | 只看该作者
第一步:新建工程:

1、打开CCS6.0软件,Project—New CCS Project,Target选“2803x Piccolo”,后面下拉框选择“TMS320F28035”,Connection选择对应的仿真器型号,我这里用的是“XDS100V3”,Project name随便命名,其他选项默认,然后点“Finish”。



使用特权

评论回复
地板
tfqi|  楼主 | 2019-8-2 13:01 | 只看该作者
2、右击当前工程,选择“Add Files…”,分别添加下列文件:

DSP2803x_CodeStartBranch.asm

DSP2803x_DefaultIsr.c

DSP2803x_PieCtrl.c

DSP2803x_PieVect.c

DSP2803x_SysCtrl.c

DSP2803x_usDelay.asm

DSP2803x_GlobalVariableDefs.c

DSP2803x_Headers_nonBIOS.cmd

一共8个文件,在不同的目录里,

前6个在DSP2803x_common文件夹的source文件夹里;

DSP2803x_GlobalVariableDefs.c在DSP2803x_headers文件夹的source文件夹里;

DSP2803x_Headers_nonBIOS.cmd在DSP2803x_headers文件夹的cmd文件夹里。



注意,添加文件的时候,选择“Link to files”,并勾选上“Create link locationsrelative to PROJECT_LOC”。



使用特权

评论回复
5
tfqi|  楼主 | 2019-8-2 13:01 | 只看该作者
3、添加完文件了,再就是添加include目录,因为那些头文件都在你放的库的目录里,你不添加进来这些.c文件会找不到定义。右击工程选择“properties”,然后选择“Build — Include Options”,点图标添加头文件,在对话框中选择“File System…”,分别将前面提到的“DSP2803x_common”和“DSP2803x_headers”文件夹下的“include”文件夹添加进来。




使用特权

评论回复
6
tfqi|  楼主 | 2019-8-2 13:02 | 只看该作者

然后在“C2000linker — basic options”里设置“stacksize”(堆栈大小),设置成200或者300都可以,这里使用默认值。

然后保存设置,退出来。


使用特权

评论回复
7
tfqi|  楼主 | 2019-8-2 13:02 | 只看该作者
4、打开main.c,写上下面的函数(程序需要根据自己开发板硬件做相应调整):

#include"DSP28x_Project.h"

int main(void)

{

   InitSysCtrl();//将系统时钟设置为60M,如果是自己diy的板子,时钟不是10M,可以研究里面的参数设置一下

   DINT;//关掉总中断

   InitPieCtrl();//在dsp里,中断通过pie控制器来管理中断响应

   IER = 0x0000;//这个是12组中断使能寄存器,都关掉

   IFR = 0x0000;//这个是12组中断的标志位,清零

   InitPieVectTable();//这个是初始化中断向量表的,就是将各种中断的中断函数入口地址指派一下

   EALLOW; //在dsp里,有些寄存器设置时要先解开寄存器保护,这个命令是解开保护,下面这几条是设置io的功能

   GpioCtrlRegs.GPAMUX2.bit.GPIO27 = 0; //GPIO31作为普通IO

   GpioCtrlRegs.GPADIR.bit.GPIO27 = 1; //GPIO31方向为输出

   EDIS; //对应解开保护,这个是关闭保护

   while(1)

   {

        DSP28x_usDelay(10000000);//这个函数是用汇编定义的,在DSP2803x_usDelay.asm里面定义的。

        GpioDataRegs.GPATOGGLE.bit.GPIO27 = 1; //GPIO31端口电平翻转一次

   }

}

然后编译,不会有错误。

使用特权

评论回复
8
tfqi|  楼主 | 2019-8-2 13:02 | 只看该作者

第二步:下载程序。

1、首先建立目标板配置环境。

在工具栏中点击“File->New->Target Configuration File”,如下图所示,为此配置命名“TMS320F28035XDS100V3.ccxml”(可自行命名),点“Finsh”,

如下图所示:


使用特权

评论回复
9
tfqi|  楼主 | 2019-8-2 13:03 | 只看该作者

在“connection (调试器类型)”一栏中选择“Texas Instruments XDS100v3 USB Emulator”,“Device(芯片类型)”一栏中选择“TMS320F28035”,如下图所示:


使用特权

评论回复
10
tfqi|  楼主 | 2019-8-2 13:03 | 只看该作者

如果使用默认的GEL文件,那么请点击“Save”即可;如果使用自己的GEL文件,那么请点击蓝色字体的“Target Configuration”出现以下图界面:


使用特权

评论回复
11
tfqi|  楼主 | 2019-8-2 13:03 | 只看该作者

点中“C28xx”,在右面的“initialization script”中选择自己的GEL文件,路径为“DSP2803x_common\gel\f28035.gel”,之后点击“Save”,到目前为止,此配置环境建立完毕。



使用特权

评论回复
12
tfqi|  楼主 | 2019-8-2 13:04 | 只看该作者
2、连接目标板:

找到工具栏的“View->Targetconfigurations”按钮并单击切换出配置界面,然后在配置界面中右键点击配置文件选择“Set as Default”将刚刚建立的配置文件设置为默认状态,右击配置文件选择“Launch Selected Configuration” 启动调试,详细操作见下图所示:



使用特权

评论回复
13
tfqi|  楼主 | 2019-8-2 13:04 | 只看该作者

当启动成功后,在工具栏中点击“Run->ConnectTarget”或图标,即可连接目标板,出现下图所示的界面即表明连接成功,接下去,用户可以自行仿真实验。


使用特权

评论回复
14
tfqi|  楼主 | 2019-8-2 13:05 | 只看该作者

3、下载程序到RAM区

点击工具栏图标,选择“Load Program…”,弹出下载程序对话框,


使用特权

评论回复
15
tfqi|  楼主 | 2019-8-2 13:05 | 只看该作者

在弹出的对话框中点击“Browse Project…”,选择当前工程“My First DSPProject — Debug — My First DSP Project.out”,点击“OK”确定,


使用特权

评论回复
16
tfqi|  楼主 | 2019-8-2 13:05 | 只看该作者

程序下载完成后,程序指针跳转到main函数,如下图所示:


点击工具栏图标,程序全速运行,就可以在开发板上看到运行的现象了。


使用特权

评论回复
17
tfqi|  楼主 | 2019-8-2 13:06 | 只看该作者
第三步:将程序烧写到Flash区

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

56

主题

3316

帖子

4

粉丝