#pragmadatasection和cmd文件

#pragmadatasection和cmd文件

ID:8803673

大小:27.00 KB

页数:3页

时间:2018-04-08

#pragmadatasection和cmd文件_第1页
#pragmadatasection和cmd文件_第2页
#pragmadatasection和cmd文件_第3页
资源描述:

《#pragmadatasection和cmd文件》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、【转】#pragmaDATA_SECTION和CMD文件一、在CCS编程中,如果我们不指定变量的存放位置,编译器会自动的给变量分配一个位置,但是如果有的时候需要把变量放在一个特定的空间内,我们应该如何操作呢,CCS提供了如下的两个指令#pragmaCODE_SECTION#pragmaDATA_SECTION其中data_section是针对数据空间的,code_section是针对程序空间的,具体的使用办法是#pragmaDATA_SECTION(bufferB,”my_sect”)charbufferB[512]

2、;在.cmd文件中建立对应的section就可以使用了。注意:(1)不能在函数体内声明。(2)必须在定义和使用前声明二、关于CMD文件CMD的专业名称叫链接器配置文件,是存放链接器的配置信息的,我们简称为命令文件。存储模型:c程序的代码和数据如何定位系统定义.cinit 存放程序中的变量初值和常量.const 存放程序中的字符常量、浮点常量和用const声明的常量.switch 存放程序中switch语句的跳转地址表.text 存放程序代码.bss 为程序中的全局和静态变量保留存储空间.far 为程序中用far声明的

3、全局和静态变量保留空间.stack 为程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果CMD 它是用来分配rom和ram空间用的,告诉链接程序怎样计算地址和分配空间.所以不同的芯片就有不同大小的rom和ram.放用户程序的地方也不尽相同.所以要根据芯片进行修改.分两部分.MEMORY和SECTIONS.1、MEMORY是用来指定芯片的rom和ram的大小和划分出几个区间.例如:MEMORY{   VECS:      o=0x10800000 l=0x00000200   BO

4、OT:      o=0x10800200 l=0x00000200   IRAM:      o=0x10800400 l=0x0001FA00   DDR2:      o=0x80000000 l=0x10000000}其中o和l参数反映了该区间的起始地址和长度。2、SECTIONS:在程序里添加下面的段名如.vectors.用来指定该段名以下,另一个段名以上的程序放到“>”符号后的空间名字所在的地方。例如SECTIONS{   .bss       >  IRAM   .cinit     >  IRAM  

5、 .cio       >  IRAM   .const     >  DDR2   .data      >  IRAM   .far       >  IRAM   .stack     >  IRAM   .switch    >  IRAM   .sysmem    >  IRAM   .text      >  IRAM   .ddr2      >  DDR2}3、存储模型:c程序的代码和数据如何定位系统定义.cinit 存放程序中的变量初值和常量.const 存放程序中的字符常量、浮点常量和用const

6、声明的常量.text 存放程序代码(程序存储段).bss 未初始化变量存储段.far 为程序中用far声明的全局和静态变量保留空间.stack 为程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果.sysmem 用于程序中的malloc 、calloc 、和realoc 函数动态分配存储空间.sysinit启动代码存储段注意:对于不同平台,存储段定义不同,上述对C6000 4、可以直接在CMD文件中写编译命令如:-lrts2800_ml.lib 连接系统文件rts2800_ml.

7、lib-ofilename.out 最终生成的二进制文件命名为filename.out-mfilename.map 生成映射文件filename.map

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。