- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在第3章中,简单介绍了DSP软件开发的一般流程以及TI公司的eXpressDSP,从中我们可以看到,DSP软件的开发与普通软件的开发有很大的不同。本章重点讲述TI公司DSP的软件开发基础、软件开发方法以及软件的架构。 一般来说程序是由代码和数据组成的。要运行的程序其代码和数据必须存放在CPU能够寻址的存储空间里,而代码和数据是以代码块和数据块的形式存放的。代码块和数据块是程序的最小单元,一个代码块或数据块在存储空间中连续、顺序存放,不同的代码块或数据块,可以存放于不同的存储空间中。 如何确定这些代码块或数据块在存储空间的地址,就是我们通常说的程序的定位。程序的定位有以下三种。 1. 编译时定位 编程时由ORG语句确定代码块和数据块的绝对地址,编译器以此地址为首地址,连续、顺序地存放该代码块或数据块,也就是说我们在编程的时候已经知道程序存放的大概位置。 MCU系统常采用这种方式。这种定位方式属于绝对定位,其优点是简单、容易上手;缺点是程序员必须熟悉硬件资源,模块化编程差且不支持工程化管理。 2. 链接时定位 编程时以“SECTIONS”伪指令区分不同的代码块或数据块。编译器每遇到一个“SECTIONS”伪指令,从0地址重新开始一个代码块或数据块。链接器将同名的“SECTIONS”合并,并按 .cmd文件中的“SECTIONS”命令进行实际的定位。程序员在编写程序的时候并不知道程序最终的具体地址。具体的“SECTIONS”伪指令将在本章的后面部分加以介绍。 DSP系统常采用这种方式。这种定位方式属于相对定位,其缺点是复杂灵活、上手较难;优点是程序员不必熟悉硬件资源,模块化编程强且支持工程化管理。 3. 加载时定位 编程、编译和链接时均未对程序进行绝对定位。程序运行前,由操作系统对程序进行重新定位,并加载到存储空间中。例如,在Windows操作系统下运行一个应用软件,运行前我们并不知道应用软件将会被加载到内存的什么位置。 PC机系统常采用这种方式。这种定位方式也属于相对定位,其缺点是必须要有操作系统支持;优点是模块化编程强且支持工程化管理。 由上我们可以看出,DSP软件的定位方式介于MCU与GPP之间。下面我们来介绍“SECTIONS”伪指令的具体情况以及相关的知识。 4.2.1 段(sections) 汇编器和链接器建立的目标文件,是一个可以在TMS320C55X器件上执行的文件。这些目标文件的格式称为公共目标文件格式,即COFF(Common Object File Format)。由于COFF在编写汇编语言程序时采用代码和数据块的形式,会使模块化编程和管理变得更加方便。这些代码和数据段称为“段”。因为当编写一个汇编语言程序时,它可按照代码段和数据段来考虑问题。汇编器和链接器都有一些命令建立并管理各种各样的段。 段(sections)是COFF文件中最重要的概念。每个目标文件都被分成若干个段。一个段就是最终在存储器映像中占据连续空间的一个数据或代码块。在编制汇编语言源程序时,程序按段组织,每行汇编语句都从属一个段,且由段汇编伪指令标明该段的属性。目标文件中的每一个段是相互独立的。在编程时,段没有绝对定位,每个段都认为是从“0”地址开始的一块连续的存储空间,所以软件开发人员只需要将不同的代码块和数据块放到不同的段中,而无需关心这些段究竟定位于系统何处。采用段的优点是便于程序的模块化编程,便于工程化管理,可将软件开发人员和硬件开发人员基本上分离开。 一般地,COFF目标文件都包含3个缺省的段: .text段:通常包含可执行代码; .data段:通常包含已初始化数据; .bss段:通常为未初始化变量保留存储空间。 另外,汇编器与链接器允许程序员建立和链接自定义的段,这些段的用法与上述3个缺省段的用法相类似。所有的段可以分为两大类,即已初始化段和未初始化段。 4.2.2 汇编器对段的处理 汇编器对段的处理是通过段伪指令区分出各个段,且将段名相同的语句汇编在一起。每个程序都可以由几个段结合在一起形成。 汇编器有5个伪指令支持该功能,分别是: .bss (未初始化段) .usect (未初始化段) .text (已初始化段) .data (已初始化段) .sect (已初始化段) 如果汇编语言程序中一个段伪指令都没有用,那么汇编器把程序中的内容都汇编到.text段。 1. 未初始化段 未初始化段(Uninitialized Sections)由?.bss和?.usect伪指令建立。未初始化段就是TMS320C55X在目标存储器中的保留空间,以供程序运行过程中的变量作为临时存储空间使用。在目标文件中,
您可能关注的文档
- Dreamweaver应用与网页设计案例教程 教学课件 作者 杨长安 沈大林 孟昭勇 第1章Internet和使用HTML.pdf
- Dreamweaver应用与网页设计案例教程 教学课件 作者 杨长安 沈大林 孟昭勇 第2章Dreamweaver 8工作区和.pdf
- Dreamweaver应用与网页设计案例教程 教学课件 作者 杨长安 沈大林 孟昭勇 第3章插入表格和其他对象.pdf
- Dreamweaver应用与网页设计案例教程 教学课件 作者 杨长安 沈大林 孟昭勇 第4章框架、层与网页布局.pdf
- Dreamweaver应用与网页设计案例教程 教学课件 作者 杨长安 沈大林 孟昭勇 第5章表单、样式表和命令.pdf
- Dreamweaver应用与网页设计案例教程 教学课件 作者 杨长安 沈大林 孟昭勇 第6章时间轴和行为.pdf
- Dreamweaver应用与网页设计案例教程 教学课件 作者 杨长安 沈大林 孟昭勇 第7章站点管理、模板和库.pdf
- Dreamweaver应用与网页设计案例教程 教学课件 作者 杨长安 沈大林 孟昭勇 第8章 动态网站设计.pdf
- DSP 技术及应用 教学课件 作者 陈金鹰 主编 1.ppt
- DSP 技术及应用 教学课件 作者 陈金鹰 主编 2.ppt
- DSP处理器原理与应用 教学课件 作者 鲍安平 全书 第5章.ppt
- DSP处理器原理与应用 教学课件 作者 鲍安平 全书 第6章.ppt
- DSP处理器原理与应用 教学课件 作者 鲍安平 全书 第7章.ppt
- DSP处理器原理与应用 教学课件 作者 鲍安平 全书 第8章.ppt
- DSP处理器原理与应用 教学课件 作者 鲍安平 全书 第9章.ppt
- DSP处理器原理与应用 教学课件 作者 鲍安平 全书 封面及目录.ppt
- DSP技术及应用 教学课件 作者 江金龙 第1 2章第1章.ppt
- DSP技术及应用 教学课件 作者 江金龙 第1 2章第2章.ppt
- DSP技术及应用 教学课件 作者 江金龙 第1 2章封面及目录.ppt
- DSP技术及应用 教学课件 作者 江金龙 第3 4章第3章.ppt
文档评论(0)