stm32内部flash

内部flash就是rom 掉电不丢失的存储器

通过编程可以通过闪存存储器接口对程序存储器和选项字节进行擦除和编程

可以用来存储一些用户数据 标志位等

主存储器是正常程序存储的地方 启动程序区就是原厂iap下载的区 用户选项字节 主要是配置程序存储器的读写保护 可以在用户编程区 最后几页设置ipa

内部flash跟外部flash一样 需要按页擦除 按页写入 写入之前都需要擦除 和等待忙

w25q系列 先分为块 再分为扇区 再分为页 内部flash就简单多了 就只有一个单位页 根据不同容量每个页也不同 主程序区根据容量分 比如c8t6就只有64k zet6就是512k 所以就是256页 每页2k

程序存储器的起始是0x080000 是起始位 然后线性往下的

c8t6 0000 0400 0800 0c00 结尾的就是起始地址 想给页的起始位置需要这个规律

flash解锁 总共有三个键值 进行锁死和解锁

使用指针访问存储器 因为挂载在总线上 所以可以通过指针指向地址进行访问 __IO防止编译器优化 keil默认是最低优化 所以不需要加__IO 但是想优化代码降低空间占用率 提升优化等级到最高 防止出现问题 加上__IO 防止被优化掉 让他原封不动的执行 当多线程的时候 例如中断 你在中断改变了一个变量 程序是从缓存里更改的 可能并不知道在中断里更改了 会出现问题 所以加上volatile 防止优化 告诉编译器这个变量是易变的 从内存查看 防止出问题

通过计算 拿到地址

内部flash擦除写入 通过地址加编号加字节实现序号写入地址

相关推荐
冉卓电子1 小时前
GD32C103RBT6 misc 内核驱动库极简解析
单片机·嵌入式硬件
yongui478341 小时前
MAX6675 K型热电偶温度采集程序(Keil环境)
单片机·嵌入式硬件
豆包公子1 小时前
AUTOSAR CP XCP 移植到裸机 MCU-实践篇
单片机·嵌入式硬件
三佛科技-134163842121 小时前
智能暖脚按摩器方案开发,智能暖脚按摩器MCU单片机主控芯片选择 (FT60F系列8位MCU)
单片机·嵌入式硬件·物联网·智能家居·pcb工艺
与仪共舞2 小时前
罗德与施瓦茨NRP 40T功率传感器
科技·单片机·目标检测
是温不嗜温2 小时前
芯茂微100V SR同步整流方案技术解析:效率+5%、温降-20°C,管脚兼容直接替代传统肖特基
嵌入式硬件·电源管理·电源芯片·ac-dc
嵌入式-老费2 小时前
esp32开发与应用(按键输入)
嵌入式硬件
追兮兮2 小时前
告别手动搭建Keil工程!MCUQuickStart一键生成STM32/GD32工程模板,打开即编译
stm32·单片机·嵌入式硬件·gd32·keil5
不会武功的火柴3 小时前
SystemVerilog语法(9)-验证基础与简单Testbench
嵌入式硬件·fpga开发·fpga·systemverilog·硬件描述语言·rtl·uvm验证
XINVRY-FPGA3 小时前
XC7Z020-2CLG484I Xilinx Zynq-7000 SoC FPGA
嵌入式硬件·fpga开发·云计算·硬件工程·fpga