TMS320C54x系列DSP指令和编程指南——第1章 汇编语言工具概述
第1章 汇编语言工具概述
TMS320C54x DSP的汇编语言开发工具包括:
■ Assembler
■ Archiver
■ Linker
■ Absolute lister
■ Cross-reference utility
■ Hex conversion utility
■ Mnemonic-to-algebraic translator utility
本章将概要介绍上述工具在软件开发流程中如何协调工作,并对每个开发工具进行简要说明。
1.1 软件开发工具概述
图1.1给出了C54x的软件开发流程,阴影部分强调的是最常用的开发流程,其它部分是可选的,用来增强开发能力。

1.2 软件开发工具介绍
下面简要介绍图1.1中的各个开发工具。
■ C/C++编译器 将C语言或C++语言的源代码转换成C54x的汇编语言代码。编译器工具包中也包含了建库工具,用来建立用户自己的运行时支持库。
■ 汇编器 将汇编语言源代码为COFF格式的机器语言目标代码。C54有两种汇编器,分别用来汇编助记符汇编语言源文件和代数汇编语言源文件。源文件中可以包含指令、汇编伪指 令以及宏伪指令。用户可以使用汇编伪指令来控制汇编器的操作,如源列表的格式、数据对齐以及段的内容等。
■ 连接器 将汇编器产生的多个可重新定位的COFF目标文件组合起来,生成一个可执行的COFF目标程序块。可靠垫的COFF目标程序块生成后,将符号与存储位置对应起来,并且解决对这些符号的访问。它也接受之前连接器运行时所创建的文档库成员和输出模块。连接器伪指令用来组合目标文件的段,把段或符号限定在某个地址或某些存储器地址范围内,并定义或者重新定义全书符号等。
■ 文档管理器 将一组文件收集保存到单个档案文件中,称为库。例如,用户可以将几个宏文件保存为一个宏库。汇编器搜索库,并且将其中的成员作为宏块供源文件调用。用户也可以将多个目标文件保存成一个目标程序库,连接器在执行连接时将外部对此目标程序的调用导入到库中。
■ 助记符指令到代数指令的转换器 将包含助记符指令的源文件转换成包含代数指令的源文件。
■ 建库工具 用来建立用户定制的C/C++运行时支持库。TI提供的标准运行时支持库函数的源代码存储在rts.src文件中,目标代码存储在文件trs.lib中。
■ 十六进制转换工具 TMS320C54x中的CCS调试器以COFF文件为输入,但是绝大多数的EPROM编程器却不能识别COFF文件,需要使用十六进制转换工具将OCFF目标文件转换成TI-tagged格式、Intel格式、Motorola格式或者Tektronix格式的目标文件后才能下载到EPROM编程器中。
■ 地址列表器 读取连接后的目标文件,创建.abs输出文件。用户可以汇编.abs文件产生一个包含绝对地址而非相对地址的列表。如果不用绝对地址列表器,产生这样一个列表是很麻烦的工作,可能需要很多手工操作。
■ 交叉引用列表器 用目标文件产生一个交叉引用的列表,显示符号、符号的定义它们在已经连接的源文件中的引用情况。
上述开发处理流程生成一个可以在C54x目标系统中执行的程序。可以使用以下三种调试工具精简和优化代码:
■ 软件仿真器
■ 评估板(EVM)
■ XDS仿真器
TMS320C54x系列DSP指令和编程指南——第1章 汇编语言工具概述的更多相关文章
- TMS320C54x系列DSP指令和编程指南——第2章 通目标文件格式介绍
第2章 通用目标文件格式介绍 汇编器和连接器可以产生在TMS320C54x器件上执行的目标文件,这些目标文件的格式称为通用目标文件格式(COFF).采用COFF格式有利于程序的模式化编程,因为它支持用 ...
- TMS320C54x系列DSP的CPU与外设——第1章 绪论
第1章 绪论 TMS320C54x DSP是TMS320系列DSP产品中的定点数字信号处理器.C54x DSP满足了实时嵌入式应用的一些要求,例如通信方面的应用. C54x的中央处理单元(CPU)具有 ...
- TMS320C54x系列DSP的CPU与外设——第2章 TMS320C54x DSP体系结构总体介绍
第2章 TMS320C54x DSP体系结构总体介绍 本章介绍TMS320C54x DSP体系结构的概况,包括中央处理单元(CPU).存在器和片内外设. C54x DSP采用了高级的改进哈佛结构,用8 ...
- TMS320C54x系列DSP的CPU与外设——第8章 流水线
第8章 流水线 本章描述了TMS320C54x DSP流水线的操作,列出了对不同寄存器操作时的流水线延迟周期.(对应英语原文第7章) 8.1 流水线操作 TMS320C54x DSP有一个6段的指令流 ...
- TMS320C54x系列DSP的CPU与外设——第3章 存储器
第3章 存储器 本章介绍了TMS320C54x DSP存储器的构成和操作.一般来说,C54x器件共有192K 16位字的存储窨,这个空间分成3个专用的部分:64K字程序.64K字数据和64K字I/O ...
- TMS320C54x系列DSP的CPU与外设——第5章 数据寻址
第5章 数据寻址 C54x DSP提供7种基本寻址方式. ■ Immediate addressing uses the instruction to encode a fixed value. ...
- C++ 系列:Boost Thread 编程指南
转载自:http://www.cppblog.com/shaker/archive/2011/11/30/33583.html 作者: dozbC++ Boost Thread 编程指南0 前言1 创 ...
- erlang 编程指南 第三章-顺序编程 课后练习
1. sum(3) => 6; sum(1,3) => 6; sum(6,6) => 6; sum(N) when is_integer(N) -> sum_acc(N,0); ...
- 安卓权威编程指南 - 第五章学习笔记(两个Activity)
学习安卓编程权威指南第五章的时候自己写了个简单的Demo来加深理解两个Activity互相传递数据的问题,然后将自己的学习笔记贴上来,如有错误还请指正. IntentActivityDemo学习笔记 ...
随机推荐
- Java 类中各成分加载顺序 和 内存中的存放位置
参加一个笔试,有一个关于类的静态代码块.构造代码块.构造函数的执行顺序的问题.不太清楚,网上百度了一下.在这里记录一下. 一.什么时候会加载类?使用到类中的内容时加载:有三种情况1.创建对象:new ...
- MFC List Control 控件添加单元格编辑,实现可编辑重写
在实现随机生成四则运算的个人项目中,目前已经完成基本功能,想要把程序变成一个Windows界面的程序.原本以为学习过MFC,应该很快就能完成.但是由于以前用的都是VC6.0,这次用了VS2010,稍微 ...
- 使用Maven构建RichFaces 4.x项目
使用Maven构建RichFaces 4.x项目 目录 开始之前 第一步 - 创建Maven项目 第二布 - 添加依赖文件 第三步 - 配置RichFaces 第四步 - 创建显示页面 开始之前 本文 ...
- iOS开发拓展篇—音频处理(音乐播放器5)
iOS开发拓展篇—音频处理(音乐播放器5) 实现效果: 一.半透明滑块的设置 /** *拖动滑块 */ - (IBAction)panSlider:(UIPanGestureRecognizer *) ...
- python打印目录下的文件名
打印当前目录所有文件名 import fnmatch, os def allFiles(root, patterns = '*', single_level = False, yield_folder ...
- node
docker run -d --name data -v c:/jayruanwork/app:/usr/share/app busybox || windows c:\jayruanwork\app ...
- 关于edoc程序tomcat post提交中文乱码解决办法
1修改源码代码中页面部分指定转码格式为UTF-8替换原来的gb2312或GBK 2源码新增 water.edoc.service.FileFilter 过滤器并在web.xml首行添加制定格式 3to ...
- servlet jsp 客户端服务端跳转
jsp 客户端:href jsp 服务端:forward servlet 客户端:response.sendredirect(); servlet 服务器:request.getRequestDisp ...
- iOS系统消息
一.键盘1.UIKeyboardWillShowNotification-将要弹出键盘2.UIKeyboardDidShowNotification-显示键盘3.UIKeyboardWillHideN ...
- js事件捕获,事件冒泡,事件委托以及DOM事件流
一:DOM事件流: 事件流是从页面接收事件的顺序,DOM2级事件规定事件流包括三个阶段: ①事件捕获阶段:用意在于事件达到目标之前捕获它,在事件捕获阶段事件流模型:document→html→body ...