完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大神,您好,很开心您能看到这个问题。我的问题就是在RTT Studio中如何指定数组存放在某个具体的内存地址上,或者说数组的绝对定位,RTT Studio用的编译器是默认GUN? |
|
相关推荐
1个回答
|
|
问题描述: GCC编译器不支持__attribute__ ((at(addr)))指令,从而出现警告情况,提示信息为“warning: ’at’ attribute directive ignored”, 该命令__attribute__ ((at(addr)))在Keil中给的使用方式图图1所示。 需要使用__attribute__ ((section(“name”)))。 图1 Keil中定义数组于某个地址的方式 解决办法:使用__attribute__ ((section(“name”))),由于section的使用方法在国内较少,从而只能去国外查找,最后在网站 找到了解决办法。 第一步 由于使用了GCC编译器,从而一定有一个连接文件,该文件的后缀名为.lds。 第二步 (添加变量到Flash中): 打开文件后,将Flash中的变量添加到图2的②中。 ①是对Flash中的函数,中断等进行内存的初始化, ③是开始对RAM中的变量进行初始化。 图2 Flash中段的添加 第二步(添加变量到RAM中): RAM中段的添加如图3中的 ②所示。 ①是栈的初始化, ③是定义的一些变量的初始化。 图3 RAM中段的添加 第三步 将数组定义到对应的段中。如定义到Flash中如图4所示。 图4 变量定义于Falsh中的方式 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
836 浏览 0 评论
6340 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2836 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
3101 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
33230 浏览 11 评论
73658 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 02:12 , Processed in 0.391503 second(s), Total 42, Slave 33 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号