第1章 TMS320C54x的结构原理 10
1.1 TMS320系列DSP芯片概述 10
1.1.1 TMS320系列DSP的分类及应用 10
1.1.2 TMS320C5000 DSP平台 11
1.2 TMS320C54x DSP 13
1.2.1 TMS320C54x的主要特性 13
1.2.2 TMS320C54x的组成框图 16
1.3 总线结构 18
1.4 存储器 19
1.4.1 存储器空间分配 20
1.4.2 程序存储器 23
1.4.3 数据存储器 24
1.5 中央处理单元 27
1.5.1 算术逻辑运算单元 28
1.5.2 累加器A和B 29
1.5.3 桶形移位器 31
1.5.4 乘法器/加法器单元 32
1.5.5 比较、选择和存储单元 33
1.5.6 指数编码器 34
1.5.7 CPU状态和控制寄存器 34
1.6 数据寻址方式 39
1.6.1 立即寻址 41
1.6.2 绝对寻址 41
1.6.3 累加器寻址 41
1.6.4 直接寻址 42
1.6.5 间接寻址 43
1.6.6 存储器映像寄存器寻址 46
1.6.7 堆栈寻址 47
1.7 程序存储器地址生成方式 48
1.7.1 程序计数器 49
1.7.2 分支转移 49
1.7.3 调用与返回 50
1.7.4 条件操作 51
1.7.5 重复操作 53
1.7.6 复位操作 54
1.7.7 中断 55
1.7.8 省电方式 59
1.8 流水线 60
1.8.1 流水线操作 60
1.8.2 延迟分支转移 62
1.8.3 条件执行 64
1.8.4 双寻址存储器与流水线 65
1.8.5 单寻址存储器与流水线 67
1.8.6 流水线冲突和插入等待周期 67
1.9 在片外围电路 71
1.9.1 并行I/O口及通用I/O引脚 71
1.9.2 定时器 72
1.9.3 时钟发生器 74
1.9.4 主机接口 78
1.10 串行口 83
1.10.1 串行口概述 83
1.10.2 标准串行口 84
1.11 DMA控制器 97
1.11.1 DMA控制器的基本特性 97
1.11.2 子地址寻址方式 97
1.11.3 DMA通道优先级和使能控制寄存器 100
1.11.4 DMA通道现场寄存器 102
1.11.5 DMA编程举例 108
1.12 外部总线 113
1.12.1 外部总线接口 113
1.12.2 外部总线操作的优先级别 114
1.12.3 等待状态发生器 115
1.12.4 分区切换逻辑 117
1.12.5 外部总线接口定时图 118
1.12.6 复位和IDLE3省电工作方式 120
1.13 TMS320C54x引脚信号说明 122
第2章 指令系统 130
2.1 指令的表示方法 130
2.1.1 指令系统中的符号和略语 130
2.1.2 指令系统中的记号和运算符 133
2.2 指令系统 135
2.2.1 指令系统概述 135
2.2.2 指令系统分类 135
第3章 汇编语言程序开发工具 137
3.1 TMS320C54x软件开发过程 137
3.2 汇编语言程序的编写方法 139
3.3 汇编语言程序的编辑、汇编和链接过程 141
3.4 COFF的一般概念 143
3.4.1 COFF文件中的段 143
3.4.2 汇编器对段的处理 144
3.4.3 链接器对段的处理 146
3.4.4 COFF文件中的符号 148
3.5 汇编 149
3.5.1 运行汇编程序 149
3.5.2 列表文件 151
3.5.3 汇编命令 154
3.5.4 宏定义和宏调用 154
3.6 链接 156
3.6.1 运行链接程序 156
3.6.2 链接器选项 157
3.6.3 链接器命令文件 158
3.6.4 多个文件的链接 164
第4章 Simulator和CCS集成开发工具的使用方法4.1 Simulator的使用方法 169
4.1.1 软件仿真器概述 169
4.1.2 仿真命令 171
4.1.3 仿真器初始化命令文件 174
4.1.4 仿真外部中断 176
4.2 什么是CCS 177
4.3 如何安装和设置CCS 178
4.3.1 CCS对计算机系统的配置要求 178
4.3.2 CCS的安装与设置 178
4.4 CCS窗口介绍 180
4.4.1 CCS窗口示例 180
4.4.2 CCS的菜单栏和快捷菜单 180
4.4.3 CCS的常用工具栏 181
4.5 如何建立工程文件 182
4.5.1 工程文件的建立、打开和关闭 183
4.5.2 在工程文件中添加或删除文件 183
4.5.3 编辑源文件 183
4.5.4 工程的构建 184
4.6 如何调试程序 185
4.6.1 加载可执行文件 185
4.6.2 程序的运行和复位 186
4.6.3 断点设置 187
4.6.4 内存、寄存器和变量操作 188
4.7 如何与外部文件交换数据 191
4.7.1 外部数据文件的格式 191
4.7.2 利用探针从/向外部文件载入/保存数据 191
4.7.3 利用I/O端口与外部文件传送数据 194
4.8 如何仿真外部中断和测试程序的执行时间 196
4.8.1 仿真外部中断 196
4.8.2 测试一段程序的执行时间 196
4.9 如何利用图形窗口观察和分析数据 197
4.9.1 CCS的画图功能 197
4.9.2 CCS图形功能应用举例 199
4.10 通用扩展语言 201
4.10.1 GEL函数 201
4.10.2 在GEL菜单中添加GEL函数 203
4.10.3 GEL文件的加载和卸载 204
4.11 CCS应用举例 205
4.11.1 汇编语言源程序 205
4.11.2 C语言源程序 214
第5章 汇编语言程序设计 221
5.1 程序的控制与转移 221
5.2 堆栈的使用方法 223
5.3 加、减法和乘法运算 224
5.4 重复操作 225
5.5 数据块传送 227
5.6 双操作数乘法 229
5.7 长字运算和并行运算 230
5.8 小数运算 235
5.9 除法运算 237
5.10 浮点运算 238
第6章 TMS320C54x的软硬件应用 242
6.1 TMS320C54x与存储器及外围设备接口 242
6.2 TMS320C54x与慢速器件接口 243
6.3 FIR滤波器的C54x实现方法 247
6.4 IIR滤波器的C54x实现方法 259
6.5 快速傅里叶变换(FFT)的C54X实现方法 266
6.6 正弦和余弦信号发生器 273
6.7 自举加载器 282
6.8 DMA与McBSP相结合的数据采集系统 288
附录A TMS320系列芯片DSP的命名方法附录B TMS320C5402引脚图和引脚分配表附录C TMS320C54x DSP的中断向量表和硬件中断优先权附录D 等待周期表附录E TMS320C54x指令系统一览表(按指令功能排列)附录F TMS320C54x指令系统一览表(按指令字母顺序排列)附录G TMS320C54x汇编命令一览表附录H FFT正弦、余弦系数表参考文献 355