第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章 汇编语言工具概述的更多相关文章

  1. TMS320C54x系列DSP指令和编程指南——第2章 通目标文件格式介绍

    第2章 通用目标文件格式介绍 汇编器和连接器可以产生在TMS320C54x器件上执行的目标文件,这些目标文件的格式称为通用目标文件格式(COFF).采用COFF格式有利于程序的模式化编程,因为它支持用 ...

  2. TMS320C54x系列DSP的CPU与外设——第1章 绪论

    第1章 绪论 TMS320C54x DSP是TMS320系列DSP产品中的定点数字信号处理器.C54x DSP满足了实时嵌入式应用的一些要求,例如通信方面的应用. C54x的中央处理单元(CPU)具有 ...

  3. TMS320C54x系列DSP的CPU与外设——第2章 TMS320C54x DSP体系结构总体介绍

    第2章 TMS320C54x DSP体系结构总体介绍 本章介绍TMS320C54x DSP体系结构的概况,包括中央处理单元(CPU).存在器和片内外设. C54x DSP采用了高级的改进哈佛结构,用8 ...

  4. TMS320C54x系列DSP的CPU与外设——第8章 流水线

    第8章 流水线 本章描述了TMS320C54x DSP流水线的操作,列出了对不同寄存器操作时的流水线延迟周期.(对应英语原文第7章) 8.1 流水线操作 TMS320C54x DSP有一个6段的指令流 ...

  5. TMS320C54x系列DSP的CPU与外设——第3章 存储器

    第3章  存储器 本章介绍了TMS320C54x DSP存储器的构成和操作.一般来说,C54x器件共有192K 16位字的存储窨,这个空间分成3个专用的部分:64K字程序.64K字数据和64K字I/O ...

  6. TMS320C54x系列DSP的CPU与外设——第5章 数据寻址

    第5章 数据寻址 C54x DSP提供7种基本寻址方式. ■ Immediate addressing uses the instruction to encode a fixed value.    ...

  7. C++ 系列:Boost Thread 编程指南

    转载自:http://www.cppblog.com/shaker/archive/2011/11/30/33583.html 作者: dozbC++ Boost Thread 编程指南0 前言1 创 ...

  8. erlang 编程指南 第三章-顺序编程 课后练习

    1. sum(3) => 6; sum(1,3) => 6; sum(6,6) => 6; sum(N) when is_integer(N) -> sum_acc(N,0); ...

  9. 安卓权威编程指南 - 第五章学习笔记(两个Activity)

    学习安卓编程权威指南第五章的时候自己写了个简单的Demo来加深理解两个Activity互相传递数据的问题,然后将自己的学习笔记贴上来,如有错误还请指正. IntentActivityDemo学习笔记 ...

随机推荐

  1. Java 类中各成分加载顺序 和 内存中的存放位置

    参加一个笔试,有一个关于类的静态代码块.构造代码块.构造函数的执行顺序的问题.不太清楚,网上百度了一下.在这里记录一下. 一.什么时候会加载类?使用到类中的内容时加载:有三种情况1.创建对象:new ...

  2. MFC List Control 控件添加单元格编辑,实现可编辑重写

    在实现随机生成四则运算的个人项目中,目前已经完成基本功能,想要把程序变成一个Windows界面的程序.原本以为学习过MFC,应该很快就能完成.但是由于以前用的都是VC6.0,这次用了VS2010,稍微 ...

  3. 使用Maven构建RichFaces 4.x项目

    使用Maven构建RichFaces 4.x项目 目录 开始之前 第一步 - 创建Maven项目 第二布 - 添加依赖文件 第三步 - 配置RichFaces 第四步 - 创建显示页面 开始之前 本文 ...

  4. iOS开发拓展篇—音频处理(音乐播放器5)

    iOS开发拓展篇—音频处理(音乐播放器5) 实现效果: 一.半透明滑块的设置 /** *拖动滑块 */ - (IBAction)panSlider:(UIPanGestureRecognizer *) ...

  5. python打印目录下的文件名

    打印当前目录所有文件名 import fnmatch, os def allFiles(root, patterns = '*', single_level = False, yield_folder ...

  6. node

    docker run -d --name data -v c:/jayruanwork/app:/usr/share/app busybox || windows c:\jayruanwork\app ...

  7. 关于edoc程序tomcat post提交中文乱码解决办法

    1修改源码代码中页面部分指定转码格式为UTF-8替换原来的gb2312或GBK 2源码新增 water.edoc.service.FileFilter 过滤器并在web.xml首行添加制定格式 3to ...

  8. servlet jsp 客户端服务端跳转

    jsp 客户端:href jsp 服务端:forward servlet 客户端:response.sendredirect(); servlet 服务器:request.getRequestDisp ...

  9. iOS系统消息

    一.键盘1.UIKeyboardWillShowNotification-将要弹出键盘2.UIKeyboardDidShowNotification-显示键盘3.UIKeyboardWillHideN ...

  10. js事件捕获,事件冒泡,事件委托以及DOM事件流

    一:DOM事件流: 事件流是从页面接收事件的顺序,DOM2级事件规定事件流包括三个阶段: ①事件捕获阶段:用意在于事件达到目标之前捕获它,在事件捕获阶段事件流模型:document→html→body ...