STM32的Flash地址空间的数据读取
目录
一、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地址空间的数据读取相关推荐
- STM32c8t6Flash地址空间的数据读取
STM32F103c8t6Flash地址空间的数据读取 一.项目任务 二.Flash的读写操作 1.创建STM32CubeMX工程文件 2.代码修改 3.连接STlink调试 (1)程序烧录 (2)调 ...
- STM32利用flash读取音频数据读取与DAC播放
目录 一.博客内容 二.Flash地址空间的读取 2.1 Flash原理 2.2 软.硬件准备 2.3 利用CubeMX建立工程 2.4 工程代码 2.5 ST-Link的使用 2.6 仿真调试 三 ...
- STM32F103基于片内flash的数据读取与音乐播放
目录 一.前言 二.题目要求 三.什么是片内flash 四.闪存的编程和擦除 五.基于flash的数据读取 1.工程创建 2.修改代码 3.烧录 4.调试 六.基于flash的提示音播放 1.生成正弦 ...
- 基于stm32f103c8t6的flash的数据读取以及提示音播放程序
文章目录 一. 题目 二. 所使用软件硬件 三. 基于flash的数据读取 四. 基于片内Flash的提示音播放程序 1. 使用DAC输出周期2khz的正弦波 2. 使用DAC输出数字音频歌曲数据转换 ...
- STM32+SD卡的原理图绘制以及用32完成对SD卡的数据读取(fat文件模式)
目录 一.下载安装AD 1.1安装方法一 1.2安装方法二 二.绘制STM32最小系统原理图 2.1元件库 2.2新建工程 2.3绘制原理图 三.SD卡协议原理 3.1SD卡简介 3.2SD卡接口 3 ...
- 17-1-数据处理思想和程序架构: 单片机stm32的flash保存数据优化方案(让擦写次数达到上百万至上千万次)
资料源码:https://gitee.com/yang456/OpenProgrammingModuleForMCU.git 点击加入群聊[单片机,物联网,上位机]: 说明1:知识从未如此性感. 烂程 ...
- 嵌入式C语言STM32在FLASH中读取写入数据
STM32F4XX向指定FLASH地址读写 向FLASH中写入数据的主体思想就是先解锁,然后清标志位,然后找到要写入的地址,然后改变标志准备写入,然后在按已有的函数按地址一字节一字节的写入,最后要将F ...
- map文件分析 stm32_使用STM32内部Flash额外的空间来存储数据
本次分享关于STM32内部FLASH的笔记. STM32 芯片内部的 FLASH 存储器,主要用于存储我们代码.如果内部FLASH存储完我们的代码还有剩余的空间,那么这些剩余的空间我们就可以利用起来, ...
- STM32 FLASH的写入与读取
STM32 FLASH的写入与读取 解释下a = (u16)(add); u16 FLASH_R(u32 add){ //参数1:FLASH地址(32位)u16 a;a = *(u16*)(add); ...
- 绘制STM32最小系统电路原理图、STM32F103读取SD卡的数据
绘制STM32最小系统电路原理图.STM32F103读取SD卡的数据 文章目录 绘制STM32最小系统电路原理图.STM32F103读取SD卡的数据 1 AltiumDesigner 软件配置 2 A ...
最新文章
- 【错误记录】Android Studio 的 Flutter 代码界面没有 Logcat 面板
- 简单了解各种序列化技术-Hessian序列化框架
- 关于c++跟java区别的几个总结
- 没看过这5本硬核技术书,就别说你懂大数据
- aiohttp/flask python后端单元测试,单元测试覆盖率测试
- 带grub的软盘镜像制作
- linux中hdfs格式化,HDFS操作命令
- 雅虎前端优化35条军规
- 【爬虫】爬取当当网的图书信息
- 采用邻接表表示法创建无向图
- 这才是打开风变编程的正确操作方式
- dtu MySQL_DTU-DATACENTER
- 显示前半内容后半内容用省略号_省略号前后的标点用法
- ASP+VML制作统计图的源程序
- js-beautify 不换行
- 恢复被文件夹病毒恶意隐藏的文件夹
- switch新机注意事项
- MCNP6在windows下的安装
- 复旦微ZYNQ 四核使用
- 我不愿当一辈子啃老族
热门文章
- DPI vs DFI
- Deep Dream:理解深度神经网络结构及应用(实战篇)
- 一分钟教你批量制作视频的胶卷效果
- #新学期,新FLAG#飞翔的小野猪
- 苹果公司:苹果商店App价格将调整 多个国家地区受影响
- 兼容 IE、 FireFox 的 javascript 日历控件 原创作者:寒羽枫(cityhunter172)
- docker启动elasticsearch容器put数据时: SERVICE_UNAVAILABLE/1/state not recovered /initialized
- mp4格式-播放和断点续播
- centos6 安装 directAdmin
- js使用微信上传图片功能