DSP28335教程14
- 格式:ppt
- 大小:523.04 KB
- 文档页数:13
DSP28335汇编教程当硬件执行指令时,寻找指令所指定的参与运算飞操作数的方式——寻址方式。
根据程序的要求采用不同的寻址方式,可以有效地缩短程序的运行时间和提高代码执行效率。
汇编指令是可执行指令,每一条指令对应一条机器码,用来控制处理器仲的执行部分进行各种操作。
在本章节当中将主要以基于C28x的DSP芯片为例,为读者讲解DSP的寻址方式和汇编指令系统,其中大部分内容也可适用于其他Ti公司的DSP产品。
6.1汇编语言指令集概述在学习C28x系列DSP的寻址方式和汇编指令指令之前,先来对一些基础的知识进行讲解一下先,在汇编程序当中开发人员会常常使用到许多的特殊符号和标志,它们都具有特殊的含义,在学习汇编之前读者们必须先理解这些符号和标志含义,在这里会对其中最常用最重要的操作数符号和寄存器经行详细说明。
在进行汇编讲解之前先来了解一下开发的核心——CPU。
在TMS320C2000系列中,CPU 内核为:C20x/C24x/C240x:C2xLP:C27x/C28x:C27x、C28x这些CPU的硬件结构有一定差别,指令集也不相同,但是,在C28x芯片中可以通过选择兼容特性模式,使C28xCPU与C27xCPU及C2xLPCPU具有最佳兼容性。
可通过状寄存器STl的位OBJMODE和位AMODE的组合,选定模式。
C28x芯片具有3种操作模式:1.C28x模式:在该模式中,用户可以使用C28x的所有有效特性、寻址方式和指令系统,因此,一般应使C28x芯片工作于该种模式。
2.C27x目标——兼容模式:在复位时,C28x的CPU处于C27x目标-兼容模式。
在该模式下,目标码与C27xCPU完全兼容,且它的循环—计数也与C27xCPU兼容。
3.C2xLP源——兼容模式:该模式允许用户运行C2xLP的源代码,这些源代码是用C28x代码生成工具编译生成的。
在下面的讲解当中会牵涉到模式的转换,希望读者要搞清楚每一个模式的对应关系。
TMS320F2833x,2823x增强型局控制器域网(eCAN) Reference GuideLiterature Number:ZHCU039January2009内容Preface (6)1CAN概述 (10)1.1特性 (10)1.2方框图 (11)1.3eCAN与其他TI CAN模块兼容 (11)2CAN网络和模块 (12)2.1CAN协议概述 (12)3eCAN控制器概述 (13)3.1标准CAN控制器(SCC)模式 (14)3.2内存映射 (15)3.3eCAN控制和状态寄存器 (18)4消息对象 (19)5消息邮箱 (19)5.1发送邮箱 (23)5.2接收邮箱 (24)5.3CAN模块运行在正常配置中 (24)1eCAN寄存器 (25)1邮箱使能寄存器(CANME) (25)2邮箱方向寄存器(CANMD) (26)3发送请求设置寄存器(CANTRS) (27)4传输请求-复位寄存器(CANTRR) (28)5传输确认寄存器(CANTA) (29)6中断确认寄存器(CANAA) (30)7接收消息等待寄存器(CANRMP) (31)8接收信息丢失寄存器(CANRML) (32)9远程帧等待寄存器(CANRFP) (33)9.1远程帧的处理 (33)10全局接受屏蔽寄存器(CANGAM) (35)11主控制寄存器(CANMC) (36)11.1CAN模块在SUSPEND(中止)时工作 (37)12位-时序配置寄存器(CANBTC) (38)13错误和状态寄存器(CANES) (40)14CAN错误计数寄存器(CANTEC/CANREC) (42)15中断寄存器 (43)15.1全局中断标志寄存器(CANGIF0/CANGIF1) (43)15.2全局中断屏蔽寄存器(CANGIM) (45)15.3邮箱中断屏蔽寄存器(CANMIM) (48)15.4邮箱中断级别寄存器(CANMIL) (49)16写覆盖保护控制寄存器(CANOPC) (50)17eCAN I/O控制寄存器(CANTIOC,CANRIOC) (51)2内容ZHCU039–January200918定时器管理单元 (53)18.1时间戳功能 (53)18.2超时功能 (56)18.3用户应用程序中MTOF0/1位的运行状态/用法。
1、CCS4(包括4.1和4.2等等)内部已经集成了XDS100V1和XDS100V2的仿真器驱动程序,所以不用安装XDS100驱动程序,而CCS3.3就必须要安装XDS100的驱动程序,这也算是CCS4比CCS3方便的一点。
2、XDS100V2仿真器需要在CCS4及以上版本(包括CCS4.1和CCS4.2等等)才能使用,不能在CCS3.3版本下使用,不管哪家生产的,只要是XDS100V2就一定如此。
3、本店的TMS320F2808开发板和TMS320F2802开发板,除了DSP芯片不同以外,一个是TMS320F2808,另外一个是TMS320F2802,其他的都一样,连DSP引脚都是兼容的。
在进行后面的实验之前,需要做好以下3个步骤:1、安装好CCS4.22、获取license上面这两个步骤在《张掌柜讲DSP系列之CCS4.2 XDS100在CCS4.2环境下仿真编程新手入门》都有详细的讲解,照做就可以了。
3、把我的光盘中的源代码文件夹“Code of TMS320F280x CCS4”拷贝到电脑中,注意一定不要把放在有中文路径的文件夹里面,包括电脑的桌面。
也不要把Code of TMS320F280x CCS4内部的某个文件夹拷贝出来再打开,比如把Buzzer这个文件夹从Code of TMS320F280x CCS4文件夹拷贝出来,然后再打开Buzzer内的project,这样是不对的,会提示缺少文件的。
4、先把DSP仿真器的JTAG线和DSP开发板的JTAG口连接起来,然后将DSP仿真器的USB口插到电脑上,最后给DSP开发板上电。
这个上电顺序是推荐的上电顺序,不代表只能这样做,你按照其他顺序上电,也不会损坏开发板的。
掉电的顺序正好跟上电顺序相反。
第一章 蜂鸣器唱歌实验(1):在界面下,打开project,如下图(2)出现浏览框,然后点(3) 浏览找到E:\Code of TMS320F280x CCS4\DSP280x_examples\BUZZER这个文件夹,然后点。
D S P28335C A N通讯程序中文说明(总5页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除#include"DSP2833x_Device.h"// DSP2833x Headerfile Include File#include"DSP2833x_Examples.h"// DSP2833x Examples Include File// Prototype statements for functions found within this file.void mailbox_check(int32 T1, int32 T2, int32 T3);void mailbox_read(int16 i);// Global variable for this exampleUint32 ErrorCount;Uint32 PassCount;Uint32 MessageReceivedCount;Uint32 TestMbox1 = 0;Uint32 TestMbox2 = 0;Uint32 TestMbox3 = 0;void main(void){Uint16 j;// eCAN控制寄存器需要使用32位的读/写访问。
因此,为此示例创建一组影子寄存器。
这些影子寄存器将用于确保访问是32位而不是16位。
struct ECAN_REGS ECanbShadow;// 步骤1.初始化系统控制:PLL,看门狗,启用外设时钟。
该示例功能可在DSP2833x_SysCtrl.c文件中找到。
InitSysCtrl();// 步骤2.初始化GPIO:在DSP2833x Gpio.c文件中找到该示例函数,并说明如何将GPIO设置为默认状态。
// InitGpio(); // Skipped for this example// 在这个例子中,使用GPIO寄存器在这里配置CAN引脚。