随着嵌入式技术的发展,嵌入式应用所操作的数据日益增加,如何有效的管理这些数据已经成为嵌入式系统开发中的重要问题。近年来,SD卡以其大容量、高性能、尤其是安全等多种特点成为了存储卡的首选。本文通过移植开源的FatFs文件系统实现了基于ARM的嵌入式文件系统。首先,本文对系统的硬件开发平台进行了介绍,对板载Cortex-M3系列的STM32F103VET6ARM主控芯片、片上资源以及开发板上的相关器件进行了简要的说明。采用了当前流行的SD卡作为嵌入式文件系统的大容量存储介质,对SD卡的结构、通信模式、命令以及SDIO接口进行了必要的说明。其次,详细介绍了FAT文件系统的特点、原理以及一些重要的API函数。最后,给出了底层物理磁盘的操作函数说明。经过实际在板调试检验,本文移植的嵌入式文件系统能够成功实现文件的各种相关操作。关键词:嵌入式文件系统;FAT;SD卡;ARM8954
Abstract
With the development of embedded technology, the data which embedded
applications operate is increasing quickly. So how to manage these data
effectively becomes an important issue in the exploitation of embedded
system. In recent years, the SD card which has the characteristics such
as large capacity, high performance and security becomes the preferred
memory card. In order to realize the ARM-based embedded file system, this
paper transplants a free file system called FatFs.
First, the paper introduces the hardware platform which the system relies
on such as the STM32F103VET6 ARM Cortex-M3 core, the resources and related
devices on the chip. Use the popular SD card as the storage media to realize
the file system. Then introduce the structure, communication modes,
commands of the SD card and the SDIO interface. Second, describe in detail
the characteristics, principle and some important API functions of the file
system. Last, introduce the operation of the low level disk I/O module.
With debugging and testing, the transplanted file system in this paper can
successfully achieve a variety of related operations to files.
Keywords: Embedded file system; FAT; SD card; ARM
目次
1引言1
1.1课题研究背景1
1.2发展现状及研究方向1
2硬件开发平台3
2.1硬件架构3
2.2存储卡的比较与选择4
2.3SD卡介绍5
2.4SDIO接口简介10
3嵌入式文件系统的设计与实现11
3.1嵌入式系统的开发过程11
3.2软件的总体框架14
3.3FatFS文件系统特点14
3.4FAT16文件系统简介14
3.5基本操作18
3.6底层物理磁盘的操作26
结论31
致谢32
参考文献33
1 引言
1.1 课题研究背景
随着嵌入式技术的发展,嵌入式应用所操作的数据日益增加,如何有效的管理这
些数据已经成为嵌入式系统开发中的重要问题。传统的利用非易失性存储器(EEPROM
等)按地址和字节读写的方法日益不能满足实际应用的需求。嵌入式文件系统成为了
解决这一问题的一种必然趋势,作为嵌入式实时操作系统的组件,嵌入式文件系统提
供专业化的数据存取和管理功能。使用文件系统,可将存储空间当作直观的名称空间,
以代替原始的地址空间,不用每次新的应用开发都从头使用存储器;可以提供与底层
存储物理设备无关和清晰的编程接口 API,使上层不再关心底层具体的设备。文件系
统可以帮助系统管理大量的数据,如:程序参数、记录文件等,并能提供直观接口,
方便用户使用;能帮助建立更复杂的应用程序。 基于ARM的SD卡文件系统设计:http://www.751com.cn/tongxin/lunwen_7505.html