前言
使用片外Flash W25Q128虚拟成U盘。一、配置工程
1、打开W25Q128
2、打开USB Drever
3、开启大容量设备,并设置容量设备名称为W25Q128。
4、编译、下载和运行,第一次插入电脑后提示需要格式化,我们选择快速格式化即可。
二、W25Q128搭载文件系统
1、如何在此基础上搭载文件系统,参考我之前的博文,注意工程使用刚刚配置好虚拟U盘的工程。
2、编译、下载和运行,发现当前程序只能是要么虚拟成U盘,要么让W25Q128搭载文件系统,搭载文件系统后我们可以通过代码让他解除挂载,而虚拟成U盘后拔下U盘也无法自动解除对W25Q128的占用,导致文件系统无法挂载文件文件系统。
3、针对上述问题参考我之前的博文解决,这是一个BUG来的。
4、添加卸载文件系统代码。
/*******************************************************************************
* 函 数 名 : w25q128_unmount
* 输 入 : 空
* 输 出 : 空
* 函数功能 : 卸载Flash文件系统
* 详细描述 : 空
*******************************************************************************/
static void w25q128_unmount(void)
{
/*查找Flash设备*/
if(rt_device_find("W25Q128") != RT_NULL)
{
/*挂载Flash*/
if(dfs_unmount("/") == 0)
{
rt_kprintf("flash unmount success!\n");
}
else
{
rt_kprintf("flash unmount failed!\n");
}
}
}
5、编译、下载和运行,可以通过手动对W25Q128进行挂载和卸载文件系统,卸载文件系统后USB插上电脑能被识别成U盘,USB拔下后可以自动解除W25Q128占用,可以再次手动挂载文件系统。