4981|1

3836

帖子

19

TA的资源

纯净的硅(中级)

楼主
 

请问如何在ccs 指定FLASH变量的绝对地址? [复制链接]

在ccs中, 准备定义一个全局变量,内容为"1234567890",放在FLASH的某个地址上,如0x1b00。准备是程序编译完后,生成的hex文件转换成bin文件之后,在0x1b00位置上,就有这串数据写在里头。
要如何操作?

谢谢

最新回复

CCS中可以给变量分配固定地址,C语言对应语法为: #pragma DATA_SECTION ( symbol , " section name " ); 对应的使用例子为: #pragma DATA_SECTION(bufferB, "my_sect") char bufferA[512]; char bufferB[512]; 而其中的 my_sect是在对应工程的cmd文件中进行指定的,你可以在cmd文件的 MEMORY { RAM1:     o = 200h, l = 10h ...... } 中专门指定出一块RAM用来存放你的变量,此段RAM的起始地址直接定成你想要给变量分配的固定地址,再给它自己起个名字RAM1,自己可以定。其中o后为起始地址,l为长度。 而后在 SECTIONS { ........ my_sect > RAM1 } 中指定my_sect存在RAM1中即可。 这样symbol就可以放在固定的地址了。 这些内容在文档“MSP430 Optimizing C or C++ Compiler v 4.0 User's Guide”中均有详细讲解。  详情 回复 发表于 2017-1-3 20:49
 
点赞 关注

回复
举报

1059

帖子

1

TA的资源

版主

沙发
 
CCS中可以给变量分配固定地址,C语言对应语法为:

#pragma DATA_SECTION ( symbol , " section name " );

对应的使用例子为:

#pragma DATA_SECTION(bufferB, "my_sect")
char bufferA[512];
char bufferB[512];

而其中的 my_sect是在对应工程的cmd文件中进行指定的,你可以在cmd文件的


MEMORY
{
RAM1:     o = 200h, l = 10h

......
}

中专门指定出一块RAM用来存放你的变量,此段RAM的起始地址直接定成你想要给变量分配的固定地址,再给它自己起个名字RAM1,自己可以定。其中o后为起始地址,l为长度。

而后在

SECTIONS
{
........
my_sect > RAM1
}

中指定my_sect存在RAM1中即可。

这样symbol就可以放在固定的地址了。

这些内容在文档“MSP430 Optimizing C or C++ Compiler v 4.0 User's Guide”中均有详细讲解。
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
福禄克有奖直播:高精度测温赋能电子制造 报名中!
直播时间:2025年2月28日(周五)上午10:00
直播主题:高精度测温赋能电子制造
小伙伴们儿快来报名直播吧~好礼等你拿!

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表