C6678多核DSP——CMD文件介绍
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文件介绍相关推荐
- C6678多核DSP开发——hello world
C6678多核DSP开发--hello world 本篇学习笔记主要记录在C6678实验板上实现打印"hello world"信息功能,主要目的是熟悉CCS开发环境和硬件调试过程. ...
- C6678多核DSP开发——image_processing例程
前言:这篇学习笔记记录了在DSP上实现简单图像处理算法的image_processing例程.该例程在CCS安装时安装在目录下,主要实现了对图像的分割.灰度处理以及边缘检测.学会了调用和修改DSP例程 ...
- [CMD] DSP CMD文件详解
目录 1. CMD文件是什么? 2. CMD文件的功能 3. CMD文件的使用方法 MEMORY伪指令--指示存储空间 SECTIONS伪指令--分配段到存储空间 4. 注意事项 1. CMD文件是什 ...
- TI DSP处理器中的CMD 文件
原文转载于:http://blog.csdn.net/hj199404182515/article/details/52838869 非常感谢. 如果从事 TI DSP 处理器开发,CMD 文件一定 ...
- TMS320F2812的CMD文件配置详解
DSP芯片以其极高的精度,性能及运算速度等无与伦比的优点使它得到了十分广泛的应用,TMS320F2812是TI公司生产的到目前为止用于数字控制领域的最好的DSP芯片,在对它的仿真开发过程中,编译器生成 ...
- DSP学习(8)—— linker.cmd文件解析
DSP学习(8)-- linker.cmd文件解析 文章目录 DSP学习(8)-- linker.cmd文件解析 前言 前言 写工程的时候遇到报内存不够的错误,出现在linker.cmd的内存分配se ...
- [DSP学习笔记]cmd文件的讲解
一.前言 在笔者学习F28335的过程中,发现网上少有对于cmd文件的讲解,而学习DSP,肯定是要编写或修改cmd文件的.故笔者基于自己的学习经验,给出了自己对于cmd文件的理解. 在正式开始学习cm ...
- DSP芯片CMD文件中各段的实验验证(上)
上篇文章详细讲解了DSP中的CMD文件,请看:http://blog.csdn.net/qq_29545231/article/details/78175977<超详细的CMD文件讲解(DSP2 ...
- cmd c语言 文件,DSP,如何编写CMD文件!(转)
刚找到的资料,虽然不够全,希望能帮到你... 祝愿同在努力的你,成功 CMD文件的作用: 在DSP里,程序执行过程中也有好多地方需要跳转,所以需要跳转的目标地址.如果你在编程序时知道你所要跳转的地址, ...
- 如何使用TI的DSP芯片cmd文件
CMD文件一句话来表达:定义芯片内部硬件资源和分配管理软件代码的一个配置文件.因此从cmd文件的组织上你能看到两个部分:1定义硬件资源,2管理软件代码 (非原创,总结与网络) 用户通过编写CMD 文件 ...
最新文章
- 精通SERV-U配置文件
- MySQL从主从到代理
- 第四十五课:MVC,MVP,MVVM的区别
- URAL 2081 Faulty dial
- 去360总部参加网络信息安全会议经历
- linux重启网卡提示tent,linux
- 2018年内蒙古开出4.93亿环保罚单
- 2022全新抖音二维码生成工具源码+亲测可用
- 中断上下文中的preempt count
- Incapsula CDN到底好在哪
- 计154-1.2班C++翻转课堂的课程总结链接集
- 字符串与数字相互转化
- 使用cloudflare防御假墙攻击和优化配置
- 18春计算机辅助设计作业答案,18春福师《计算机辅助设计—MAYA》在线作业二答案...
- 关于van-card中thumb引入本地图片而无法正常显示的解决方法
- HikariCP探活机制如何保证链接有效
- Windows平台利用完成端口模型创建高性能网络服务器
- Revit开发 - 创建梁(Beam)
- 推荐系统:如何进行优化!
- 实用形ps切图技巧,图片格式及其相关
热门文章
- 10 个用于 Linux 的开源轻量级 Web 浏览器
- css3揭秘读书笔记--边框内圆角
- maven运行Error:(3, 14) java: 程序包不存在
- Mac电脑没声音音量图标变灰色如何修复?
- Java-数据结构-TreeMap
- CryptoJS加密库使用及bug解决
- mysql用拼音显示字段名_MySQL汉字字段按拼音排序显示
- 1030:计算球的体积
- mysql候选关键字_MySQL Key值(PRI, UNI, MUL)的含义、超键(super key)、候选键(candidate key)、主键(primary key)...
- advanced option里面没有resolution