打印

关于CMD文件的问题

[复制链接]
580|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Levenburg|  楼主 | 2017-3-8 20:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我知道了MEMORY命令下,  给一些内存区域命名是用户自定义的,
但是SECTIONS命令下, 有些段名让我不明所以。
今天看了点关于程序段的段的知识,知道了.text ,.stack这些代表什么意思。
但是我看了一些CMD文件,如F28335.CMD     SECTIONS下有IQmath,  IQmathTables
   IQmath              : > FLASHC      PAGE = 0                  /* Math Code */
   IQmathTables     : > IQTABLES,  PAGE = 0, TYPE = NOLOAD
这些我就不怎么懂了。我知道这两个应该是做定点运算要用的吧,
但是放在这里有什么用呢?
还有
   FPUmathTables    : > FPUTABLES, PAGE = 0, TYPE = NOLOAD

   DMARAML4         : > RAML4,     PAGE = 1
   DMARAML5         : > RAML5,     PAGE = 1
   DMARAML6         : > RAML6,     PAGE = 1
   DMARAML7         : > RAML7,     PAGE = 1

   ZONE7DATA        : > ZONE7B,    PAGE = 1

这些段名又是在哪里定义的呢?
IQmathTables和FPUmathTables我找到啦,在controlSUITE里math文件夹下对应的文件夹下的doc里的PDF可以找得到。

相关帖子

沙发
Thorald| | 2017-3-8 20:57 | 只看该作者
DMA只能访问RAM区块中的某些部分。具体是什么你可以在相关章节里面查找到

使用特权

评论回复
板凳
Bjorn| | 2017-3-8 21:09 | 只看该作者
如果要用DMA搬运数据。就得定义这些段,并且把这些段指定到这个对应的RAM区域里面。然后再定义DMA存储数据的变量,例如数组等。到这个段里面。然后dma就能往这里面传数据了。

使用特权

评论回复
地板
Rollo| | 2017-3-8 21:22 | 只看该作者
可以看DMA相关的sample。
如果不用dma的话,这些段可以当成普通的数据或者代码段来用。

使用特权

评论回复
5
Rangar| | 2017-3-8 21:36 | 只看该作者
section是对代码和数据根据他们的特点分类放在一起;memory是把分类完的代码和数据放到具体物理内存的位置。

使用特权

评论回复
6
iamaiqiyi| | 2017-3-9 21:36 | 只看该作者
http://www.21ic.com/app/mcu/201410/604926.htm

使用特权

评论回复
7
iamaiqiyi| | 2017-3-9 21:43 | 只看该作者
cmd文件是编译完成之后链接各个目标文件时,用来指示各个数据、符号等是如何划分到各个段,以及每个段所使用的存储空间的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

180

帖子

0

粉丝