基于stm32实现片内flash读取数据及音乐播放(不完整)
FLASN
1、空间划分
块(bank) > 扇区(sector) > 页(page)
一般一个扇区(sector)多个页(page) , 一个块 (bank)又有多个扇区 (sector)。
2、举例
以W25Q128为例:
128Mbit 的容量。每页256字节,一共65536个字节,合计655362568=134,217,728bit ,等于134,217,728/1024/1024=128Mbit.每次编程数据为256字节。擦除可以按16页(即一个扇区擦除,4K)、按128页擦除(32KB块擦除)、按256页擦除(64KB块擦除)或者整片擦除。
这个芯片总结来说:
每页256个字节,一共65536页。
每个扇区有16页,也即4KB大小。
块比较特殊,可以是32KB,也可以是64KB,这取决于擦除方式,所以这里分两种块擦除操作。
3、注意事项
(1)flash在写入之前必须先擦除;
(2)擦除的最小单位是扇区,芯片的flash空间不一样,可能扇区的大小也不一样;
(3)对于频繁擦写的应用,需要考虑擦写均衡以提高flash的寿命;
一、片内flash
Flash在内存的映射地址0x0800 0000 ~ 0x0801 FFFF,即大小为128KB


对于系统而言,Flash分为片

本文介绍了基于STM32的片内Flash数据读取和音乐播放实现过程。首先,详细讲解了Flash的组织结构,如页、扇区和块的概念,以及操作注意事项。接着,阐述了如何在Flash中读取数据,包括工程建立、代码修改和烧录运行的步骤,并展示了数据成功写入的验证。最后,提到了利用Flash播放提示音的初步尝试,但由于软件问题未能完成全部流程。
&spm=1001.2101.3001.5002&articleId=122247024&d=1&t=3&u=2493755cf95948c0920b34c1b617c9c9)
1376

被折叠的 条评论
为什么被折叠?



