1 / 27
文档名称:

续 tms320f2812外设的c语言程序设计.ppt

格式:ppt   大小:728KB   页数:27页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

续 tms320f2812外设的c语言程序设计.ppt

上传人:bodkd 2021/7/24 文件大小:728 KB

下载得到文件列表

续 tms320f2812外设的c语言程序设计.ppt

文档介绍

文档介绍:第1章续 TMS320F2812外设的C语言程序设计
学****重点
掌握CCS工程文档的基本结构、功能及特点。
掌握采用结构体 、共用体和位定义实现对DSP外设寄存器的结构定义和管理。
CCS中CMD文件的功能、定义。
如何对寄存器进行配置。
课程内容
CCS工程文档结构介绍;
利用传统的#define方法定义DSP寄存器;
利用位定义、结构体和共用体定义DSP寄存器;
举例说明。
1. CCS工程文档结构介绍;
在CCS中调试程序的一般步骤
打开 volume1 文件夹内的 (系统自带的程序)。
点击 编译工具栏的 rebuild all 按钮,开始编译工程 。
下载编译结果到DSP开发板。
执行程序。
在CCS中调试程序的一般步骤
如何设置断点
单步调试
Source-single step 就是按一下,走一步的模式。
Source-step over 这个按钮是指在单步执行时,如果在函数内遇到子函数,则不会进入子函数内单步 执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。
Source-step out 当单步执行到子函数内时,用 step out 就可以执行完子函数余下部分,并返回到上 一层函数。
如何使用 watch window
其他一些操
Go main
Set PC to cursor
在CCS中调试程序的一般步骤
统计代码运行时间
点击菜单栏中的“Profile”“Clock””Enable”,来使能 Clock功能。接下来点击“Profile”“Clock”“View”, 在 CCS 最下面会出现一个类似于秒表的工具,旁边显示数字“0”,通过设置断点观察始终数字的变化。
2. 利用传统的#define方法定义DSP寄存器
首先定义各寄存器的符号及其对应的入口地址;
#define SCICCRA(volatile Uint16 *) 0x7050
#define SCICTRL1A(volatile Uint16 *) 0x7051
……
利用指针形式访问寄存器;
*SCICTL1A=0x0003;
*SCICTL1B=0x0001;
传统的#define方法定义DSP寄存器优缺点
优点:
定义简单、快速、容易分类;
直接采用寄存器的名字进行定义,易于操作。
缺点:
对寄存器的位操作比较困难;
不利于在CCS内跟踪调试;
3. 利用位定义、结构体和共用体定义DSP寄存器;
在头文件中定义各寄存器结构体及其变量;
使用DATA_SECTION将寄存器变量映射到相应物理地址空间;
在CMD文件中定义各区段物理地址及长度;
通过寄存器结构体变量访问相应寄存器。
在头文件中定义各寄存器结构体及其变量
在文件中实现
struct SCICTL1_BITS { // bit description
Uint16 RXENA:1; // 0 SCI receiver enable
Uint16 TXENA:1; // 1 SCI transmitter enable
Uint16 SLEEP:1; // 2 SCI sleep
Uint16 TXWAKE:1; // 3 Transmitter wakeup method
Uint16 rsvd:1; // 4 reserved
Uint16 SWRESET:1; // 5 Software reset
Uint16 RXERRINTENA:1; // 6 Recieve interrupt enable
Uint16 rsvd1:9; // 15:7 reserved
};
union SCICTL1_REG {
Uint16 all;
struct SCICTL1_BITS bit;
};