第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. eclipse中配置tomcat后,运行jsp时出现Server Tomcat v7.0 Server at localhost failed to start.

    最近在进行jsp开发学习,在配置上还是遇到很多问题. 在连接好数据库后,写了第一个jsp测试页面,结果在运行eclipse中运行toamcat时出现了错误提示:Server Tomcat v7.0 S ...

  2. 并发编程 17—— Lock

    Java并发编程实践 目录 并发编程 01—— ThreadLocal 并发编程 02—— ConcurrentHashMap 并发编程 03—— 阻塞队列和生产者-消费者模式 并发编程 04—— 闭 ...

  3. apche的主配置文件)

    apche的主配置文件conf/httpd.conf(根据个人主机的路径设置,以下仅供参考) 需配置的行号与方法(示列): 172  #ServerName localhost:80 173 Serv ...

  4. 递归算法(二)——前缀转后缀

    源码:pretopost.cpp #include "stdafx.h" #include <stdio.h> #include <stack> /**** ...

  5. Windows Store App 插值动画

    插值动画支持DoubleAnimation.ColorAnimation和PointAnimation类型的动画.其中比较常用的是DoubleAnimation动画,它可以用来控制界面元素的Doubl ...

  6. Linux diable ipv6

    在RHEL 5下面测试成功     linux下面禁止ipv6的方法: 来自: 杨志刚 博客 (http://yangzhigang.cublog.cn)   这里我所做的是Redhat Linux, ...

  7. 如何在CentOS 7.x中安装OpenERP(Odoo)

    各位好,这篇教程关于的是如何在CentOS 7中安装Odoo(就是我们所知的OpenERP).你是不是在考虑为你的业务安装一个不错的ERP(企业资源规划)软件?那么OpenERP就是你寻找的最好的程序 ...

  8. Android Studio插件推荐(PreIOC,GsonFormat)

    好的插件能加快项目的开发速度,尤其是一些针对重复性的代码的插件,所以在这里向大家推荐2款不错的插件,如果以后发现新的好的插件,还会继续推荐,同时欢迎大家推荐 GsonFormat GsonFormat ...

  9. UIView及其子类

    一.UI概述 UI(User Interface):用户界⾯,用户能看到的各种各样的⻚面元素. iOS App = 各种各样的UI控件 + 业务逻辑和算法 二.UIView 在手机上显示的内容都是UI ...

  10. 深入学习JavaScript: apply 方法 详解(转)——非常好

    主要我是要解决一下几个问题: 1.        apply和call的区别在哪里 2.        什么情况下用apply,什么情况下用call 3.        apply的其他巧妙用法(一般 ...