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工程都必须有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段
相关文章推荐
- Tomcat端口被占用解决方法(不用重启)
- 飞信的CMD命令行接口批量发送信息
- 用vbs实现cmd功能的代码
- “传奇”图象数据存储方式
- CMD命令行高级教程精选合编合集
- cmd下PUSHD和POPD命令使用说明
- cmd del命令 文件删除
- cmd NTSD命令用法详解
- 执行批处理bat程序中的条件处理
- cmd Tasklist与Tskill管理Windows系统进程
- cmd下开启telnet的方法
- cmd fsutil 命令新建空文本文件
- CMD下一个命令遍历目录并删除相同文件的代码
- cmd rd命令 删除文件夹
- cmd if条件 条件判断
- 用vbs实现cmd多命令运行功能代码
- 运行cmd直接进入指定目录下的命令
- CMD命令行中以管理员权限启动应用程序实现方法
- cmd md命令 创建文件夹
- cmd ren命令 重命名文件(夹)