您的位置:首页 > 其它

hjr-DSP:CMD文件

2016-05-18 13:15 176 查看
注:NAME指任何不重复名字,xx指地址。
首先说下CMD,每一个DSP工程都必须有CMD文件,用来分配DSP存储器,先在MEMORY里定义多个NAME的存储器类型(RAM,ROM等)和每个NAME的一段地址
再在SECTIONS里把程序里用到的段放到相应NAME里,注意每个NAME地址不要重叠
CMD文件由两部分组成
存储器:
MEMORY
{
PAGE 0:
NAME:o= xx,l= xx
PAGE 1:
NAME:o= xx,l= xx
}
PAGEx:   x值从0到255o表示起始地址,l表示存储区长度(以字节为单位)
地址从哪到哪具体怎么写,需要查你用的芯片的内存映射表
PAGE0一般代表程序空间,PAGE1代表数据空间
和 段:
<pre name="code" class="plain">SECTIONS
{
<span> </span>.段名 : {}> NAME PAGEx
}
至于段有哪些,主要如下

已初始化段:
(1).cinit段:包含初始化变量和常量表
(2).const段:const定义的字符串常量和数据(他们不能同时被volatile定义)
volatile--不能被编译器优化
(3).switch段:包含跳转表和大的switch声明
(4).text段:可执行代码段
未初始化段:
(1).bss段:保留全局和静态变量空间
(2).far段:保留远程的全局和静态变量空间
(3).stack段:为系统堆栈分配存储器。用于将变量传递至函数或用来分配
局部变量
(4).system段:为动态存储器函数malloc,calloc,realloc分分配存储器空间。
如果程序没有用到上面的函数,就不会创建.system段
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cmd 存储 DSP