C2000系列DSP是TI公司TMS320 DSP的三大系列之一,它既具有一般DSP芯片的高速运算和信号处理能力,又和单片机一样在片内集成了丰富的外设,所以,特别适用于数字控制系统。TMS320LF/LC24系列DSP是目前C2000系列中应用最为广泛的DSP芯片。本书介绍TMS320LF/LC24系列DSP的指令和编程工具。全书共分19章,具体内容由3部分组成:指令集、汇编语言工具和C编译器。
本书可供从事自动控制、电气工程、计算机应用和仪器仪表等专业的科研和工程技术人员参考,也可以作为相关专业本科生和研究生选修课的参考书。
第1部分指令集
第1章寻址方式
1.1立即寻址方式
1.2直接寻址方式:
1.3间接寻址方式
第2章汇编语言指令集
2.1指令集概述
2.2怎样用指令集说明
2.3指令集说明
第2部分汇编语言工具
第3章公共目标文件格式
3.1段
3.2汇编器对段的处理
3.3连接器对段的处理
3.4定位
3.5运行时定位
3.6下载程序
3.7公共目标文件中的符号
第4章汇编器
4.1汇编器概述
4.2汇编器开发流程
4.3调用汇编器
4.4TMS320C1x/C2x/C2xx/C5x处理器中的向上兼容性
4.5汇编器输入的变更目录命名
4.6源语句格式
4.7常量
4.8字符串
4.9符号
4.10表达式
4.11源列表
4.12交叉引用列表
4.13增强指令型
第5章汇编伪指令
5.1伪指令总结
5.2段定义伪指令
5.3初始化常数伪指令
5.4段程序计数器排序伪指令
5.5输出列表格式伪指令
5.6引用其他文件的伪指令
5.7条件汇编伪指令
5.8汇编时间符号伪指令
5.9其他伪指令
5.10伪指令参考
第6章指令集总结
6.1总结表的使用
6.2增强指令
6.3指令集总结表
第7章宏语言
7.1宏指令的使用
7.2宏指令的定义
7.3宏指令参数/替代符号
7.4宏库
7.5在宏中使用条件汇编
7.6在宏中使用标号
7.7在宏中产生信息
7.8格式化输出列表
7.9递归和嵌套的使用
7.10宏指令小结
第8章存档器
8.1存档器综述
8.2存档器开发流程
8.3存档器的调用
8.4存档器举例
第9章连接器描述
9.1连接器开发流程
9.2连接器的调用
9.3连接器的选择项
9.4连接器命令文件
9.5目标库
9.6MEMORY伪指令
9.7SECTIONS伪指令
9.8指定段的运行地址
9.9UNION和GROUP语句的使用
9.10重叠页面
9.11默认定位算法
9.12特殊的段类型
9.13在连接时给符号赋值
9.14生成和填充空洞
9.15部分连接
9.16连接C代码
9.17连接器举例
第10章绝对列表器
10.1产生绝对列表
10.2调用绝对列表器
10.3绝对列表器举例
第11章交叉引用列表器
11.1产生一个交叉引用列表
11.2调用交叉引用列表器
11.3交叉引用列表举例
第12章十六进制转换应用程序
12.1十六进制转换应用程序开发流程
12.2调用十六进制转换应用程序
12.3命令文件
12.4存储器宽度
12.5ROMS伪指令
12.6SECTIONS伪指令
12.7输出文件名
12.8映像模式和-fill选项
12.9为片内引导装载器创建引导表
12.10ROM器件地址的控制
12.11目标格式说明
12.12十六进制转换应用程序出错信息
第3部分C编译器
第13章C编译器说明
13.1概述
13.2关于shell程序
13.3调用编译器shell
13.4通过选项改变编译器的状态
13.5使用环境变量改变编译器的状态
13.6控制预处理器
13.7内联函数的扩展
13.8使用内部列表应用程序
13.9编译错误的检测和处理
13.10单独调用编译器的工具
第14章C语言代码的优化
14.1使用C编译优化器
14.2使用-03选项
14.3程序级的优化(—pm和-03选项)
14.4使用代码优化时的特殊考虑
14.5自动内联扩展(—oi选项)
14.6使用内部列表应用程序
14.7调试优化代码
14.8执行哪种优化
第15章连接C代码
15.1作为单独的程序调用连接器
15.2调用带有shell编译器的连接器(-2选项)
15.3禁止连接器(shell选项-c)
15.4连接器选项
15.5控制连接过程
第16章TMS320C2000的C语言
16.1TMS320C2000C语言的特点
16.2数据类型
16.3寄存器变量
16.4Pragma伪指令
16.5asm语句
16.6产生全局寄存器变量
16.7初始化静态和全局变量
16.8与K&R标准C的兼容性
16.9编译器的限制
第17章运行环境
17.1存储器模型‘
17.2寄存器规定
17.3函数结构和调用规则
17.4C与汇编语言的接口
17.5中断处理
17.6整型表达式分析
17.7浮点表达式分析
17.8系统初始化
第18章运行时间支持函数
18.1库
18.2头文件
18.3行时间支持函数及宏小结
18.4运行时间支持函数及宏的描述
第19章建库应用程序
19.1调用建库应用程序
19.2建库应用程序选项
19.3选择项总结
参考文献
经过全体编译老师和编译委员会近一年的努力,“TI TMS320系列DSP中文手册”终于陆续和广大读者见面了。
数字信号处理器(DigitalSignalProcessing,DSP)是对信号和图像实现实时处理的一类高性能的CPU。所谓“实时(Real-Time)实现”,是指一个实际的系统能在人们听觉、视觉或按任务要求所允许的时间范围内实现对输入信号的处理并将其输出。目前,DSP已广泛应用于通信、家电、航空航天、工业测量、控制、生物医学工程及军事等许许多多需要实时实现的领域。
美国德州仪器(Texaslnstruments,T1)公司是全球DSP研发和生产的领先者。自1982年推出第一块DSP芯片以来,到20世纪90年代中期,TI先后推出了C10、C20、C30、C40、C50及C80等6代TMS320系列的DSP产品。紧接着又推出了C2000系列、C5000系列和C6000系列三大主流产品,并推出了将DSP和ARM合为一体的OMAP系列。这些产品无论是在国外还是在国内都获得了广泛的应用。例如,“n中国大学计划”在2003年举办的“TIDSP设计比赛”中,国内高校就有约90个队参加,足见DSP在我国已经得到普遍的重视。
凡是从事过含有CPU的系统设计(单片机或DSP)的同志都知道,为了顺利地实现设计任务,—一本或几本好的手册是必不可少的,其中包括该CPU的结构手册、指令和汇编语言手册以及开发手册等。
由于TI的DSP发展迅速,产品更新快,因此其手册自然也非常多。由于手册需要更新和补充,因此,彼此之间难免会出现重复和种类繁多的现象。使用过TIDSP文档的同志都感觉到,其手册在使用上是有相当难度的。另外,TIDSP文档都是用英文写成,这也给部分工程技术人员带来一定的困难。
鉴于此,TI中国主管提出委托国内的高校老师对其文档进行编译,并授权清华大学出版社正式出版。在“TI中国大学计划”的建议下,2003年6月通过推荐和报名方式成立了编译委员会。
通过认真讨论,编译委员会首先确定了文档编译的原则,然后确定了编译的书目,最后确定了每一本书的编译者。
关于编译的原则,我们提出了如下两点:
(1)本文档的定位为“手册”。也就是说,每一位文档的编译者应全面了解和掌握所编译书目的所有英文文档,并了解各个文档之间的关系,在保证文档完整的基础上,选择最新的文档,并去除其中的重复内容和已经淘汰的内容。
(2)要尽可能地按照TI英文文档的“本意”来形成中文,以保证手册的准确性。允许作者按自己的经验有所发挥,以便于难点的理解。
这次编译的书目包含三大部分,一是各个系列的共用部分,如CCS、DSP/BIOS、算法标准、C语言编译器及开发工具等各个手册;二是按C2000、C5000和C6000三大系列分
别编译它们的CPU结构及指令手册;三是分别编译它们的应用。
编译计划在“TI中国大学计划”的相关会议上提出后,得到了国内高校许多老师的热情支持,很快便将要编译的书目——落实。这些老师都有着从事DSP教学和科研的丰富经验,正是由于他们的大力支持,才使这一庞大的工作计划能够付诸实施。在此,谨向参加本系列手册编译工作的全体老师表示衷心的感谢!
“TI中国大学计划”在本系列手册的编译过程中给予了多方面的大力支持,在此向他们表示衷心的感谢!
由于本系列手册的编译工作量大、时间紧,因此,尽管编译的老师和编译委员会都尽了最大的努力,但也难免有不妥、甚至错误之处,编译委员会全体老师恳切地希望广大读者给以批判指正。
数字信号处理器(DigitalSignalProcessor,DSP)是当前发展非常迅速的一类电子器件,其功能强大,应用相当广泛。在世界上几个生产DSP芯片的大公司中,TI(Texaslnstruments)公司TMS系列DSP芯片的市场占有率最高。TI中国大学计划的实施也促进了国内大学DSP的教学和DSP的开发。目前,国内应用的DSP主要以TI公司的TMS320系列为主。但是,TIDSP的文档一是多,二是杂,三是彼此之间相互重复,这给使用者带来了很大的困难。例如,我们从TI的网站上发现,nC2000,C5000和C60003个系列的文档超过100多册。对于一个DSP初学者来说,往往不知道哪一本文档是最重要的。此外,这些文档都是用英文写成,这对国内企业界的相当一部分工程师来说,阅读会有一定的难度。近年来,国内大学的老师已陆续出版了十几本有关DSP的教材。然而,这些教材一般都是为满足教学需要而编写的,在选材上基本上都是对DSP做概括性的介绍,或是针对某一部分的内容做较为详细的介绍。这些教材对课程教学是有用的,但是作为产品开发,还必须阅读原手册。鉴于以上原因,TI公司委托由清华大学胡广书教授牵头,组织多所高校教师编译出版TIDSP文档。选择TIDSP产品中最具代表性的3个系列,即C2000、C5000、C6000的文档进行编译出版。本书是该套文档中的一本。
C2000系列DSP是TI公司TMS320DSP的三大系列之一,它既具有一般DSP芯片的高速运算和信号处理能力,又和单片机一样在片内集成了丰富的外设,所以,特别适用于数字控制系统。TMS320LF/LC24系列DSP是目前C2000系列中应用最为广泛的DSP芯片。本书介绍TMS320LF/LC24系列DSP的指令和编程工具,全书共分19章,具体内容由3部分组成:指令集、汇编语言工具和C编译器。已出版的((TMS320LF/LC24系列DSP的CPU与外设》介绍TMS320LF/LC24系列的硬件,本书与其配套,介绍TMS320LF/LC24系列的软件。
本书由合肥工业大学电气与自动化工程学院徐科军主编,肖本贤和张兴任副主编。具体完成编译工作的为:徐科军编译第1章,肖本贤、娄天玲和郭福权编译第2章(其中,从开始到指令15由肖本贤完成,指令16到指令36由娄天玲完成,指令37到最后由郭福权完成),童鸣和张强编译第3章,汪令祥和余发平编译第4章,司媛媛、姚丹和方亮编译第5章,邓凡李和倪华编译第6章,肖本贤编译第7章,娄天玲编译第8、第·10和第11章,张松灿编译第9章,郭福权编译第12章,吴婷编译第13章至第17章,任好编译第18章和第19章。肖本贤负责筇2章、第7章至第12章的审阅,张兴负责第3章至第6章的审阅,徐科军负责第1章、第13章至第19章的审阅和全书的统稿。
由于编译者的水平有限,书中可能存在不妥之处,敬请广大读者批评指正。