《DSP软件开发流程》.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《DSP软件开发流程》.ppt

* 软件开发 软件基础 汇编语言 C语言 程序定位 软件架构 CSL/BSL库 BIOS DDK 信号处理库 算法标准DAIS 参考架构Reference Framwork 软件开发实例 SEED-VPM642视频监控软件开发方法 软件开发基础 组成:由代码和数据组成 运行:要运行的程序其代码和数据必须存放在可由CPU寻址的存储空间 存放:以代码块和数据块的形式存放 代码块和数据块是程序的最小单元 一个代码块或数据块在存储空间中连续、顺序存放 不同的代码块或数据块,可以存放于不同的存储空间中 定位: 编译时定位:MCU系统采用 编程时由ORG语句确定代码块和数据块的绝对地址 编译器以此地址为首地址,连续、顺序地存放该代码块或数据块 链接时定位:DSP系统采用 编程时由“SECTION”伪指令,以区分不同的代码块或数据块 编译器每遇到一个“SECTION”伪指令,从0地址重新开始一个代码块或数据块 链接器将同名的“SECTION”合并,并按.cmd文件中的“SECTION”命令进行实际的定位 加载时定位:PC机系统采用 编程、编译和链接时均未对程序进行绝对定位 程序运行前,由操作系统对程序进行重定位,并加载到存储空间中 程序是什么? 软件开发基础 程序定位方式的比较 编译时定位: ORG xxxx,绝对定位 优点:简单、容易上手 缺点:程序员必须熟悉 硬件资源 模块化编程差 工程化不支持 链接时定位: SECTION,相对定位 缺点:灵活、上手较难 优点:程序员不必熟悉 硬件资源 模块化编程强 工程化管理支持 加载时定位: 编译、链接时,相对定位 缺点:必须要有操作系 统支持 优点:模块化编程强 工程化管理支持 软件开发基础 DSP汇编程序基础 Section( “段”)概念:一块连续的储存空间,用于存放代码块或数据块 在编程时,“段”没有绝对定位,每个“段”都认为是从0地址开始的一块连续的储存空间,所以软件开发人员只需要将不同代码块和数据块放到不同的“段”中,而无需关心这些“段”究竟定位于系统何处 优点:便于程序的模块化编程;便于工程化管理:可将软件开发人员和硬件开发人员基本上分离开 重定位:由于所有的“段”都是从0地址开始,所以程序编译完成后无法直接运行的,要让程序正确运行,必须对“段”进行重新定位,这个工作由链接器完成 .cmd文件:MEMORY命令描述系统硬件资源,SECTIONS命令描述软件人员程序中用到的“段”如何定位到恰当的硬件资源上 软件开发基础 DSP汇编语言:SECTION伪指令 5个SECTION伪指令 .bss symbol,size in word .text .data .sect “section name” symbol .usect “section name”,size in word 其中symbol相当于变量名,size in word保留的存储单元长度(以字为单位) 初试化段和未初始化段 .bss和.usect为未初始化段,用于为变量、堆栈等保留一块存储空间 .text、.data和.sect为初试化段,用于存放代码块或有初值的数据块 系统定义的段和用户定义的段 .text、.data和.bss为系统已定义好的段名 用户根据需要用. sect和.usect伪指令来定义段名,创建相应的“段” 汇编程序中,程序员用“段”伪指令来组织程序的代码和数据 DSP汇编语言:汇编器对“段”的处理 汇编器第一次遇到新“段”时,将该“段”的段程序计数器(SPC)置为0,并将随后的程序代码或数据顺序编译进该“段”中 汇编器遇到同名“段”时,将它们合并,然后将随后的程序代码或数据顺序编译进该“段”中 当汇编器遇到.text、.data和.sect伪指令时,汇编器停止将随后的程序代码或数据顺序编译进当前“段”中,而是顺序编译进遇到的“段”中 当汇编器遇到.bss和.usect伪指令时,汇编器并不结束当前“段”,而只是简单地暂时脱离当前“段”,随后的程序代码或数据仍将顺序编译进当前“段”中。 .bss和.usect伪指令,可以出现在.text、.data或.sect“段”中的任何位置,它们不会影响这些“段”的内容 软件开发基础 DSP汇编语言:链接器对“段”的处理 链接器对“段”的处理有2个方面: 将输入“段”组合产生输出“段”

文档评论(0)

wgvi + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档