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学习笔记 ...
随机推荐
- 使用urllib编写python爬虫
新版python中,urllib和urllib2合并了,统一为urllib (1)简单爬取网页 import urllib content = urllib.request.urlopen(req). ...
- 9_13学习完整修改和查询&&实体类,数据访问类
完整修改和查询:中间变量运用. 1.先查 2.执行操作 ---------------------------------------------------- namespace ADO.NET_小 ...
- In close() at SocketHttpClientConnection in Android
In close() at SocketHttpClientConnection Error In Android. when i tried to acess network data on Mai ...
- 理解OAuth 2.0(转载)
作者: 阮一峰 原文地址:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html OAuth是一个关于授权(authorization)的开放网络标 ...
- 对HTML+CSS+JavaScript的个人理解
HTML就像人的骨头架子,是人的根基,要有个人样呀,一个网站,一个WebApp要是缺根儿骨头,那就像人少个胳膊少个腿儿的,行动不方便啊:CSS就像人穿得衣服.鞋子,男人的纹身,女人擦得粉儿,好看呀,一 ...
- Python学习路程day8
Socket语法及相关 socket概念 A network socket is an endpoint of a connection across a computer network. Toda ...
- docker 源码分析 一(基于1.8.2版本),docker daemon启动过程;
最近在研究golang,也学习一下比较火的开源项目docker的源代码,国内比较出名的docker源码分析是孙宏亮大牛写的一系列文章,但是基于的docker版本有点老:索性自己就git 了一下最新的代 ...
- Android使用文件存储数据
Android上最基本的存储数据的方式即为使用文件存储数据,使用基本的Java的FileOutStream,BufferedWriter,FileInputStream和BufferedReader即 ...
- BZOJ 1015 并查集+离线倒序
统计块个数写错了调了好久啊,BZOJ1696的弱化版本. #include <iostream> #include <cstring> #include <algorit ...
- C#泛型类容器
非泛型容器的缺点: (1) 性能问题. 在使用值类型时,必须将值类型装箱(Boxing)以便推送和存储,并且在将值类型从容器中取出时将其取消装箱(Unboxing).装箱和取消装箱都会根据值类型的权限 ...