零基础DSP实战TMS320F28035:第一节,开发环境与新建工程

TMS320F28035第一节,开发环境与新建工程

第一节,开发环境与新建工程模板


一、DSP TMS320F28035介绍

TMS320F28035是TI C2000系列DSP之一,它具有很高的性价比和出色的DSP控制性能。单电源供电,主频适中(60MHZ),附带一个CLA浮点运算核。同样具有增强型eCAN、SPI,SCI等通信接口,增强型eQEP正交编码接口、增强型ePWM接口,eCAP接口等。TMS320F28035封装有三种,分别是QFN56/QFP64/QFP80,芯片内存空间flash有128k、RAM空间10k,大家常见的开发板为80引脚封装的开发板。
国产器件对应DSP厂家的有湖南进芯电子、中科昊芯、毂梁微等。

二、开发工具

1.软件工具

软件开发工具一般使用TI官网的CCS软件,我当前使用的是CCS10.30版本,去官网或者一些软件下载网站基本都可以正常获取,其他的还包括C2000Ware、conrtolSUITE、C2Prog、uniflash,我一般常用的是C2Prog烧录工具,版本1.7版本,在生产过程中量产烧录固件使用。

2.硬件工具

硬件工具我用的是XDS100V3,有很多第三方烧录工具选择,没有必要花大价钱使用XDS510。

三、环境配置

1.CCS安装

网上有很多中安装教程这里就不详细阐述了,需要说明的一点是,在安装时若进行选配安装时不知如何选择,就直接全部选取安装即可,安装路径建议不要放在C盘下。

2.工程创建

1、获取一份例程,并将其中的工程依赖的.c、.h、.cmd配置文件拷贝下来。
2、新建文件夹DSP28035Project,并在文件夹中创建4个子文件夹APP、cmd、include、source,将第一步获取到的.c、.h、.cmd分别拷贝到对应文件夹中,各文件夹下文件实例如下:

为了后期使用CLA运算库我将对应的数学库一并复制到工程中,后边我们自己开发的应用文件都放在APP文件夹中即可
在这里插入图片描述

其中也包含了CLA的cmd配置文件在这里插入图片描述
将.h文件放置在inlcude中
在这里插入图片描述将依赖的.c文件放在source中在这里插入图片描述
至此,工程所需的文件就齐全了。

3.CCS创建项目

1、打开CCS10,双击打开,并选择一个工作空间
在这里插入图片描述
在这里插入图片描述2、新建工程,创建一个新的空工程,芯片选择等配置如图所示,将工程取名为DSP28035demo,根据各自习惯取名。

在这里插入图片描述3、创建成功后删除28035_RAM_lnk.c和main,将之前创建的4个子文件夹复制到建立的项目路径下
在这里插入图片描述4、在CCS窗口下可以看到4个文件夹,其中主程序main和includes是我们自己创建的,将以下代码复制到inlucdes.h中
inlucdes.h


#ifndef APP_INCLUDES_H_
#define APP_INCLUDES_H_


#include "DSP28x_Project.h"
#include "DSP2803x_DefaultISR.h"
#include "DSP2803x_Cla_defines.h"
#include "DSP2803x_Adc.h"
#include "CLAmath.h"

//------------------------------------------
void MemCopy(Uint16 *SourceAddr, Uint16* SourceEndAddr, Uint16* DestAddr);

#endif

main.c中

#include "includes.h"

/********************************************************
函数名称:main
函数功能:主程序
入口参数:
出口参数:
修    改:
********************************************************/
void main(void)
{

//
	while(1)
	{
	   ;
	}
}

5、工程配置
按照图示进行工程配置
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述点击apply and close

以下两个图 将工程中相关文件exclude from build
在这里插入图片描述
在这里插入图片描述

到此为止,工程建立成功,rebuile project,编译通过。
在这里插入图片描述

四、点亮一个灯

1、将指示灯引脚在includes.h进行宏定义

代码如下(示例):

//D400 低电平亮;(也是PWM7B的引脚)
#define D400GPIO        GPIO41
#define D400MUX         GpioCtrlRegs.GPBMUX1.bit.D400GPIO
#define D400DIR         GpioCtrlRegs.GPBDIR.bit.D400GPIO
#define D400TOGGLE()    GpioDataRegs.GPBTOGGLE.bit.D400GPIO = 1
#define D400ON()        GpioDataRegs.GPBCLEAR.bit.D400GPIO =1
#define D400LOW()       GpioDataRegs.GPBSET.bit.D400GPIO =1

//D401 低电平亮;
#define D401GPIO        GPIO34
#define D401MUX         GpioCtrlRegs.GPBMUX1.bit.D401GPIO
#define D401DIR         GpioCtrlRegs.GPBDIR.bit.D401GPIO
#define D401TOGGLE()    GpioDataRegs.GPBTOGGLE.bit.D401GPIO = 1
#define D401ON()        GpioDataRegs.GPBCLEAR.bit.D401GPIO =1
#define D401LOW()       GpioDataRegs.GPBSET.bit.D401GPIO =1

//D402 低电平亮;
#define D402GPIO        GPIO43
#define D402MUX         GpioCtrlRegs.GPBMUX1.bit.D402GPIO
#define D402DIR         GpioCtrlRegs.GPBDIR.bit.D402GPIO
#define D402TOGGLE()    GpioDataRegs.GPBTOGGLE.bit.D402GPIO = 1
#define D402ON()        GpioDataRegs.GPBCLEAR.bit.D402GPIO =1
#define D402LOW()       GpioDataRegs.GPBSET.bit.D402GPIO =1

在主程序main中实现点亮指示灯和灯闪烁功能

代码如下(示例):



#include "includes.h"

/********************************************************
函数名称:main
函数功能:主程序
入口参数:
出口参数:
修    改:
********************************************************/

static unsigned long delaycnt  = 0;

void main(void)
{
    InitSysCtrl();

    DINT;
    InitPieCtrl();
    IER = 0x0000;
    IFR = 0x0000;
    InitPieVectTable();
    // Copy time critical code and Flash setup code to RAM
    // The  RamfuncsLoadStart, RamfuncsLoadSize, and RamfuncsRunStart
    // symbols are created by the linker. Refer to the F28035v1.cmd file.
    //实现在RAM中运行代码的搬运,例如使用官方的DELAY_US
    MemCopy(&RamfuncsLoadStart,&RamfuncsLoadEnd, &RamfuncsRunStart);

    //memcpy(&Cla1funcsRunStart, &Cla1funcsLoadStart, (Uint32)&RamfuncsLoadSize);
    InitFlash();

    /*灯初始化*****************************************************/
    EALLOW;
    //3个普通LED
    D400MUX = 0;//GPIO功能
    D400DIR = 1;//输出
    D401MUX = 0;
    D401DIR = 1;
    D402MUX = 0;
    D402DIR = 1;
    EDIS;

    D400ON();
    D401ON();
    D402ON();

    /************************************************************/

    EALLOW;  // This is needed to write to EALLOW protected registers
    PieCtrlRegs.PIECTRL.bit.ENPIE = 1;   // Enable the PIE block
    EDIS;   // This is needed to disable write to EALLOW protected registers
    //================================================================================
    EINT;
    ERTM;

//
	while(1)
	{
	    //闪烁灯
/*	    D400ON();
	    D401ON();
	    D402ON();
	    for(delaycnt = 0;delaycnt<1000000;delaycnt++)
	    {
	        ;
	    }
	    D400LOW();
	    D401LOW();
	    D402LOW();
        for(delaycnt = 0;delaycnt<1000000;delaycnt++)
        {
            ;
        }
*/
	    //另外一种闪烁灯
        D400TOGGLE();
        D401TOGGLE();
        D402TOGGLE();
        for(delaycnt = 0;delaycnt<1000000;delaycnt++)
        {
            ;
        }
	}
}

3、编译完成build project,连接XDS100V3调试器与目标板子,可在此处进行调试器连接验证,点击verify
在这里插入图片描述在这里插入图片描述4、关闭验证窗口,点击“七星瓢虫图标”(调试按钮)进行烧录,完成后关闭调试功能,,点击板子的RST按键或者重新上电,程序自动跑起来,可以观察到3个指示灯进行闪烁。

五、工程移植

1、新建文件夹workspace_v10_(切记不要使用中文路径),将刚完成的工程文件夹,或者附件的工程复制到workspace_v10_文件夹下
在这里插入图片描述

2、重新打开CCS10.3软件,选择刚创建的工作空间,点击launch。
在这里插入图片描述
选择导入工程project->Import CCS project,选择刚复制进来的文件夹,并点击finish

在这里插入图片描述在这里插入图片描述完成以上操作默认点击下图中的finish
在这里插入图片描述
3、rebuild工程,烧录测试,结果正常,至此工程建立与移植成功

总结

1、以上内容适合有一定CCS使用基础的同学,或者参照CCS使用文档进行操作;
2、工程中具备FLASH烧录配置,计算库,cla库等内容,后期制作时,围绕相关内容展开介绍

  • 18
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
该版为中文,看起来非常方便。与英文版对比着研究,效果更好!lEXAS INSTRUMENTS 微控制器 增强型捕捉模块 特性 高分辨率捕捉 模块 说明 增强型正交编码器脉冲 开始使用 端口 简介 引脚分配 器件支持 信号说明 器件和开发支持工具命名规则 功能概述 相关文档 方框图 社区资源 内存映射 电气规范 简要说明 最大绝对额定值 寄存器映射 建议的运行条件 器件仿真寄存器 电气特性 中断 流耗 散热设计考虑 系统控制 针对的无信号缓冲的仿真器连接 低功耗模式块 时序参数符号 外设 时钟要求和特性 控制律加速器概述 电源排序 模拟时钟 通用输入输出 串行外设接口 模块 增强型控制外设 串行通信接口模块 详细说明 本地互连网终 闪存定时 增强型控制器局域网络 模块 至修订历史记录 内部集成电路 至修订历史记录 增强型 模块 热性能机械数据 高分辨率 版权 内容 EXAS INSTRUMENTS 简介 表列出了 器件的特性。 简介 权 TEXAS INSTRUMENTS 表硬件特性 功能 类型 引脚引脚引脚号脚引脚引脚引脚引 引脚引脚引脚引脚 封装类型 指令周期 控制律加速器 否 否 不支持 支持 不支持 支持 片载闪存(位字) 片载 位字 片载闪存 块的代码安全 支持 支持 支持 又持 支持 引导 支持 叉持 支持 次性可編程 (位字) 输出 模块 全装置定时器 支持 支持 又持 支持 秒百万次采样 转换时间 温度传感器 支持 支持 支持 支持 叉持 支持 双采样保持 支持 支持 支持 又持 支持 定时器 高分辨率 通道 高分辨率捕获 模块 有集成数模转换器 的比较器 内部集成电路 增强型控制器局域网络 本北互连网络 串行外设接口 串行通信接口 引脚(共 电源电压(标称值) 个类型变化代表一个外设模块中的主要功能特性差异。在一个外设类型内,器件之间会有绀徼差异,而这些差异不会影响模块的基本功能性。这些特定器件差异显示在 外设参考手册》(文献编号 )列表中和外设参考指南中。 简介 TEXAS INSTRUMENTS 表硬件特性 功能 类型 引脚引脚引脚引脚引脚引脚 引脚 引脚引脚引脚 引脚 引脚引脚引脚引脚引脚引脚引脚 封装类型 支持 支持 又持 支持 温度选项 支持 支持 主 支持 不支持 支持 不支持 支持 不支持 支持 不支持 支持 不支持 支持 不支持 产品状态 是指针对汽车应用的 认证技术规范。 器件级说明,请见节,器件和开发支持工具命名规则。 产品状态表示一个完全合格的生产器件 产品状态表示一个试验器件,此试验器件并不一定代表最终器件的电气规 范 简介 版权 lEXAS INSTRUMENTS 引脚分配 图显示了引脚小型四方扁半(无引线)封装 引脚分配。图显示了引却薄 型四方扁平封装 引脚分配。图显示引脚薄型四方肩平封装 引脚分配。 引脚封装上的信息数据为 产品状态表示一个试验器件,此试验器件并 不一定代表最终器件的电气规范。器件级说明,请见节,器件和开发支持工具命名规则。 版权 简介 EXAS INSTRUMENTS <Ou× z>0 OO× NN-<O Q 吕5§3安活5吕吾 寸导8将8$习 TTTTT廿 GPIO36/TMS 43 28 GPIO28/SCIRXDA/SDAA/TZ2 GPIOS/EPWM3B/SPISIMOAECAP144 27 TEST2 GPIO4/EPWM3A 45 26V GPIO3/EPWM2B/SPISOMIA/COMP2OUT 46 GPIO2/EPWM2A 47 24 GPIO29/SCITXDA/SCLA/TZ3 GPIO1/EPWM1B/COMPlOUT 48 23 GPIO3O/CANRXA G PIOO/EPWM1A 49 22 GPIO31/CANTXA DDIo 50 21 ADCINB7 20 ADCINB6/COMP3B/AIO14 DD 52 19 ADCINB4/COMP2B/AIO12 VREGENZ 53 18 ADCInB3 GP1O34/COMP2OUT/COMP3OUT 54 17 ADCINB2/COMP1 B/AIO10 GPIO20/EQEP 1A/COMP1OUT 55 16 ADCINB1 GPIO21/EQEP1B/COMP2OUT 56 15 SA REFLO auu?Oa 这个图表显示了引脚封装的顶视图。阴影表示端子实际上在封装的底部。引脚机械制图,请 见 ,热机械薮据。 引脚 共用引脚器件上的同一引脚并且它们不可同时使用。 引脚 被一直连接至引脚器件上的 图 引脚 (顶视图) 简介 权 lEXAS INSTRUMENTS dcud×2 oO202u=Oz0 o<o0o≤<s2u oO 5555§当558585 守令寸守乎守导98内8 GPIOIT/EPWM6B/LINRXA/FRCAP2 GPIO28SCIRXDA/SDAA/IZ2 GPIOS/EPWM3B/SPSIMOA/ECAP1 GPIO9/EPWM5B/LINTXA/HRCAP1 GPIO4EPWM3A TEST2 GPIOlUEPWM6A/AUCSOCBO G PIO3/EPWM2B'SPISOMIA/COMP2OUT GPIO2/EPWM2A 27 F GPIO29/ SCITXDA/SCLA/TZ3 GPIOTEPNM1B/COMP1QU GPIOSOICANRX GPO0 EPWM1A□56 GPIO31CANTXA VEDIO 24 ADCINB7 VSS DI58 23 ADCINB6/COMP3BAIO14 ) CINBAICOMP2BIA1012 BREGENZ G PIO34/COMP2OUTICOMP3OUT D 20F ADCINB2/COMP1B: AIO10 GPIO2O/EOEP 1A/COMP1OUT 19 ADCINB1 GP1O21/EQEP 1BCOMP2QUT DCINBO GPIO24/ECAP1DI64 O VSSA/VREFLO P:N99 Noc 凵囗囗 O 2CSszcc 引脚 和 共用引脚器件上的同一引脚并且它们不可同时使用。 引脚 被一自连接至引脚器件上的 图 引即 (顶视图) 版权 简介 EXAS INSTRUMENTS 883 GPIO11/EPWM6B/LINRXA/HRCAP2 GPIO5JEPWM3B/SPISIMOA/ECAP1 GPIO9/EPWM5B/INTXA/HRCAP1 GPIO4/EPWM3A GPIO4EPWM7A GP1026/HRCAP1 SPICLKB GPIO10/EPWMEAIADCSOCBO G PIO3/EPWM2B SPIS GPIO2/EPWM2A GPIO29SCITXDA/SCLATZ3 GPIO1/EPWM1BCOMP1OUT 33 G PIOO/EPWM1A VDDID GPI027/HRCAP2ISPISTFR SS ADCINB7 VDD ADCINB6/CCMP3BIAIO14 G PIO34/COMP2OUTCOMP3OUT ADCINB4/COMP2BIA1O12 GPIO15/TZ1/LINRXA/SPISTEB ADCINB3 GPIO 13/TZ2/SPISOMIB ADCINB2/CCMP1B/AIO 10 GPIO 14/TZ3/INTXA/SPICLKB GPIOZO/FOEP 1AICOMP1OUT GPIC24/ECAF 1/SPISINOB VSSA FNP*perpeR 引脚 (顶视图) 简介 权
TMS320F2833x TMS320F2823x DSC .................................................................................. 10 1.1 特性 ......................................................................................................................... 10 1.2 开始使用 .................................................................................................................... 11 2 .................................................................................................................................. 12 2.1 引脚分配 .................................................................................................................... 14 2.2 信号说明 .................................................................................................................... 23 3 ............................................................................................................................ 33 3.1 内存映射 .................................................................................................................... 34 3.2 简要说明 .................................................................................................................... 41 3.2.1 C28x CPU ....................................................................................................... 41 3.2.2 内存总线(哈弗总线架构) .................................................................................... 41 3.2.3 外设总线 ......................................................................................................... 41 3.2.4 实时 JTAG 和分析 .............................................................................................. 42 3.2.5 外部接口(XINTF) ................................................................................................ 42 3.2.6 闪存 ............................................................................................................... 42 3.2.7 M0,M1 SARAM ............................................................................................... 42 3.2.8 L0, L1, L2, L3, L4, L5, L6, L7SARAM ........................................................................ 43 3.2.9 引导 ROM ........................................................................................................ 43 3.2.9.1 引导加载器使用的外设引脚 ....................................................................... 44 3.2.10 安全性 ............................................................................................................ 44 3.2.11 外设中断扩展 (PIE) 块 ......................................................................................... 46 3.2.12 外部中断 (XINT1-XINT7,XNMI) ............................................................................. 46 3.2.13 振荡器和锁相环 (PLL) .......................................................................................... 46 3.2.14 安全装置 ......................................................................................................... 46 3.2.15 外设时钟 ......................................................................................................... 46 3.2.16 低功率模式 ....................................................................................................... 46 3.2.17 外设帧 0,1,2,3 (PFn) ...................................................................................... 47 3.2.18 通用输入/输出 (GPIO) 复用器 ................................................................................. 47 3.2.19 32 位 CPU 定时器 (0,1,2) .................................................................................. 47 3.2.20 控制外设 ......................................................................................................... 48 3.2.21 串行端口外设 .................................................................................................... 48 3.3 寄存器映射 ................................................................................................................. 49 3.4 器件仿真寄存器 ............................................................................................................ 51 3.5 中断 .......................................................................................................................... 52 3.5.1 外部中断 ......................................................................................................... 56 3.6 系统控制 .................................................................................................................... 57 3.6.1 OSC 和 PLL 块 .................................................................................................. 58 3.6.1.1 外部基准振荡器时钟选项 .......................................................................... 59 3.6.1.2 基于 PLL 的时钟模块 .............................................................................. 60 3.6.1.3 输入时钟损失 ....................................................................................... 61 3.6.2 安全装置块 ....................................................................................................... 62 3.7 低功率模式块 .....................................................................................
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值