BME_bright 发表于 2015-3-30 09:26:23

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

刚玩stm32,请各位指点一下,我想定义变量在flash指定位置。所用编译器,keil.谢谢!

Mandelbrot_Set 发表于 2015-3-30 09:34:13

试试这个:
#include "absacc.h"
static const char data__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要换成你需要的地址.

zfz0122 发表于 2015-3-30 11:21:31

学习了

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)看不到数值呢。可,程序里面读出来的数值是对的。
页: [1]
查看完整版本: STM32-怎么定义变量在flash指定位置