《DSP系统设计及应用》第六章.ppt

《DSP系统设计及应用》第六章.ppt

ID:49263759

大小:1.82 MB

页数:99页

时间:2020-02-02

《DSP系统设计及应用》第六章.ppt_第1页
《DSP系统设计及应用》第六章.ppt_第2页
《DSP系统设计及应用》第六章.ppt_第3页
《DSP系统设计及应用》第六章.ppt_第4页
《DSP系统设计及应用》第六章.ppt_第5页
资源描述:

《《DSP系统设计及应用》第六章.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、DSP系统设计及应用胡景春16.1DSP编程基础6.2DSP软件集成开发平台CCS6.3DSP应用系统的高级语言程序设计与调试第六章DSP应用系统软件设计26.1DSP编程基础6.1.1COFF——公共目标文件格式3文件头:COFF文件的头,它用来保存COFF文件的基本信息,如文件标识,各个表的位置等等。可选头:是可选的,而且可有可无。在目标文件中,基本上都没有这个头;但在其它的文件中(如:可执行文件)这个段用来保存在文件头中没有描述到的信息。段落头:是用来描述段落信息的,每个段落都有一个段落头来描述。段落头可以有多个节(因为可以有多个段落),段落的数目在文件头中会指出。段落数据:这通常是CO

2、FF文件中最大的数据段,每个段落真正的数据就保存在这个位置。重定位表:这个表通常只存在于目标文件中,它用来描述COFF文件中符号的重定位信息。符号表:这个表用来保存COFF文件中所用到的所有符号的信息,符号表是以记录的形式来描述符号信息的,它只为符号名称留置了8个字符的空间,通常把这些名称存在字符串表中。而符号表中只记录这些字符串的位置。连接多个COFF文件时,这个表帮助我们重定位符号。调试程序时也要用到它。字符串表:用来保存字符串的。46.1.2COFF文件中的段1.段的分类所谓段,就是在存储器图中占据相邻空间的代码或数据块。COFF目标文件都包含以下3种形式的段:.text段(代码段).d

3、ata段(初始化数据段).bss段(未初始化数据段)段有两类:(1)已初始化段。代码段.text和数据段.data都是已初始化段;用.sect、.asect汇编命令建立的自定义段也是已初始化段。4个命令的写法:.text.data.sect“块名”.asect“块名”,地址未初始化段。在存储器图中,它为未初始化过的数据保留存储空间,通常将它们定位到RAM区。.bss段是未初始化段;用汇编命令.usect建立的自定义段也是未初始化段。2个命令的写法:.bss符号,字数符号.usect“块名”,字数52.汇编器对段的处理(1)当汇编器遇到.text或.data或.sect命令时,它将停止对当前段的

4、汇编(相当于一条结束当前段汇编的命令),然后将紧接着的程序代码或数据汇编到指定的段中,直到再遇到另一条.text、.data或.sect命令为止。(2)子段:子段是大段中的小段,其命名的句法为:基段:子段名(3)段程序计数器(SPC):SPC表示一个程序代码或数据在段内的当前地址。63.链接器对段的处理链接器在处理段的时候,有两个主要任务:(1)把一个或多个COFF目标文件中的各种段作为链接输入段,经链接后在一个可以执行的COFF输出模块中建立各个输出段。(2)为各个输出段选定存储器地址。链接器的默认分配算法:①存储器起始地址为0;②假定有232字的存储器可用来分配目标代码;③将.text分配

5、到起始地址为0的程序存储器中;④将.data分配到紧接着.text的程序存储器中;⑤将.bss分配到紧接着.data的程序存储器中;⑥将自定义段分配到紧接着.bss的程序存储器中。链接器的自定义分配:用MEMORY和SECTIONS命令,可以按需要定义目标系统的存储器配置图,包括对存储器各部分命名,以及规定它们的起始地址和长度。这需要建立一个*.CMD连接命令文件7*.CMD连接命令文件举例:-c/*ROM初始化*/-odemo.out/*产生demo.out可执行文件*/-mdemo.map/*产生demo.out映像文件*/-lrts30.lib/*TMS320C30库函数*/Demo.o

6、bj/*链接的目标文件*/MEMORY/*配置内存资源(即按指定起始位置和长度分割内存块)*/{VECS:origin=0x000000,length=0x40ROM:origin=0x000040,length=0xFC0RAM0:origin=0x809800,length=0x400RAM1:origin=0x809C00,length=0x400}SECTIONS/*指定存储器资源的分配,即为各个程序段(包括自动生成的程序段,和.OBJ文件中的程序段)分配内存资源*/{vectors:load=vecs/*自定义的vectors块分配至VECS中*/.text:load=ROM/*.t

7、ext块分配至ROM中*/.data:load=RAM0/*.data块分配至ROM中*/newvars:load=RAM1/*自定义的Newvars块分配至RAM1中*/}84.程序重定位汇编器处理每个段都是从地址0开始,因此链接器必须通过以下方法对各个段进行重新定位:(1)将各个段定位到存储器图中,这样一来每个段都从一个恰当的地址开始。(2)将符号的数值调整到相对于新的段地址的数值。(3)调整

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

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

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