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

STM32-怎么定义变量在flash指定位置

[复制链接]
bme_bright 提问时间:2015-3-30 09:26 /
刚玩stm32,请各位指点一下,我想定义变量在flash指定位置。所用编译器,keil.谢谢!
收藏 评论7 发布时间:2015-3-30 09:26

举报

7个回答
Mandelbrot_Set 回答时间:2015-3-30 09:34:13
试试这个:
#include "absacc.h"
static const char data[30]__at(0x00001000)= "";
bme_bright 回答时间:2015-3-30 10:33:23
这个方法刚才试了一下,好像不行。
Mandelbrot_Set 回答时间:2015-3-30 10:55:38
BME_bright 发表于 2015-3-30 10:33
这个方法刚才试了一下,好像不行。

你怎么用的,0x00001000要换成你需要的地址.
kqh1120 回答时间:2015-3-30 11:21:31
学习了 smile.gif
bme_bright 回答时间:2015-3-30 12:35:59
是的,我用的片子是stm32L100系列。变量定义是这样的,先也是包括头文件#include "absacc.h"。再定义“const uint8_t ParaSave__at(0x08080000) = 12;
Mandelbrot_Set 回答时间:2015-3-30 13:05:23
BME_bright 发表于 2015-3-30 12:35
是的,我用的片子是stm32L100系列。变量定义是这样的,先也是包括头文件#include "absacc.h"。再定义“const ...

这应该没问题,除了在__at之前有空格,不然会报错.__at其实是个宏定义,参见absacc.h
bme_bright 回答时间:2015-3-30 13:52:15
原来是头文件没有添加成功。__at之前是要一个空格吧。要不然编译报错。数值是初始化进去了。但是为什么仿真的时候,memory观察窗口(0x08080000)看不到数值呢。可,程序里面读出来的数值是对的。

所属标签

相似问题

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