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编译内存大小解析

  1. 建议起始地址:

  2. 小容量:0X08007000

  3. 中容量:0X08010000

  4. 大容量:0X08070000

  5. 上面的只是建议打大小,具体要看使用的有多大的数组了,反正不超过程序大小就行了

  6. 注意:
    在这里插入图片描述
    10.结束

疑惑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

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值