打印
[应用相关]

CMD文件和GEL文件有什么区别?

[复制链接]
812|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Listate|  楼主 | 2019-10-12 19:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

CMD文件和GEL文件有什么区别?

使用特权

评论回复
沙发
Mozarts| | 2019-10-12 19:21 | 只看该作者
CMD文件是链接器要用的,决定程序各段怎么连接。

使用特权

评论回复
板凳
_gege| | 2019-10-12 19:21 | 只看该作者
嗯, 而gel文件是通过CCS在线调试要用的

使用特权

评论回复
地板
Edisons| | 2019-10-12 19:25 | 只看该作者
cmd文件分析
1,系统定义:  
.cinit 存放C程序中的变量初值和常量;
.const 存放C程序中的字符常量、浮点常量和用const声明的常量;
.switch 存放C程序中switch语句的跳针表;
.text 存放C程序的代码;
.bss 为C程序中的全局和静态变量保留存储空间;
.far 为C程序中用far声明的全局和静态变量保留空间;
.stack 为C程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果;
.sysmem 用于C程序中malloc、calloc和realloc函数动态分配存储空间。
2,用户定义:
#pragma CODE_SECTION (symbol, "section name"); #pragma DATA_SECTION (symbol, "section name")

单个地址的时候可以使用 #define
如 #define my_data *(volatile unsigned int*)0x000C

在数组变量时 使用#pragma 宏

XXX.h/XXX.c
#pragma DATA_SECTION(my_data,".data_section")
unsigned char my_data[1024];
在xxx.cmd中建立.data_section并赋予地址就可以了。


3.cmd作用
cmd由3部分组成:
1)输入/输出定义:.obj文件:链接器要链接的目标文件;.lib文件:链接器要链接的库文件;.map文件:链接器生成的交叉索引文件;.out文件:链接器生成的可执行代码;链接器选项;
2)MEMORY命令:描述系统实际的硬件资源;
3)SECTIONS命令:描述“段”如何定位。
Link的cmd文件用于DSP代码的定位。由于DSP的编译器的编译结果是未定位的,DSP没有操作系统来定位执行代码,每个客户设计的DSP系统的配置也不尽相同,因此需要用户自己定义代码的安装位置。以C5000为例,基本格式为:
-o sample.out
-m sample.map
-stack 100
sample.obj meminit.obj
-l rts.lib
MEMORY {
    PAGE 0: VECT: origin = 0xff80, length 0x80
    PAGE 0: PROG: origin = 0x2000, length 0x400
    PAGE 1: DATA: origin = 0x800, length 0x400
}
SECTIONS {
    .vectors : {} >PROG PAGE 0
    .text : {} >PROG PAGE 0
    .data : {} >PROG PAGE 0
    .cinit : {} >PROG PAGE 0
    .bss : {} >DATA PAGE 1
}

使用特权

评论回复
5
laozhongyi| | 2019-10-12 19:26 | 只看该作者

CCS在线仿真的时候必须加GEL文件,不然无法仿真

使用特权

评论回复
6
wanglaojii| | 2019-10-12 19:29 | 只看该作者
GEL文件只是在仿真器和目标系统上电的时候起到初始化dsp的作用

在上电后再改变GEL文件将不会对DSP产生影响。

使用特权

评论回复
7
bbapple| | 2019-10-12 19:30 | 只看该作者
ccs的gel语言是一种交互式的命令,它是解释执行的,即不能被编译成可执行文件。它的作用在于扩展了ccsstudio的功能,可以用gel来调用一些菜单命令,对DSP的存储器进行配置等等。

使用特权

评论回复
8
handleMessage| | 2019-10-12 19:33 | 只看该作者
cmd文件的描述是“windows nt命令脚本”bat文件的描述是“ms dos批处理文件”

使用特权

评论回复
9
zhouhuanの| | 2019-10-12 19:34 | 只看该作者
GEL是通用扩展语言(General Extension Language)是一种解释语言  

使用特权

评论回复
10
feiqi1| | 2019-10-12 19:37 | 只看该作者
按照GEL的语法创建GEL函数加载到CCS即可。

使用特权

评论回复
11
androidbus| | 2019-10-12 19:38 | 只看该作者
完整的DSP程序至少包含三个部分:程序代码、中断向量表、链接命令文件(或称链接配置文件)(*.cmd)。  

使用特权

评论回复
12
litengg| | 2019-10-12 19:41 | 只看该作者
GEL主要用来扩展CCS的功能  

使用特权

评论回复
13
qiangweii| | 2019-10-12 19:41 | 只看该作者
cmd则是软件开方人员根据实际的硬件资源情况进行个性配置的工作

使用特权

评论回复
14
shashaa| | 2019-10-12 19:44 | 只看该作者

在上电后再改变GEL文件将不会对DSP产生影响。  

使用特权

评论回复
15
xia00| | 2019-10-12 19:45 | 只看该作者

CMD 主要是用来分配 rom 和 ram

使用特权

评论回复
16
hfdy01| | 2019-10-12 19:46 | 只看该作者
进行程序与数据空间分配的操作  

使用特权

评论回复
17
CallReceiver| | 2019-10-12 19:57 | 只看该作者

EL文件可以看成你所建项目的“秘书”  

使用特权

评论回复
18
boy1990| | 2019-10-12 19:57 | 只看该作者
可以为在系统配置中的每一个处理器指定一个启动GEL文件。  

使用特权

评论回复
19
sourceInsight| | 2019-10-12 20:01 | 只看该作者
方便用户调试程序,但不是必需的。

使用特权

评论回复
20
feiqi1| | 2019-10-12 20:01 | 只看该作者

cmd的功能基本相同,用于初始化DSP

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

161

主题

1233

帖子

1

粉丝