你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

如何定义多个变量从指定的位置开始存放

[复制链接]
a707083746 提问时间:2019-8-2 18:30 /
请教大家一个问题
如下面的3个变量这样定义:
u8  V1 __attribute__((at(0x20004000)));
u16 V2 __attribute__((at(0x20004002)));
u32 V3 __attribute__((at(0x20004004)));


在map文件中可以看到分配成功:

    V1                                       0x20004000   Data           1  main.o(.ARM.__AT_0x20004000)
    V2                                       0x20004002   Data           2  main.o(.ARM.__AT_0x20004002)
    V3                                       0x20004004   Data           4  main.o(.ARM.__AT_0x20004004)


上面这种方法需要在每个变量后面都指定一个地址,有没有什么办法可以让某一段或一个C文件的变量从一个指定的位置开始存放呢?


收藏 1 评论3 发布时间:2019-8-2 18:30

举报

3个回答
butterflyspring 回答时间:2019-9-9 16:50:21
看了一下keil的帮助文件,可以将某个文件通过编辑SCATTER文件后指定位置。这样就可以将批量变量的文件统一放置在某个区域。请参考编译器下面的HELP目录 Keil section scatter.PNG
a707083746 回答时间:2019-9-10 08:21:21
butterflyspring 发表于 2019-9-9 16:50
看了一下keil的帮助文件,可以将某个文件通过编辑SCATTER文件后指定位置。这样就可以将批量变量的文件统一 ...

厉害了,应该是这样
Glenxu 回答时间:2019-10-14 09:02:07
定义一个数组也可以实现

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版