目录

一、STM32内部FLASH地址简介

二、Flash地址空间的数据读取

1.CubeMX创建工程

2.工程代码修改

3.调试前配置

4.硬件连接

5.调试

三、总结

四、参考资料


一、STM32内部FLASH地址简介

在 STM32 芯片内部有一个 FLASH 存储器,它主要用于存储代码,我们在电脑上编写 好应用程序后,使用下载器把编译后的代码文件烧录到该内部 FLASH 中,由于 FLASH 存 储器的内容在掉电后不会丢失,芯片重新上电复位后,内核可从内部 FLASH 中加载代码并 运行,见图

图 STM32 的内部框架图

除了使用外部的工具(如下载器)读写内部 FLASH 外,STM32 芯片在运行的时候, 也能对自身的内部 FLASH 进行读写,因此,若内部 FLASH 存储了应用程序后还有剩余的 空间,我们可以把它像外部 SPI-FLASH 那样利用起来,存储一些程序运行时产生的需要掉 电保存的数据。

由于访问内部 FLASH 的速度要比外部的 SPI-FLASH 快得多,所以在紧急状态下常常 会使用内部 FLASH 存储关键记录;为了防止应用程序被抄袭,有的应用会禁止读写内部 FLASH 中的内容,或者在第一次运行时计算加密信息并记录到某些区域,然后删除自身的 部分加密代码,这些应用都涉及到内部 FLASH 的操作。

二、Flash地址空间的数据读取

1.CubeMX创建工程

选择stm32f103c8芯片后,配置SYS

配置RCC

配置引脚

配置时钟树

中断配置

调整堆栈大小

2.工程代码修改

工程源码

提取码:pmvn

将工程源码中的flash.c和flash.h加入到工程中(flash.h文件放在INC文件夹下即可)

在main.c中添加代码

3.调试前配置

打开魔法棒,点击Debug,选择ST-Link Debugger、

点击Settings,选择Debug页面,其中Port选择SW

选择Flash Download,设置如下图

4.硬件连接

连接硬件ST-Link,需要下载STLink驱动

STLink驱动

提取码:07tq

硬件连接如下图:

5.调试

点击,将程序下载到STM32中,结果如下图

点击,进入调试

点击View->memory windows->memory1,打开内存观察窗口

在地址栏中输入0x800C000,观察FLASH区间内容

点击鼠标右键选择显示格式

点击View->Watch?windows->memory1,打开变量观察窗口

将变量FlashWBuff和FlashRBuff加入到Watch1观察窗口

点击View,勾选Periodic Windows Update,开启变量自动更新

全速运行,这时候就会看到Watch1窗口中?FlashWBuff,FlashRBuff中的内容全部变的一样

在Memory1窗口中可以看到在FLASH地址0x0800C000成功写入内容

断电后在重新接电调试,可以发现程序停在main函数入口处时还可以看到Flash对应区间的内容保持上一次写入内容值。

三、总结

此次实验最大的阻碍就是,好几次当我快要写完博客时,sb csdn突然抽风搞得我之前写的东西都没了,只能重写,2021年最后一天心态全无。

四、参考资料

STM32 进阶教程 13 – FLASH的读写操作

STM32的Flash地址空间的数据读取相关推荐

  1. STM32c8t6Flash地址空间的数据读取

    STM32F103c8t6Flash地址空间的数据读取 一.项目任务 二.Flash的读写操作 1.创建STM32CubeMX工程文件 2.代码修改 3.连接STlink调试 (1)程序烧录 (2)调 ...

  2. STM32利用flash读取音频数据读取与DAC播放

    目录 一.博客内容 二.Flash地址空间的读取 2.1 Flash原理 2.2 软.硬件准备 2.3 利用CubeMX建立工程 2.4 工程代码 2.5 ST-Link的使用 ​2.6 仿真调试 三 ...

  3. STM32F103基于片内flash的数据读取与音乐播放

    目录 一.前言 二.题目要求 三.什么是片内flash 四.闪存的编程和擦除 五.基于flash的数据读取 1.工程创建 2.修改代码 3.烧录 4.调试 六.基于flash的提示音播放 1.生成正弦 ...

  4. 基于stm32f103c8t6的flash的数据读取以及提示音播放程序

    文章目录 一. 题目 二. 所使用软件硬件 三. 基于flash的数据读取 四. 基于片内Flash的提示音播放程序 1. 使用DAC输出周期2khz的正弦波 2. 使用DAC输出数字音频歌曲数据转换 ...

  5. STM32+SD卡的原理图绘制以及用32完成对SD卡的数据读取(fat文件模式)

    目录 一.下载安装AD 1.1安装方法一 1.2安装方法二 二.绘制STM32最小系统原理图 2.1元件库 2.2新建工程 2.3绘制原理图 三.SD卡协议原理 3.1SD卡简介 3.2SD卡接口 3 ...

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

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

  7. 嵌入式C语言STM32在FLASH中读取写入数据

    STM32F4XX向指定FLASH地址读写 向FLASH中写入数据的主体思想就是先解锁,然后清标志位,然后找到要写入的地址,然后改变标志准备写入,然后在按已有的函数按地址一字节一字节的写入,最后要将F ...

  8. map文件分析 stm32_使用STM32内部Flash额外的空间来存储数据

    本次分享关于STM32内部FLASH的笔记. STM32 芯片内部的 FLASH 存储器,主要用于存储我们代码.如果内部FLASH存储完我们的代码还有剩余的空间,那么这些剩余的空间我们就可以利用起来, ...

  9. STM32 FLASH的写入与读取

    STM32 FLASH的写入与读取 解释下a = (u16)(add); u16 FLASH_R(u32 add){ //参数1:FLASH地址(32位)u16 a;a = *(u16*)(add); ...

  10. 绘制STM32最小系统电路原理图、STM32F103读取SD卡的数据

    绘制STM32最小系统电路原理图.STM32F103读取SD卡的数据 文章目录 绘制STM32最小系统电路原理图.STM32F103读取SD卡的数据 1 AltiumDesigner 软件配置 2 A ...

最新文章

  1. 【错误记录】Android Studio 的 Flutter 代码界面没有 Logcat 面板
  2. 简单了解各种序列化技术-Hessian序列化框架
  3. 关于c++跟java区别的几个总结
  4. 没看过这5本硬核技术书,就别说你懂大数据
  5. aiohttp/flask python后端单元测试,单元测试覆盖率测试
  6. 带grub的软盘镜像制作
  7. linux中hdfs格式化,HDFS操作命令
  8. 雅虎前端优化35条军规
  9. 【爬虫】爬取当当网的图书信息
  10. 采用邻接表表示法创建无向图
  11. 这才是打开风变编程的正确操作方式
  12. dtu MySQL_DTU-DATACENTER
  13. 显示前半内容后半内容用省略号_省略号前后的标点用法
  14. ASP+VML制作统计图的源程序
  15. js-beautify 不换行
  16. 恢复被文件夹病毒恶意隐藏的文件夹
  17. switch新机注意事项
  18. MCNP6在windows下的安装
  19. 复旦微ZYNQ 四核使用
  20. 我不愿当一辈子啃老族

热门文章

  1. DPI vs DFI
  2. Deep Dream:理解深度神经网络结构及应用(实战篇)
  3. 一分钟教你批量制作视频的胶卷效果
  4. #新学期,新FLAG#飞翔的小野猪
  5. 苹果公司:苹果商店App价格将调整 多个国家地区受影响
  6. 兼容 IE、 FireFox 的 javascript 日历控件 原创作者:寒羽枫(cityhunter172)
  7. docker启动elasticsearch容器put数据时: SERVICE_UNAVAILABLE/1/state not recovered /initialized
  8. mp4格式-播放和断点续播
  9. centos6 安装 directAdmin
  10. js使用微信上传图片功能