|
本文通过对比F1、F4、L4系列的手册数据,浅谈对Bank、Sector、Page相关概念的理解。 以我们常用的STM32F103C8T6为例:4 p8 v" |9 \" J2 V0 X 5 Y7 }) C% }. X: g
+ T, F# O; L& B* p2 c 它具有64K的闪存大小,属于中容量产品。! |. x7 v, r; J" b8 z 在STM32中文参考手册_V10中,是这样描述嵌入式闪存的: 7 W( j; Q' Y' k) w# A3 u3 a$ z" V" {. R
5 X& F' f6 h7 _: r3 |' _; q( p 中容量产品主存储块最大为16x64位,每个存储块划分为128个1K字节的页,对应的表3如下: , l/ c1 h3 o) R- P# q6 X
0 o9 j6 f, U h5 g% E0 o, {2 f: F8 u 在手册随后的擦除和编程相关的描述中:
5 `; T! M0 w& g3 M( w 我们就知道了,STM32F1系列最小擦除粒度为页面(1K),最小写入粒度为半字(2byte)。 S( J2 i* H+ m' C7 b8 D( S" s 再以STM32F4系列为例,这里就不看芯片手册,直接看中文参考手册了:2 v4 c& H1 W+ U0 ] \. t; ? . \% B. e: k- @) W5 E9 P. k+ V9 ^$ @
6 M) g. u. {& p# v; ?5 F0 h 最小擦除粒度为扇区(最小的16K),最小写入粒度为字节(1byte)。 # M9 c+ G- K6 _' ?& F 再看看STM32L4系列,这里只找到了英文的参考手册:
然后是它的分区结构:0 T+ U$ h( _) h- f3 f 3 B1 s4 a; e- k/ \& ?7 Q" i; f$ B
, D3 T2 l0 }* j 它把存储器分成了2份,所以有页擦除、bank擦除和整体擦除三种擦除方式。 最小擦除粒度为页(2Kbyte),因为具有ECC纠错,所以最小写入粒度为64bit。# |5 c9 N# g8 f* U, ? 其实对于bank、sector和page的了解,我觉得需要知道针对我们所使用的MCU,最小写入粒度和最小擦除粒度是什么,具体大小是多少就行了。 % {2 Z* E" Z) a5 n. @
————————————————' ?7 Z/ @3 O3 N% U. I 版权声明:小盼你最萌哒 如有侵权请联系删除 & ^# m, F! I! y/ K |
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
Keil-MDK 在线调试设置断点的高级用法
请教下STM32N6570 怎么把分辨率改成320x240并可以全屏显示
【福利三:逢7发帖赢大礼】想要充分利用STM32H743VI片内的RAM空间(但并不顺利)
基于stm32平台上的IC-MU磁绝对值编码器SPI通讯和码盘数据处理
使用STM32 MCU和MPU连接PDM数字麦克风
分享STM32资料-采用 STM32U031R8 MCU 的 STM32 Nucleo-64 开发板,官方资料,数据手册等资料
HRTIM 指南
使用 STM32 的 DWT 单元监控内存
DAC,COMP,HRTIM Fault 功能的使用
微信公众号
手机版