这一张我们主要讲解一下STM32CUBEMX新版本 片外FLASH(W25Q128)+FATFS文件系统+虚拟U盘。
一、准备工作
这里我们要想配置SPI和文件系统 并验证需要的准备工作如下:
1、MDK for ARM(KEIL5)或者IAR FOR ARM(这个是软件必备开发平台) (必须)
2、一块STM32最小系统开发板必须带USB (必须)
3、一块片外FLASH可以在开发板上面或者是自己买的模块,这里我用的是W25Q128(16MB的片外flash) (必须)
二、具体的操作
1、工程建立
1)、片外FLASH(W25Q128)+FATFS文件系统这一部分上一章节我已经讲解完了,大家可以去参考上一个章节去做。
2)、在Pinout&Configuration菜单栏下,配置USB如图
3)、在Clock Configuration菜单栏下,配置USB主时钟必须是48M
3)、在Clock Configuration菜单栏下,配置USB模式为Mass Storage Class模式,在配置栏修改扇区大小为4096bytes,因为Flash的扇区是4096,SD卡扇区是512,这里要区分。
4)、生成工程配置如图
生成成功后打开工程。
2、工程测试
1)、虚拟U盘大小配置
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201024105741215.png?x-oss-process=image/watermark,type_ZmFuZ3poZ
W5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE1MTE3MTY3,size_16,color_FFFFFF,t_70#pic_center)
U盘容量一个扇区4K=4096,我们这里设置扇区个数为 2048 = 8MB。
2)、其他的函数配置如下
最主要的配置是
初始化函数
int8_t STORAGE_Init_FS(uint8_t lun)
读函数
*int8_t STORAGE_Read_FS(uint8_t lun, uint8_t buf, uint32_t blk_addr, uint16_t blk_len)
写