打印
[AVR单片机]

atmel studio常量地址绝对定位

[复制链接]
1009|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
徐维溢|  楼主 | 2016-6-3 15:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
shaoziyang| | 2016-6-3 16:05 | 只看该作者
可以的。先自定义一个sram段,然后将变量定义到这个段里面。参考一下eeprom.h等头文件。

使用特权

评论回复
板凳
shaoziyang| | 2016-6-3 16:06 | 只看该作者
在《AVR单片机专题精讲》中介绍了这个方法

使用特权

评论回复
地板
徐维溢|  楼主 | 2016-6-3 18:28 | 只看该作者
shaoziyang 发表于 2016-6-3 16:06
在《AVR单片机专题精讲》中介绍了这个方法

我的意思是定义一个常量,比如软件版本号,我可以在生成的bin文件或hex文件的指定位置去读取。以前用keil是可以的,才接触atmel studio一直没有成功

使用特权

评论回复
5
徐维溢|  楼主 | 2016-6-3 20:37 | 只看该作者
shaoziyang 发表于 2016-6-3 16:06
在《AVR单片机专题精讲》中介绍了这个方法

大哥你有这本书的电子版么,求助

使用特权

评论回复
6
shaoziyang| | 2016-6-4 15:19 | 只看该作者
徐维溢 发表于 2016-6-3 20:37
大哥你有这本书的电子版么,求助

买一本吧,也不贵。

首先在项目属性中创建一个用户段,用户段可以设置为eeprom、SRAM、flash几种。然后定义变量的时候加上段。比如

#define MYVAR __attribute__((section("MYVARPOS")))

MYVAR  int var1;

使用特权

评论回复
7
徐维溢|  楼主 | 2016-6-5 20:47 | 只看该作者
shaoziyang 发表于 2016-6-4 15:19
买一本吧,也不贵。

首先在项目属性中创建一个用户段,用户段可以设置为eeprom、SRAM、flash几种。然后 ...

谢谢你,搞定了。不过绝对定位的地址必须在代码后,这点没有keil那么灵活

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝