[信息与通信]第4章 TMS320C55x汇编语言.ppt

  1. 1、本文档共117页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[信息与通信]第4章 TMS320C55x汇编语言

第4章 TMS320C55x汇编语言编程 内容提要: TMS320C55x软件开发流程 TMS320C55x目标文件格式 TMS320C55x汇编器 TMS320C55x汇编伪指令 TMS320C55x汇编语言源文件的书写格式 TMS320C55x链接器 4.1 TMS320C55x软件开发流程 软件开发流程 软件开发工具 编程语言 汇编语言 编程过程复杂,但程序执行效率高 C/C++语言 编程容易,但程序执行效率不如汇编语言 软件开发环境 集成开发环境CCS(Code Composer Studio) 非集成开发环境 图4-1 非集成开发环境下C55x软件开发的流程图 用户采用C/C++语言或汇编语言编写源文件(.c或.asm),经C/C++编译器、汇编器生成COFF格式的目标文件(.obj),再用链接器进行链接,生成在C55x上可执行的目标代码(.out),然后利用调试工具(软件仿真器simulator或硬件仿真器emulator)对可执行的目标代码进行仿真和调试。 当调试完成后,通过Hex代码转换工具,将调试后的可执行目标代码(.out)转换成EPROM编程器能接受的代码(.hex),并将该代码固化到EPROM中或加载到用户的应用系统中,以便DSP目标系统脱离计算机单独运行。 4.1.2 软件开发工具 代码生成工具 源代码编辑器 采用汇编语言或C/C++语言编写的源程序均为文本文件,可以在任何一种文本编辑器中进行。如WORD、EDIT、TC、Windows操作系统自带的笔记本等 C/C++编译器 用来将C/C++语言源程序(.C或.CPP)自动编译为C55x的汇编语言源程序(.asm) 汇编器 用来将汇编语言源文件(.asm)汇编成机器语言COFF目标文件(.obj) 链接器 将汇编生成的、可重新定位的COFF目标模块(.obj)组合成一个可执行的COFF目标模块(.out) 文档管理器 允许用户将一组文件(源文件或目标文件)集中为一个文档文件库 建库实用程序 用来建立用户自己使用的、并用C/C++语言编写的支持运行的库函数 十六进制转换程序 可以很方便地将COFF目标文件(.out)转换成TI、Intel、Motorola等公司的目标文件格式(.hex) 绝对制表程序 将链接后的目标文件作为输入,生成.abs输出文件 交叉引用制表程序 利用目标文件生成一个交叉引用清单,列出链接的源文件中的符号以及它们的定义和引用情况 代码调试工具 软件仿真器(Simulator) 是一种模拟DSP芯片各种功能并在非实时条件下进行软件调试的调试工具,它不需目标硬件支持,只需在计算机上运行 硬件仿真器(XDS510) 可用来进行系统级的集成调试,是进行DSP芯片软硬件开发的最佳工具 4.2 TMS320C55x目标文件格式 COFF文件的基本单元—段 汇编器对段的处理 链接器对段的处理 链接器对程序的重新定位 COFF文件中的符号 通用目标文件格式 COFF,common object file format 段(section)是COFF文件的基本单元。一个段是一个占据存储器里连续地址的代码或者数据块,COFF目标文件的每个段都是分开和不同的 COFF目标文件通常包括3个默认段,即 .text段,通常包含可执行代码 .data段,通常包含初始化数据 .bss段,通常为未初始化变量保留存储空间 图4-2目标文件中的段与目标存储器的关系 一些汇编伪指令可将代码和数据的各个部分与相应的段相联系 4.2.2 汇编器对段的处理 汇编器通过段伪指令自动识别各个段,并将段名相同的语句汇编在一起 汇编器有5条伪指令可以识别汇编语言程序的各个不同段 .text、.data、.sect创建初始化段 .bss和.usect创建未初始化段 .sect与.usect创建自定义段和子段 1.未初始化段 未初始化段占用处理器存储空间,常常分配到RAM 未初始化段在目标文件里没有实际内容,仅仅用于保留存储空间,当程序在运行时用这些空间来创建和存储变量 汇编命令.bss和.usect用来创建未初始化数据区域 .bss symbol,size[,[blocking flag][,alignment flag]] symbol .usect ”section name”,size[,[blocking flag][,alignment flag]] 每次使用.bss指令,汇编器就在对应的段开辟更多的存储空间 每次使用.usect指令,汇编器就

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档