DSPTMS320F2812CMD详解_图文(精).docVIP

  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文档。上传文档
查看更多
DSPTMS320F2812CMD详解_图文(精)

Generated by Foxit PDF Creator ? Foxit Software For evaluation only. 原创作品 2812CMD 详解 CMD:command命令,顾名思义就是命令文件指定存储区域的分配.2812的CMD 采用的是分页制,其中PAGE0用于存放程 序空间,而PAGE1用于存放数据空间。 1.)#pragma ,CODE_SECTION和DATA_SECTION伪指令 #pragma DATA_SECTION(funcA,dataA; 函数外声明 将funcA 数据块定位于用户自定义的段dataA中 需要在CMD 中指定dataA 段的物理地址 2.)MEMORY和SECTIONS 是命令文件中最常用的两伪指令。MEMORY伪指令用来表示实际存在目标系统中的可以使用的存储器范围,在这里每个存储器都有自己的名字,起始地址和长度。SECTIONS 伪指令是用来描述输入端是如何组合到输出 端内的。 以常用的F2812_nonBIOS_RAM.cmd F2812_nonBIOS_Flash.cmd 和 DSP281x_Headers_nonBIOS.cmd为例 F2812_nonBIOS_RAM.cmd 用于仿真,无BIOS 系统,片外SRAM 配置 CMD 文件里有两个基本的段:初始化段和非初始化段。初始化段包含代码和常数等必须在DSP 上电之后有效的数。故初始化块必须保存在如片内FLASH 等非遗失性存储器中,非初始化段中含有在程序运行过程中才像变量内写数据进去,所以非初始化段必须链接到易失性存储器中如RAM。 已初始化的段:.text,.cinit,.const,.econst,..pinit和.switch.. .text:所有可以执行的代码和常量 Generated by Foxit PDF Creator ? Foxit Software For evaluation only. 原创作品 .cinit:全局变量和静态变量的C 初始化记录 .const:包含字符串常量和初始化的全局变量和静态变量(由const)的初始化和说明 .econst:包含字符串常量和初始化的全局变量和静态变量(由far const)的初始化和说明 .pinit:全局构造器(C++)程序列表 .switch:包含switch 声明的列表 非初始化的段:.bss,.ebss,.stack,.sysmem,和esysmem.(更好的理解就是,这些段就是存储空间而已) .bss: 为全局变量和局部变量保留的空间,在程序上电时.cinit空间中的数据复制出来并存储在.bss空间中。 .ebss:为使用大寄存器模式时的全局变量和静态变量预留的空间,在程序上电时,cinit 空间中的数据复制出来并存储 在.ebss中 .stack:为系统堆栈保留的空间,用于和函数传递变量或为局部变量分配空间。 .sysmem:为动态存储分配保留的空间。如果有宏函数,此空间被宏函数占用,如果没有的话,此空间保留为0 .esysmem:为动态存储分配保留的空间。如果有far 函数,此空间被相应的占用,如果没有的化,此空间保留为 0. F2812_nonBIOS_Flash.cmd 用于无BIOS,从片内FLASH 引导 Generated by Foxit PDF Creator ? Foxit Software For evaluation only. 原创作品 对于程序在FLASH 中运行时,需要注意的: DSP在150M 时钟频率下,FLASH中只能提供大约120M 的时钟频率,所以有时候我们希望在RAM 中运行时间敏感或计算量很大的子程序(比如AD 采样)。但是我们所有代码都放在FLASH 中,这就必须在上电后将FLASH 中的这段敏感程序复制到RAM 中运行,加快速度。这是在.CMD文件就必须划分一段用来设置RAM 的载入和运行地址。 程序代码如下: SECTIONS {……… ramfuncs : LOAD = FLASHD, RUN = RAML0, LOAD_START(_RamfuncsLoadStart, LOAD_END(_RamfuncsLoadEnd, RUN_START(_RamfuncsRunStart, PAGE = 0 } Generated by Foxit PDF Creator ? Foxit Software For evaluation only. 原创作品 DSP281x_Headers_nonBIOS.cmd 用于无 BIOS,外设寄存器产生的数据段映射至对应的存储器空间 cmd 小技巧: 如果.text文件很大将其放在一段放不下,需将其放到两个程序

文档评论(0)

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

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

1亿VIP精品文档

相关文档