在建立ccs工程的时候,cmd文件和gel文件非常重要,如不能配置好会出现一些莫名其妙的问题。

1. CMD文件:

不同的DSP芯片内集成的存储器大小各异,但其配置方式是类似的。大家可通过查阅DSP芯片的数据手册,了解芯片内部存储空间大小。在实际的配置过程中,可根据开发程序的实际代码,正确的划分程序和数据空间中各段的大小,使其空间配置达到最优。

CMD主要是用来分配rom和ram空间用的,它告诉链接程序怎样计算地址和分配空间.所以不同的芯片就有不同大小的rom和ram.放用户序的地程方也不尽相同.所以要根据芯片进行修改.分两部分.MEMORY和SECTIONS.

MEMORY    
{

  PAGE 0 ..........
  PAGE 1.........
}

SECTIONS
{
  .vectors .................
  .reset .................
  ................
}

MEMORY是用来指定芯片的rom和ram的大小和划分出几个区间.PAGE 0 对应rom,PAGE 1对应ram。PAGE里包含的区间名字与其后面的参数反映了该区间的起始地址和长度.

SECTIONS:在程序里添加段名.XXXX(如.vectors.)用来指定该段名以下,另一个段名以上的程序(属于PAGE0)或数据(属于PAGE1)放到“>”符号后的空间名字所在的地方。

MEMORY
{

PAGE 0           :

VECS             : origin = 00000h,              length = 00040h
  LOW      : origin = 00040h,         length = 03FC0h
  SARAM      : origin = 04000h,       length = 00800h
  B0         : origin = 0FF00h,       length = 00100h

PAGE 1        :

B0               : origin = 00200h,             length = 00100h
  B1       : origin = 00300h,       length = 00100h
  B2         : origin = 00060h,       length = 00020h
  SARAM      : origin = 08000h,       length = 00800h

}

SECTIONS
{

  .text   : { } > LOW PAGE 0            存放程序代码
  .cinit   : { } > LOW PAGE 0      存放程序中的变量初值和常量  
  .switch  : { } > LOW PAGE 0       存放程序中switch语句的跳转地址表   
  .const     : { } > SARAM PAGE 1       量存放程序中的字符常量、浮点常量和用const声明的常   
  .data       : { } > SARAM PAGE 1    
  .bss         : { } > SARAM PAGE 1   为程序中的全局和静态变量保留存储空间 
  .stack    : { } > SARAM PAGE 1   为程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果 
  .sysmem : { } > SARAM PAGE 1    用于程序中的malloc 、calloc 、和realoc 函数动态分配存储空间.text可执行代码 

}

2. GEL文件:

最新文章

  1. css-css权威指南学习笔记6
  2. Elasticsearch聚合 之 Terms
  3. 利用Handler延时机制实现点击两次退出程序
  4. ThinkPHP3.1新特性:命名范围
  5. A题笔记(9)
  6. CodeForces 587A
  7. soundPool和audiofocus
  8. Finish and error to: Error Domain=NSURLErrorDomain Code=-1001 "请求超时。
  9. angular 使用概术
  10. 【UOJ 209】【UER #6】票数统计
  11. vmware虚拟机环境下配置centos为静态IP的步骤
  12. nextjs 服务端渲染请求参数
  13. phpstorm中设置代码上传到github
  14. web自动化测试中接口测试学习笔记
  15. VS新建一个模板工程
  16. 无需SherlockActionbar的SlidingMenu使用详解(二)——向Fragment中添加ViewPager和Tab
  17. git 知识点
  18. MVC+LINQToSQL的Repository模式之(二)数据基类
  19. sql count中加条件
  20. 2018.10.10 MAC 的Launchpad图标改变大小的设置

热门文章

  1. Origin-作图相关
  2. Vue项目中实现tab栏和步骤条的数据联动
  3. 10、初识constexpr和常量表达式
  4. 分享10个免费或便宜的Photoshop替代工具
  5. 使用 VMware Workstation Pro 安装新的虚拟机
  6. JS格式时间
  7. 航空航天专用Everspin非易失性MRAM存储器
  8. 谷歌浏览器chrome应用商店无法打开的解决方法
  9. cf1282c
  10. lasso-ridge