第1篇 TMS320LF240xCPU和汇编程序设计
第1章 TMS320lF240xDSP简介
1. 1 DSP芯片基本结构
1. 2 TMS320LF240xDSP控制器简介
1. 2. 1 基于控制领域的应用
1. 2. 2 TMS320LF240x特点和资源
1. 2. 3 TMS320LF240x的功能结构
1. 3 TMS320LF240xDSP存储映射
1. 3. 1 TMS320LF240xDSP存储器映射
1. 3. 2 TMS320LF240xDSP外设存储器映射图
1. 4 TMS320LF240x的CPU内部总线结构
第2章 存储器和UO空间
2. 1 片内存储器
2. 1. 1 双端口RAM(DARAM)
2. 1. 2 单端口RAM(SARAM)
2. 1. 3 FLASH程序存储器
2. 2 程序存储器
2. 3 数据存储器
2. 4 I/O空间
第3章 中央处理单元(CPU)
3. 1 TMS320LF240xDSP的CPU功能模块
3. 2 输入定标部分
3. 3 乘法部分
3. 3. 1 乘法器
3. 3. 2 乘积定标移位器
3. 4 中央算术逻辑部分
3. 4. 1 中央算术逻辑单元
3. 4. 2 累加器(ACC)
3. 4. 3 输出定标移位器
3. 5 辅助寄存器算术单元(ARAU)
3. 5. 1 辅助寄存器算术单元(ARAU)简述
3. 5. 2 辅助寄存器
3. 6 状态寄存器ST0和STl
3. 7 外部存储器接口操作
第4章程序控制
4. 1 程序地址的产生
4. 1. 1 程序计数器(PC)
4. 1. 2 堆栈
4. 1. 3 微堆栈(MSTACK)
4. 2 指令流水线操作
4. 3 转移. 调用和返回
4. 3. 1 无条件转移
4. 3. 2 无条件调用
4. 3. 3 无条件返回
4. 4 条件转移. 调用和返回
4. 4. 1 使用多个条件
4. 4. 2 条件的稳定
4. 4. 3 条件转移
4. 4. 4 条件调用
4. 4. 5 条件返回
4. 5 重复单条指令
4. 6 中断
4. 7 CPU中断寄存器
4. 7. 1 CPU中断标志寄存器
4. 7. 2 CPU中断屏蔽寄存器
第5章 寻址方式
5. 1 立即寻址方式
5. 2 直接寻址方式
5. 2. 1 使用直接寻址方式
5. 2. 2 直接寻址举例
5. 3 间接寻址方式
5. 3. 1 当前辅助寄存器
5. 3. 2 间接寻址的选择
5. 3. 3 下一次的辅助寄存器
5. 3. 4 间接寻址操作码的格式
5. 3. 5 间接寻址举例
5. 3. 6 修改辅助寄存器的内容
第6章 汇编程序设计及开发环境
6. 1 TMS320LF240xDSP的应用软件开发流程和工具
6. 2 COFF文件概述
6. 2. 1 COFF文件的基本单元--段
6. 2. 2 汇编器对段的处理
6. 2. 3 链接器对段的处理
6. 2. 4 重新定位
6. 2. 5 运行时重新定位
6. 2. 6 加载程序
6. 2. 7 COFF文件中的符号
6. 3 汇编语言程序格式
6. 4 程序汇编
6. 4. 1 运行汇编程序
6. 4. 2 条件汇编
6. 4. 3 列表文件
6. 4. 4 交叉引用清单
6. 5 程序链接
6:5. 1 链接器的调用
6. 5. 2 链接器的选项
6. 5. 3 链接器命令文件(. cmd文件)
6. 6 编写链接器命令文件(. cmd文件)
6. 6. 1 MEMORY指令
6. 6. 2 SECTIONS指令
6. 6. 3 MEMORY和SECTIONS指令的默认算法
6. 6. 4 基于CCS环境下命令文件编写实例
6. 7 宏定义和宏调用
6. 7. 1 宏定义
6. 7. 2 宏调用
6. 8 集成开发环境(CCS)
6. 8. 1 CCS的系统配置
6. 8. 2 运行CCS
6. 8. 3 建立工程文件
6. 8. 4 设置工程项目选项
6. 8. 5 编译和创建输出目标文件
6. 8. 6 仿真运行输出目标文件
6. 8. 7 查看存储器信息
6. 8. 8 查看寄存器信息
6. 8. 9 修改存储器和寄存器内容
6. 8. 10 设置断点和探测点
6. 8. 11 FLASH烧录
6. 9 TMS320LF240xDSP汇编程序开发实例
6. 9. 1 寄存器定义文件240xA,h
6. 9. 2 中断向量表定义文件
6. 9. 3 闭环PID控制汇编程序
第7章 汇编语言指令
7. 1 指令集概述
7. 2 如何使用指令描述
7. 2. 1 语法
7. 2. 2 操作数
7. 2. 3 操作码
7. 2. 4 执行
7. 2. 5 状态位
7. 2. 6 说明
7. 2. 7 字数
7. 2. 8 周期数
7. 2. 9 举例
7. 3 指令描述
第2篇 TMS320LF240xC语言编程
第8章 C编译器概述
8. 1 C编译器特性
8. 2 命令解释程序
8. 3 调用编译器命令解释程序
8. 4 改变编译器的选项
8. 4. 1 常用的选项
8. 4. 2 指定文件名
8. 4. 3 修改Shell对文件名的解释
8. 4. 4 修改Shell对文件名扩展的解释和命名
8. 4. 5 指定目录
8. 4. 6 忽略ANSIC类型检查的选项
8. 4. 7 运行时模块选项
8. 4. 8 控制汇编器的选项
8. 5 使用环境变量改变编译器特性
8. 5. 1 设置默认Shell选项(C OPTION)
8. 5. 2 指定临时文件目录(TMP)
8. 6 控制预处理器
8. 6. 1 预定义的宏名
8. 6. 2 #include文件的搜索路径
8. 6. 3 用-i选项改变#include文件的搜索路径
8. 6. 4 产生预处理的列表文件(-p1选项]
8. 7 使用直接插入函数展开
8. 7. 1 直接插入内部操作数
8. 7. 2 控制直接插入函数展开(-x选项)
8. 7. 3 -INLINE预处理器符号
8. 8 使用交互列表工具
8. 9 编译错误简介
8. 10 使用CCS汇编工具
第9章 优化C代码
9. 1 使用C编译优化器
9. 2 使用-o3选项
9. 2. 1 控制文件级优化(-oln选项]
9. 2. 2 创建优化信息文件(-onn选项)
9. 3 执行程序优化级
9. 3. 1 控制程序级优化(-opn选项)
9. 3. 2 当混合C语言和汇编的优化考虑因素
9. 3. 3 命名程序编译输出文件(-px选项)
9. 4 自动内嵌扩展(-oi选项)
9. 5 使用交互列表工具
9. 6 调试优化的代码和优化类型
9. 6. 1 调试优化的代码
9. 6. 2 可执行的优化类型
第10章 链接C代码
10. 1 单步调用链接器
10. 2 使用编译器的Shen程序调用链接器(-z选项)
10. 3 禁用链接器(-c Shell选项)
10. 4 控制链接过程
10. 4. 1 链接运行时支持库
10. 4. 2 指定初始化类型
10. 4. 3 指定段在存储器中的分配
10. 4. 4 链接器命令文件实例
第11章 TMS320LF240x的C语言
11. 1 TMS320LF240xC语言的特点
11. 2 数据类型
11. 3 寄存器变量和全局寄存器变量
11. 3. 1 寄存器变量
11. 3. 2 创建全局寄存器变量
11. 4 Pragma伪指令
11. 5 初始化静态和全局变量
11. 6 C语言和汇编语言混合编程
11. 6. 1 用C代码调用汇编语言模块
11. 6. 2 在C语言中插入汇编语句
11. 6. 3 在程序中访问汇编语言变量
11. 6. 4 修改编译器输出
第12章 运行时环境和支持库
12. 1 存储器模式
12. 1. 1 段
12. 1. 2 C系统堆栈
12. 1. 3 分配. const到程序存储器
12. 1. 4 动态存储器分配
12. 1. 5 变量初始化
12. 1. 6 为静态和全局变量分配存储器
12. 1. 7 字符串常数
12. 2 寄存器规定
12. 2. 1 状态寄存器的位
12. 2. 2 堆栈指针. 帧指针和局部变量指针
12. 3 函数结构和调用规定
12. 3. 1 函数如何进行调用
12. 3. 2 被调用函数如何响应
12. 4 中断处理
12. 4. 1 C语言中断的基本知识
12. 4. 2 使用C中断程序
12. 4. 3 使用汇编语言中断程序
12. 5 系统初始化
12. 5. 1 运行时堆栈
12. 5. 2 变量自动初始化
12. 5. 3 初始化表
12. 5. 4 运行时变量的自动初始化
12. 5. 5 在加载时变量的初始化
12. 6 运行时支持库函数
12. 6. 1 库
12. 6. 2 头文件
第13章 应用实例
13. 1 对称PWM波形产生实例
13. 1. 1 主程序Exam2407. c
13. 1. 2 中断向量表定义文件cvectors. asm
13. 1. 3 外设寄存器定义文件f2407C. h
13. 1. 4 链接器命令文件Exam2407C. cmd
13. 2 产生锯齿波波形
13. 2. 1 主程序
13. 2. 2 包含程序DAC. h
13. 2. 3 包含程序ioreg. h
13. 2. 4 中断向量表定义vectors. asm
13. 2. 5 引导程序Boot2407. asm
13. 2. 6 链接器命令文件Saw wave. cmd
附录 汇编指令索引
参考文献