windows平台模拟测试FATFS
来源:互联网 发布:安徽财经大学网络课程 编辑:程序博客网 时间:2024/06/06 06:17
由于项目中需要从SD卡中读取文件,为了方便操作,需要移植文件系统,源码比较容易获取的两个文件系统为FATFS和znFAT,看了一下FatFS文旦比较丰富,同时接口清晰,所以优先选择FatFS进行测试,这样在了解FatFS移植的关键点后再移植到STM32平台会比较有把握,网上也有windows平台移植文件系统的Demo,但是大家要么直接读写本机的磁盘,要么读写U盘,本人不建议这么弄,要是程序有问题把磁盘搞坏了,这个就比较郁闷了。
工欲善其事必先利其器,首先准备我们需要的工具,这里我准备了两个工具,一个创建FAT12格式镜像的工具,此工具是我从网上COPY一个朋友代码制作的,还有一个是从ADT工具包中拷贝的模拟SD卡创建工具mksdcard,此工具创建的镜像为FAT32格式,这两个工具我会共享,共享地址见文章底部,另外我们还需要一个镜像查看工具,本人推荐UltraISO。
第一步创建测试镜像,使用mksdcard创建一个128M的虚拟SD卡文件
使用UltraISO打开查看如下,此时SD空白
第二步移植FATFS,使用VS2010创建Console项目,不要使用Unicode,否则会出现路径问题,拷贝FatFS到项目目录,添加相关文件,如果你不使用长文件名option目下的文件不用添加,FatFS本人使用的是V12C,项目的组织结构本人就不描述了,每个人的习惯不同,组织习惯也不同,项目源码最终会共享,共享地址在文章的末尾,现在说移植重点,对于ffconf.h的配置,每一项的说明都很清楚,因为测试,本人一行没改,修改diskio.c,重新实现磁盘读写函数,其实就是读写镜像文件,本人使用的是C语言的方式,
disk_status函数实现disk_initialize函数实现disk_read函数实现disk_write函数实现
disk_ioctl函数实现
使用UltraISO打开查看如下
将文件CONFIG.H拖出来,打开如下
同样,也可以进行读取测试,这里就不在赘述,还可以使用FAT12Tool创建软盘镜像进行测试,
写这篇文章一是为了记录,二是为了给需要的朋友提供一个切入点,在完成基本的读写测试后,有兴趣的朋友可以进行格式化,创建文件夹等测试,也可以基于FATFS做一个虚拟SD卡管理工具(如果哪位朋友做了,给我发一个),更高级的可以阅读FAT系统规范,写属于自己的FAT文件系统,用以上介绍的知识进行测试。
镜像创建工具,内附说明
测试工程源码
- windows平台模拟测试FATFS
- windows平台模拟测试FATFS
- FatFs在windows平台上的移植并测试(VC6)
- 模拟Windows Mobile平台
- 模拟Windows Mobile平台
- 跨平台浏览器模拟控制测试
- FATFS
- FatFs
- FatFs
- FATFS
- FatFs
- 【文件系统测试】Windows下模拟海量文件
- Windows 平台上安装测试ACE记录
- 34个windows平台渗透测试工具
- Windows下 OpenAcs测试平台搭建
- NCT 1.0(网络通用模拟测试平台)发布
- 基于STM32平台的BMP180测试(模拟IIC)
- Windows Mobile自动化测试之模拟用户操作
- C/C++ | 18-4 快排 Qsort
- 编程题——整数中1出现的次数
- python爬取百度百科
- 基于深度学习的密集人群密度检测
- 管道pipe
- windows平台模拟测试FATFS
- 分享一个有意思的小程序!!
- codevs 1557 热浪
- 数据库入门---数据库创建
- Spring源码阅读之-bean的解析与注册
- Android Wi-Fi TDLS调用流程
- STL的一些东西
- 二元多项式基本运算 选择合适的存储结构表示二元多项式,并实现基本的加减运算 要求: 1)二元多项式的输入采用如下方式进行键盘输入 (5y^2+7)x^4 + (3y^4+2y+9)x^2 + (2y
- Android自定义View之-----日历控件