#pragma DATASECTION 和CMD文件.docx

上传人:牧羊曲112 文档编号:3139244 上传时间:2023-03-11 格式:DOCX 页数:3 大小:37.46KB
返回 下载 相关 举报
#pragma DATASECTION 和CMD文件.docx_第1页
第1页 / 共3页
#pragma DATASECTION 和CMD文件.docx_第2页
第2页 / 共3页
#pragma DATASECTION 和CMD文件.docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《#pragma DATASECTION 和CMD文件.docx》由会员分享,可在线阅读,更多相关《#pragma DATASECTION 和CMD文件.docx(3页珍藏版)》请在三一办公上搜索。

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

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

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

4、 0x80000000 l = 0x10000000 其中o和l参数反映了该区间的起始地址和长度。 2、SECTIONS: 在程序里添加下面的段名如.vectors.用来指定该段名以下,另一个段名以上的程序放到“”符号后的空间名字所在的地方。 例如 SECTIONS .bss IRAM .cinit IRAM .cio IRAM .const DDR2 .data IRAM .far IRAM .stack IRAM .switch IRAM .sysmem IRAM .text IRAM .ddr2 DDR2 3、 存储模型:c程序的代码和数据如何定位 系统定义 .cinit 存放程序中的变

5、量初值和常量 .const 存放程序中的字符常量、浮点常量和用const声明的常量 .text 存放程序代码 .bss 未初始化变量存储段 .far 为程序中用far声明的全局和静态变量保留空间 .stack 为程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果 .sysmem 用于程序中的malloc 、calloc 、和realoc 函数动态分配存储空间 .sysinit 启动代码存储段 注意:对于不同平台,存储段定义不同,上述对C6000 4、可以直接在CMD文件中写编译命令 如: -l rts2800_ml.lib 连接系统文件rts2800_ml.lib -o filename.out 最终生成的二进制文件命名为filename.out -m filename.map 生成映射文件filename.map

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号