STM32 烧录程序后无法在内部FLASH保存数据问题解决

新接手一套代码,要求在Flash特定区域保存数据。硬件为STM32F030C6,有32k Flash。

原代码中已经将数据打包成一个结构体,并将结构体的地址固定在Flash中并将其中一个参数初始化,使用如下方法:

const Flash_Data FlashData __attribute__((at(0x8007C00))
{.softVer = 0x01010109;
};

Keil设置中已将Flash大小设置成28k(0x7000),且下载选项已设置成按扇区擦除(Erase Sector),但是发现每次下载代码后Flash中的数据总是被清除,只是单纯的重启板子数据就不会丢失。
使用keil debug发现地址0x8007C0后的FlashData的大小的数据全部为0,其余为0xFF。而Flash格式化后的每个字节应为0xFF,可知0x8007C00的数据不是下载的时候清除的,而是程序运行时清除的,使用这种方法时不能在代码里将FlashData初始化。
在后续的调试中还发现,不能使用const修饰,这样下载之后也会将整个结构体初始化为0。

STM32 烧录程序后无法在内部FLASH保存数据问题解决相关推荐

  1. STM32 烧录程序后上电不工作,但调试模式下可正常工作的解决办法

    学习STM32的时候遇到的小问题: 用CubeMX生成初始代码,程序内容只包括呼吸灯工作和一个中断调用printf重定向函数向串口发送内容: 在STM32F103C8T6最小系统板烧录程序后上电不工作 ...

  2. STM32 --- 使用内部FLASH存储数据

    本文记录了对一些知识点的理解.操作方法,如有错误,请务必批评指正!! 最终的测试截图: 目录​ 一.内部FLASH要点 关于地址: 关于解锁: 关于擦除: 关于写入: 二.读取数据 三.存储数据 四. ...

  3. STM32F103使用内部Flash保存参数

     在我们应用开发时,经常会有一些程序运行参数需要保存,如一些修正系数.这些数据的特点是:数量少而且不需要经常修改,但又不能定义为常量,因为每台设备可能不一样而且在以后还有修改的可能.将这类数据存在 ...

  4. STM32烧录程序方式

    一.启动模式(Boot modes) 阅读:STM32中文参考手册_V10.pdf 查看启动配置(Boot modes). 在STM32F10xxx里,可以通过BOOT[1:0]引脚选择三种不同启动模 ...

  5. 17-1-数据处理思想和程序架构: 单片机stm32的flash保存数据优化方案(让擦写次数达到上百万至上千万次)

    资料源码:https://gitee.com/yang456/OpenProgrammingModuleForMCU.git 点击加入群聊[单片机,物联网,上位机]: 说明1:知识从未如此性感. 烂程 ...

  6. FT2232+OpenOCD为STM32烧录程序步骤

    1.配置OpenOCD环境(已经配置好的可以跳过): [步骤 1] 安装 FT2232HL 芯片的驱动,安装文件为 CDM21228_Setup.exe. 在安装驱动时,板子不需要连接到电脑.(用户可 ...

  7. STM32烧录程序失败

    故障如下: 原因: 1.芯片选择错误 编译生产的hex文件不是STM32系列的芯片. 2.预留空间不足 下图的内存空间可以调大一些.

  8. STM32下一次程序后J-link不能识别问题解决

    http://blog.csdn.net/weifengdq/article/details/78720845

  9. WS2812b烧录程序后不亮

    可能的原因 esp8266请使用D10 即 1 号引脚测试 检查接线是否正确 WS2812b ESP8266 备注 VCC VCC 电源正极 GND G 电源负极 DIN D10 数据输入 检查电源是 ...

最新文章

  1. 不畏浮云遮望眼--离散数学和组合数学
  2. 解决git无法clone地址为https的库
  3. Windows 2008在域中不能更改密码策略解决方法
  4. python调用ipython_在IPython中执行Python程序文件的示例
  5. 文件上传获取file的全路径名_Java中的File类与I/O流
  6. [leetcode] 740.删除并获得点数
  7. 由浅入深理解----java反射技术
  8. DataRow 点不出 Select
  9. AngularJs 实战 -慕课网
  10. l455在线清零服务器,爱普生epson l455清零软件官方版
  11. 《通关!游戏设计之道》学习笔记
  12. Deepin 深度操作系统安装教程
  13. el-input设置type为number时,切换为中文输入法输入会让光标上移的问题解决
  14. 10 个深恶痛绝的 Java 异常
  15. 大数据治理——《华为数据之道》
  16. hypot() 函数
  17. java编写爬虫_手把手教你从零开始用Java写爬虫
  18. opencv学习笔记及复习(四)物体追踪及人体肤色追踪
  19. 大学物理实验绪论笔记——关于物理实验的误差分析、处理与数据记录
  20. 推荐几款好用的企业级文档管理软件

热门文章

  1. 装ubuntu+win10双系统时出现的问题
  2. Python+matplotlib实现填充螺旋实例
  3. arcgis风向_arcgis制作风或水流速流向图
  4. Simulink —— PMSM基础及FOC控制模型
  5. 微信小程序登录code been used或者invalid code错误解决方案
  6. Android解锁图案共有多少种?
  7. win10 安装单机版 pyspark
  8. 怎样微信扫描二维码跳转页面,H5页面在微信中下载APP的实现方式
  9. 十分详细的jdk8时间相关操作以及知识点(文章很长)
  10. bs4提取p标签内的值href