下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 CMD文件配置详解

CMD文件配置详解.PDF

CMD文件配置详解

感风听雨望月
2017-03-03 0人阅读 举报 0 0 暂无简介

简介:本文档为《CMD文件配置详解PDF》,可适用于IT/计算机领域

【推荐】TMSF的CMD文件配置详解【推荐】TMSF的CMD文件配置详解DSP芯片以其极高的精度,性能及运算速度等无与伦比的优点使它得到了十分广泛的应用TMSF是TI公司生产的到目前为止用于数字控制领域的最好的DSP芯片在对它的仿真开发过程中编译器生成的代码和数据要由链接器分配到合适的存储空间通常链接器的命令文件cmd文件是由用户自己编写的编写不当就会使仿真开发不能进行TI公司虽然在《TMSCxOptimizingCCCompilerUserrsquosGuide》和《TMSCxAssemblyLanguageToolsUserrsquosGuide》做了介绍但内容却比较散乱而且要求读者对整个开发系统要有较全面的认识这对于初学者来说是比较困难的。下面以TMSF芯片为例结合具体的仿真调试实例加以说明使大家能够既快速又准确的掌握cmd文件的分配方法。存储空间的配置TMSF的DSP存储器分为三个独立选择的空间程序空间、数据空间和IO空间,其中程序存储器存放待执行的指令和执行中所用的系数(常数)可使用片内或片外的RAM、ROM或EPROM等来构成数据存储器存放指令执行中产生的数据可使用片内或片外的RAM和ROM来构成IO存储器存放与映象外围接口相关的数据也可以作为附加的数据存储空间使用。表是TMSF的存储空间分布。【推荐】TMSF的CMD文件配置详解CMD文件的分配方法TI公司新的汇编器和链接器创建的目标文件采用一种COFF(通用目标文件格式)该目标文件格式更利于模块化编程为管理代码段和目标系统存储器提供了强有力和灵活的编程方法。用户可以通过编写链接命令文件(cmd文件)将链接信息放在一个文件中以便在多次使用同样的链接信息时调用。在命令文件中使用两个十分有用的伪指令MEMORY和SECTIONS来指定实际应用中的存储器结构和进行地址的映射。Memory用来指定目标存储器结构Memory下可以通过PAGE选项配置地址空间链接器把每一页都当作一个独立的存储空间。通常情况下PAGE代表程序存储器用来存放程序PAGE代表数据存储器用来存放数据。由编译器生成的可重定位的代码和数据块叫做ldquoSECTIONSrdquo(段)SECTIONS用来控制段的构成与地址分配。对于不同的系统配置ldquoSECTIONrdquo的分配方式也不相同链接器通过ldquoSECTIONSrdquo来控制地址的分配所以ldquoSECTIONSrdquo的分配就成了配置cmd文件的重要环节。以下是对ldquoSECTIONSrdquo的定义及分配的详细介绍。()被初始化的ldquoSECTIONSrdquo(包括数据表和可执行代码)text它包括所有的可执行代码和常数必须放在程序页cinit它包括初始化的变量和常量表,要求放在程序页pinit它包括全局构造器(C)初始化的变量和常量表要求放在程序页const它包括字符串、声明、以及被明确初始化过的全局和静态变量要求放在低地址的数据页econst它是在使用大存储器模式时使用的包括字符串、声明、以及被明确初始化过的全局变量和静态变量可以放在数据页的任何地方。switch它包括为转换声明设置的表格可以放在程序页也可以放在低地址的数据页。()未被初始化的ldquoSECTIONSrdquo(为程序运行中创建和存放的变量在存储器中保留空间)bss它为全局变量和静态变量保留空间。在程序开始运行时C导入路径把数据从cinit节复制出去然后存在bss节中要求放在低地址的数据页ebss它是在远(far)访问(只用于C)和大存储模式下使用它为全局变量和静态变量保留空间。在程序开始运行时C导入路径把数据从cinit段复制出去然后存在ebss节中可以放在数据页的任何地方stack为C系统堆栈保留空间这部分存储器为用来将声明传给函数及为局部变量留出空间要求放在低地址的数据页system动态存储器分配保留空间。这个空间用于malloc函数如果不使用malloc函数这个段的大小就是要求放在低地址的数据页esystem动态存储器分配保留空间这个空间用于外部malloc函数如果不使用外部malloc函数这个段的大小就是可以放在数据页的任何地方【推荐】TMSF的CMD文件配置详解【推荐】TMSF的CMD文件配置详解举例说明cmd文件的分配方法以下是仿真调试串行通信接口SCI时的cmd文件的分配已经在TMSF仿真调试中得到了很好的应用。MEMORY{PAGE:*ProgramMemory*RAMH:origin=xFlength=xRAML:origin=xlength=xRAML:origin=xlength=xROM:origin=xFFlength=xFCRESET:origin=xFFFClength=xMVECTORS:origin=xFFFClength=xEMPAGE:*DataMemory*RAMM:origin=xlength=xRAMM:origin=xlength=xRAMH:origin=xFlength=x,,,【推荐】TMSF的CMD文件配置详解}SECTIONS{*Allocateprogramareas:*cinit:RAMHPAGE=pinit:RAMHPAGE=text:RAMHPAGE=reset:RESETPAGE=TYPE=DSECTVectors:VECTORSPAGE=TYPE=DSEC*Allocateuninitalizeddatasections:*stack:RAMMPAGE=ebss:RAMHPAGE=esysmem:RAMHPAGE=econst:RAMMPAGE=switch:RAMMPAGE=,,,}【推荐】TMSF的CMD文件配置详解为充分利用ktimes位的SARAM本例将高地址的ktimes位的HSARAM区分成两部分一部分用做存放程序放在PAGE里一部分用做存放数据放在PAGE中以达到合理的分配对实际仿真调试过程中的外围帧frameframeframe等的分配因为篇幅问题就不做具体介绍了。查看段的分配及使用情况在cmd文件中包括各种各样的链接器选项每种选项代表不同的含义。其中使用m选项可以创建一个扩展名为map的链接器(存储器)分配映射文件其语法为:mfilename(文件名)。链接器的map文件描述以下内容:存储器结构输入和输出段的定位在重新定位后外部符号的地址通过map文件可以查看各段的分配情况包括段的起始地址使用的字节数等配合cmd文件的使用可确定各个段的使用情况从而保证程序的正常运行和最小的空间使用。VisualLinker可视化链接器TI公司出品的DSP软件开发环境CCS还提供了一种可视化生成存储器配置文件的工具:VisualLinker可视化链接器。如果程序原来包含了一个链接器命令文件(cmd文件)则当创建可视化链接文件的时候原来cmd文件中的内存配置仍然会被使用。如果读者想修改内存配置双击rcp文件就会在CCS中打开可视化链接器的图形界面调整每个内存模块的大小直到认为合适然后只需要重新连编程序即可生成新的输出文件重复上面的步骤直到出现满意的结果。总结不同的DSP芯片内集成的存储器大小各异但其配置方式是类似的。大家可通过查阅DSP芯片的数据手册了解芯片内部存储空间大小。在实际的配置过程中可根据开发程序的实际代码正确的划分程序和数据空间中各段的大小使其空间配置达到最优。

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/5

CMD文件配置详解

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利