009_STM32程序移植之_内部falsh
flash 模拟 EEPROM 实验
1. 测试环境:STM32C8T6
2. 测试接口:
3. 串口使用串口一,波特率9600
单片机引脚------------CH340引脚
VCC--------------------VCC
GND-------------------GND
PA9--------------------RXD
PA10-------------------TXD
STM32 本身没有自带 EEPROM,但是 STM32 具有 IAP(在应用编程)功能,
所以我们可以把它的 FLASH 当成 EEPROM 来使用。本章,我们将利用 STM32 内部的 FLASH实现数据的存放,通过串口打印显示存放数据,不过我们是将数据直接存放在 STM32 内部,而不是存放在 W25Q64。 本章分为以下学习目标:
1. 学习操作 STM32 内部 flash
2. 查看上一篇:008_STM32之_keil编译内存大小解析了解内存
3. 以下为大中小型STM32的闪存容量
STM32 的闪存模块由:主存储器、信息块和闪存存储器接口寄存器等 3 部分组成。主存储器,该部分用来存放代码和数据常数(如 const 类型的数据)。对于大容量产品,其被划分为256 页,每页 2K 字节。注意,小容量和中容量产品则每页只有 1K 字节。从上图可以看出主存储器的起始地址就是 0X08000000, Boot0、 Boot1 都接 GND 的时候,就是从0X08000000 开始运行代码的
1. 上面的是原理解析,下面进行STM32内部flash程序移植
2. 测试串口打印程序是否能够使用
3. 开始移植内部flash上代码
4. 移植程序成功解析代码
5. 这个是存入的起始地址
6. 起始地址从上面的主存储块那里查看地址,地址不能超过相应的容量范围,不然的话程序会不运行,
//设置FLASH 保存地址(必须为偶数,且其值要大于本代码所占用FLASH的大小+0X08000000) ,代码大小查看上一篇008_STM32之_keil编译内存大小解析
7. 建议起始地址:
1. 小容量:0X08007000
2. 中容量:0X08010000
3. 大容量:0X08070000
8. 上面的只是建议打大小,具体要看使用的有多大的数组了,反正不超过程序大小就行了
9. 注意:
10.结束
11. 资料下载:关注公众号
疑惑QQ:3045136580
假如以下视频播放不了,可以到腾讯《STM32移植系列》专辑中查找相对应的
腾讯个人主页:http://v.qq.com/vplus/ffb274f0adf3a4d4374b388a03b2358f/folders
本移植教程地址:https://v.qq.com/x/page/e0770rdy3pg.html
资料下载地址:https://download.csdn.net/download/xiaoguoge11/10633933
009_STM32程序移植之_内部falsh的更多相关文章
- 012_STM32程序移植之_内部flash开机次数管理lib库建立
012_STM32程序移植之_内部flash开机次数管理lib库建立 1. 测试环境:STM32C8T6 2. 测试接口: 3. 串口使用串口一,波特率9600 单片机引脚------------CH ...
- 011_STM32程序移植之_内部flash开机次数管理
011_STM32程序移植之_内部flash开机次数管理 1. 测试环境:STM32C8T6 2. 测试接口: 3. 串口使用串口一,波特率9600 单片机引脚------------CH340引脚 ...
- 016_STM32程序移植之_舵机
STM32程序移植之舵机PWM测试 接线图如下: STM32引脚 舵机引脚 功能 GND GND 正极电源 具体看舵机的额定电压 PA6 PWM引脚 STM32引脚 CH340引脚 GND GND 3 ...
- 007_STM32程序移植之_多通道ADC转换
1. 测试环境:STM32C8T6 2. 测试:使用DMA进行多通道ADC转换 3. 描述:用 ADC 连续采集 12 路模拟信号,并由 DMA 传输到内存.ADC 配置为扫描 并且连续转换模式,AD ...
- 018_STM32程序移植之_串口接收中文
(一)在平时数据传输中很少用到接收中文的情况,但是最近需要用到就花了半天时间来弄弄 (二)接收原理,从现在接收情况分析:一个中文占两个数据的空间,也就是两个十六进制可以转化成为一个中文 (三)示例情况 ...
- STM32F407使用MFRC522射频卡调试及程序移植成功
版权声明:转载请注明出处,谢谢 https://blog.csdn.net/Kevin_8_Lee/article/details/88865556 或 https://www.cnblogs.co ...
- STM32F429 LCD程序移植
STM32F429自带LCD驱动器,这一具有功能给我等纠结于屏幕驱动的程序员带来了很大的福音.有经验的读者一定有过这样的经历,用FSMC驱动带由控制器的屏幕时候,一旦驱动芯片更换,则需要重新针对此驱动 ...
- 嵌入式linux应用程序移植方法总结
嵌入式linux应用程序移植方法总结 前段时间一直在做openCapwap的移植和调试工作,现在工作已接近尾声,编写本文档对前段工作进行一个总结,分享下openCapwap移植过程中的经验和感悟.江浩 ...
- linux第三方程序移植
摘要:在linux开发过程中经常需要用到第三方的程序,有时需要用到它们的库,有时需要它们生成的可执行文件,如何正确地编译这些第三方的程序,以方便地使用和开发自己需要的程序,将是本文要论述的内容. 1. ...
随机推荐
- python学习-19 字典
字典dict 1.dic = {key:value,key:value} 字典有{ }括住,字典的value可以是任意值,字典的key的值不包括列表和字典 di = {"age": ...
- 20191011-构建我们公司自己的自动化接口测试框架-Util的TestDataHandler模块
TestDataHandler模块主要是做测试数据的处理,包括转换数据格式和变量参数处理转换数据格式函数: data是数据,data以$()的方式识别变量,如果请求的数据有变量,则将变量用global ...
- 创客课堂——Scratch的操作界面
大家好,这里是蓝精灵创客公益课堂,我是蓝老师 上期我们了解了scratch软件进行了简单的了解,很多朋友都已经按照上期方法下载安装好了软件. 那么今天蓝老师就和大家一起认识下Scratch的操作界面及 ...
- Eureka 注册中心一直报Connect to localhost:8761 time out 的问题
忽略了配置eureka.client.service-url.defaultZone而导致的异常,重新覆盖配置就好 client: fetch-registry: false register-wit ...
- asp.net MVC 抓取微信文章数据(正文)
1.抓微信的正文主要是调用第三方的接口(https://market.aliyun.com/products/56928004/cmapi012134.html) using Newtonsoft.J ...
- 开发人员需求能kill杀死其它阻塞自己的会话,测试发现需要alter system权限有风险
模拟开发人员需求,可以杀死其它阻塞自己的会话1.能有查询阻塞会话确认的权限SQL> grant select on v_$session to testa;SQL> grant selec ...
- JVM 介绍
JVM 介绍: JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的 ...
- vue实现web登陆权限控制
实现原理:vueRouter控制前端页面跳转路由,当登录成功后,返回用户登录token信息,将token信息放到store中,router路由跳转取store中状态有token时,当取到token时跳 ...
- (二)ActiveMQ之点对点消息实现
一.点对点消息实现概念 在点对点或队列模型下,一个生产者向一个特定的队列发布消息,一个消费者从该队列中读取消息.这里,生产者知道消费者的队列,并直接将消息发送到消费者的队列.这种模式被概括为:只有一个 ...
- (八)CXF之用spring添加拦截器
一.案例 本章案例是基于CXF之自定义拦截器基础之上改造的,目的是在服务端中用spring添加拦截器 配置web.xml <?xml version="1.0" encodi ...