11:DSP原理及应用——第4章汇编语言程序的开发工具(第11次课)(讲稿)

11:DSP原理及应用——第4章汇编语言程序的开发工具(第11次课)(讲稿)

ID:43575457

大小:2.04 MB

页数:39页

时间:2019-10-11

11:DSP原理及应用——第4章汇编语言程序的开发工具(第11次课)(讲稿)_第1页
11:DSP原理及应用——第4章汇编语言程序的开发工具(第11次课)(讲稿)_第2页
11:DSP原理及应用——第4章汇编语言程序的开发工具(第11次课)(讲稿)_第3页
11:DSP原理及应用——第4章汇编语言程序的开发工具(第11次课)(讲稿)_第4页
11:DSP原理及应用——第4章汇编语言程序的开发工具(第11次课)(讲稿)_第5页
资源描述:

《11:DSP原理及应用——第4章汇编语言程序的开发工具(第11次课)(讲稿)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第4章汇编语言程序的开发工具4.1TMS320C54x软件开发过程4.2汇编语言程序的编辑、汇编和链接过程4.3COFF的一般概念4.4源程序的汇编4.5链接器的使用4.1TMS320C54x软件开发过程C源文件C编译器汇编源文件汇编器汇编源文件COFF目标文件链接器可执行的COFF文件宏源文件存档器宏库存档器目标文件库建库工具运行时支持库EPROM编程器交叉引用列表器调试工具TMS320C54x绝对地址列表器HEX代码转换工具非集成开发环境软件开发的流程图本节重点理解五个开发工具C编译器:将C/C++语言源程序自动编译为TM

2、S320C54x汇编语言源程序。汇编器:将汇编语言源文件转换成机器语言的COFF目标文件。链接器:把汇编生成的、可重新定位的COFF目标文件组合成一个可执行的COFF目标模块。建库工具:用来建立用户自己用的、C语言编写的支持运行的库函数。十六进制转换工具:将COFF目标文件转换成EPROM编程器可以识别的代码。4.2汇编语言程序的编辑、汇编和链接过程编辑器汇编器链接器调试器列表文件.lst链接命令文件(cmd)存储器映像文件(map)十六进制转换.asm源程序.obj目标文件.out输出文件-l-m-o4.3COFF的一般概念

3、COFF文件的基本单元——段汇编器对段的处理链接器对段的处理重新定位程序装入COFF文件中的符号公共目标文件格式(COFF)4.3COFF的一般概念基本单元——段(Section)4.3COFF的一般概念.bss.data.textRAME2PROMROM...目标文件(COFF)目标存储器目标文件段与目标存储器对应关系汇编器对段的处理4.3COFF的一般概念汇编器对段的处理4.3COFF的一般概念段起点——可选项。指定时为SPC定义一个起始值,每个段只能指定一次SPC,而且是第一次遇到该段时指定。SPC默认从0开始。汇编器对

4、段的处理.usect—产生与.bss类似的段;.sect—产生与.text和.data类似的段。最多可产生32767个段;段名可达200字符.4.3COFF的一般概念汇编器对段的处理4.3COFF的一般概念段程序计数器(SPC)段命令应用举例链接器对段的处理4.3COFF的一般概念链接器默认的存储器配置4.3COFF的一般概念段的重定位(Reallocation)链接时重定位:●将各个段定位到存储器中,每个段都从合适的地址开始;●将符号值调整到相对于新的段地址的数值;●调整对重新定位后符号的引用。链接器对段的重新定位运行时重定

5、位:将代码装入存储器的一个地方,而运行在另一个地方。利用SECTIONS命令选项让链接器定位两次。一些关键的执行代码必须装入在系统的ROM中,但希望在较快的RAM中运行。链接器提供了一个简单的处理该问题的方法。利用SECT-IONS命令选项让链接器定位两次。第一次使用装入关键字设置装入地址,再用运行关键字设置运行地址。可以采用以下方法装入程序:使用调试工具转入程序’C54x的调试工具包括软件模拟器,XDS仿真器和集成系统CCS。它们都具有内部的装入器,调用装入器的LOAD命令,装入器将程序复制到目标系统的存储器中。采用He

6、x转换工具转入程序可以使用转换工具Hex500,将可执行COFF目标模块转换成几种其他目标格式文件,然后将转换后的文件通过编程器将程序装(烧)进EPROM。程序装入COFF文件中的符号常用汇编伪指令类别伪指令功能举例段定义.text代码段.data数据段.bss未初始化段.bssa,10.sect命名段.sect“hu”.usectx.usect“hu”,84.4源程序的汇编类别伪指令功能举例初始化常数.byte初始化一或多个连续字节.byte10,-1,“ab”.char初始化一或多个连续字符.char20,‘a’,‘b’.

7、field初始化一或多个域.field0ABCh,14.float初始化一或多个单精度浮点数.float123.xfloat同上,但不自动对准长字边界【例4.4.3P116】.int初始化一或多个16位整数.int10,20.short初始化一或多个16位整数.short20,45.word初始化一或多个16位整数.word044h,055h.double初始化一或多个双精度浮点数.double-1.0e25.long初始化一或多个32位整数.long0ABCDh.string初始化一或多个字符串.string“abc”,“1

8、23”常用汇编伪指令常用汇编伪指令类别伪指令功能举例引用其他文件、定义或引用符号.copy从其他文件读取源程序.copy“a.asm”.include从其他文件读取源程序.includea.inc.def识别在当前模块中定义且可被其他模块引用的符号.defstart.ref识

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。