- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第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芯片各种功能并在非实时条件下进行软件调试的调试工具,它不需目标硬件支持,只需在计算机上运行 硬件仿真器(Emulator:XDS510、560) 可用来进行系统级的集成调试,是进行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]] .usect symbol”section name”,size[,[blocking flag][,alignment flag]] 每次使用.bss指令,汇编器就在对应的段开辟更多的存储空间 每次
您可能关注的文档
最近下载
- 实施指南《GB21345 - 2024黄磷单位产品能源消耗限额》实施指南.pptx VIP
- 吉林省德惠市第三中学2024-2025学年七年级上学期9月月考地理试题.docx VIP
- 气流干燥器设计说明书.doc VIP
- 《电子商务基础》中职电子商务专业全套教学课件.pptx
- 桶装水项目质量管理方案.docx VIP
- 地震数据采集设备的收放方法、集运箱和车辆.pdf VIP
- 压力管道壁厚及开孔补强计算.xls VIP
- 四五级拼音版 (20220824修订).pdf VIP
- 幼儿园区域留痕培训.pptx VIP
- 2025年贵州省高职(专科)分类招生中职生文化综合考试试卷(英语试题)676.pdf VIP
文档评论(0)