CMD文件编写

cmd:链接器配置文件,存放链接器的配置信息,cmd文件使开发者可以通过自己定义的存储器模块来配置系统存储器,说白点也就是cmd是用来分配ROM和RAM空间用的,告诉链接程序怎样计算地址和分配空间。

MEMORY命令:描述系统实际的硬件资源

SECTION命令:描述“段”如何定位

其中比较关键的就是MEMORY和SECTIONS两个伪指令的使用,MEMORY用来建立目标存储器的模型,SECTIONS指令就可以根据这个模型来安排各个段的位置,MEMORY指令可以定义目标系统的各种类型的存储器及容量。

把hello world里的CMD文件拷上来分析一下:

-heap是堆,我这里分出3M是因为我把所有段都分配在了Share RAM(SHRAM)上,L2一共有4M。

-stack 是栈,一般都是这么大。

memory是L1、L2、SHRAM、EMIF和DDR3的地址范围和大小,一般的应用都会用DDR3,由于我的板卡还没开发DDR3,就只好都用SHRAM了。

section里的字段:

.cinit 存放程序中的变量初值和常量

.const 存放程序中的字符常量、浮点常量和用const声明的常量

.switch 存放程序中switch语句的跳转地址表

.text 存放程序代码

.bss 为程序中的全局和静态变量保留存储空间

.far 为程序中用far声明的全局和静态变量保留空间

.stack 为程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递存储局部变量和保存中间结果

.sysmem 用于程序中的malloc 、calloc 、和realoc 函数动态分配存储空间

/*************************************************************************/

-c

-heap  0x300000 /*3MB*/

-stack0x10000

MEMORY

{

LOCAL_L2_SRAM:  o = 0x00800000 l = 0x00080000   /* 512kB LOCAL L2/SRAM */

LOCAL_L1P_SRAM: o = 0x00E00000 l =0x00008000   /* 32kB LOCAL L1P/SRAM */

LOCAL_L1D_SRAM: o = 0x00F00000 l =0x00008000   /* 32kB LOCAL L1D/SRAM */

SHRAM:         o = 0x0C000000 l = 0x00400000   /* 4MB Multicore shared Memmory */

EMIF16_CS2:     o = 0x70000000 l = 0x04000000   /* 64MB EMIF16 CS2 Data Memory */

EMIF16_CS3:     o = 0x74000000 l = 0x04000000   /* 64MB EMIF16 CS3 Data Memory */

EMIF16_CS4:     o = 0x78000000 l = 0x04000000   /* 64MB EMIF16 CS4 Data Memory */

EMIF16_CS5:     o = 0x7C000000 l = 0x04000000   /* 64MB EMIF16 CS5 Data Memory */

DDR3:          o = 0x80000000 l = 0x80000000   /* 2GB CE0 and CE1 external DDR3 SDRAM */

}

SECTIONS

{

.text         >  SHRAM

.stack        >  SHRAM

.bss          >  SHRAM

.cio          >  SHRAM

.const        >  SHRAM

.data         >  SHRAM

.switch        > SHRAM

.sysmem       >  SHRAM

.far          >  SHRAM

.args          > SHRAM

.ppinfo        > SHRAM

.ppdata        > SHRAM

/* COFF sections */

.pinit        >  SHRAM

.cinit        >  SHRAM

/* EABI sections */

.binit         > SHRAM

.init_array    > SHRAM

.neardata      > SHRAM

.fardata       > SHRAM

.rodata       >  SHRAM

.c6xabi.exidx  > SHRAM

.c6xabi.extab  > SHRAM

}

C6678多核DSP——CMD文件介绍相关推荐

  1. C6678多核DSP开发——hello world

    C6678多核DSP开发--hello world 本篇学习笔记主要记录在C6678实验板上实现打印"hello world"信息功能,主要目的是熟悉CCS开发环境和硬件调试过程. ...

  2. C6678多核DSP开发——image_processing例程

    前言:这篇学习笔记记录了在DSP上实现简单图像处理算法的image_processing例程.该例程在CCS安装时安装在目录下,主要实现了对图像的分割.灰度处理以及边缘检测.学会了调用和修改DSP例程 ...

  3. [CMD] DSP CMD文件详解

    目录 1. CMD文件是什么? 2. CMD文件的功能 3. CMD文件的使用方法 MEMORY伪指令--指示存储空间 SECTIONS伪指令--分配段到存储空间 4. 注意事项 1. CMD文件是什 ...

  4. TI DSP处理器中的CMD 文件

    原文转载于:http://blog.csdn.net/hj199404182515/article/details/52838869  非常感谢. 如果从事 TI DSP 处理器开发,CMD 文件一定 ...

  5. TMS320F2812的CMD文件配置详解

    DSP芯片以其极高的精度,性能及运算速度等无与伦比的优点使它得到了十分广泛的应用,TMS320F2812是TI公司生产的到目前为止用于数字控制领域的最好的DSP芯片,在对它的仿真开发过程中,编译器生成 ...

  6. DSP学习(8)—— linker.cmd文件解析

    DSP学习(8)-- linker.cmd文件解析 文章目录 DSP学习(8)-- linker.cmd文件解析 前言 前言 写工程的时候遇到报内存不够的错误,出现在linker.cmd的内存分配se ...

  7. [DSP学习笔记]cmd文件的讲解

    一.前言 在笔者学习F28335的过程中,发现网上少有对于cmd文件的讲解,而学习DSP,肯定是要编写或修改cmd文件的.故笔者基于自己的学习经验,给出了自己对于cmd文件的理解. 在正式开始学习cm ...

  8. DSP芯片CMD文件中各段的实验验证(上)

    上篇文章详细讲解了DSP中的CMD文件,请看:http://blog.csdn.net/qq_29545231/article/details/78175977<超详细的CMD文件讲解(DSP2 ...

  9. cmd c语言 文件,DSP,如何编写CMD文件!(转)

    刚找到的资料,虽然不够全,希望能帮到你... 祝愿同在努力的你,成功 CMD文件的作用: 在DSP里,程序执行过程中也有好多地方需要跳转,所以需要跳转的目标地址.如果你在编程序时知道你所要跳转的地址, ...

  10. 如何使用TI的DSP芯片cmd文件

    CMD文件一句话来表达:定义芯片内部硬件资源和分配管理软件代码的一个配置文件.因此从cmd文件的组织上你能看到两个部分:1定义硬件资源,2管理软件代码 (非原创,总结与网络) 用户通过编写CMD 文件 ...

最新文章

  1. 精通SERV-U配置文件
  2. MySQL从主从到代理
  3. 第四十五课:MVC,MVP,MVVM的区别
  4. URAL 2081 Faulty dial
  5. 去360总部参加网络信息安全会议经历
  6. linux重启网卡提示tent,linux
  7. 2018年内蒙古开出4.93亿环保罚单
  8. 2022全新抖音二维码生成工具源码+亲测可用
  9. 中断上下文中的preempt count
  10. Incapsula CDN到底好在哪
  11. 计154-1.2班C++翻转课堂的课程总结链接集
  12. 字符串与数字相互转化
  13. 使用cloudflare防御假墙攻击和优化配置
  14. 18春计算机辅助设计作业答案,18春福师《计算机辅助设计—MAYA》在线作业二答案...
  15. 关于van-card中thumb引入本地图片而无法正常显示的解决方法
  16. HikariCP探活机制如何保证链接有效
  17. Windows平台利用完成端口模型创建高性能网络服务器
  18. Revit开发 - 创建梁(Beam)
  19. 推荐系统:如何进行优化!
  20. 实用形ps切图技巧,图片格式及其相关

热门文章

  1. 10 个用于 Linux 的开源轻量级 Web 浏览器
  2. css3揭秘读书笔记--边框内圆角
  3. maven运行Error:(3, 14) java: 程序包不存在
  4. Mac电脑没声音音量图标变灰色如何修复?
  5. Java-数据结构-TreeMap
  6. CryptoJS加密库使用及bug解决
  7. mysql用拼音显示字段名_MySQL汉字字段按拼音排序显示
  8. 1030:计算球的体积
  9. mysql候选关键字_MySQL Key值(PRI, UNI, MUL)的含义、超键(super key)、候选键(candidate key)、主键(primary key)...
  10. advanced option里面没有resolution