【发布时间】:2015-04-14 17:50:29
【问题描述】:
我正在尝试使用 STM32F405 的内部闪存来存储重启后保留的一堆用户可设置字节。
我正在使用:
uint8_t userConfig[64] __attribute__((at(0x0800C000)));
为我要存储的数据分配内存。
程序启动时,我检查第一个字节是否设置为0x42,如果没有,我设置它使用:
HAL_FLASH_Unlock();
HAL_FLASH_Program(TYPEPROGRAM_BYTE, &userConfig[0], 0x42);
HAL_FLASH_Lock();
然后我检查userConfig[0] 中的值,我看到0x42...太好了!
但是,当我点击重置并再次查看该位置时,它不再是 0x42...
知道我哪里出错了吗?我也试过:
#pragma location = 0x0800C00
volatile const uint8_t userConfig[64]
但我得到了相同的结果..
【问题讨论】:
标签: microcontroller stm32 stm32f4discovery flash-memory