前前后后经过了一个多月时间,终于在eCos中实现了STM32的SD卡驱动。相比而言,SD卡驱动不仅代码量大,还涉及eCos块驱动(disk驱动)体系、SD/MMC存储卡、FAT文件系统、块缓存、文件操作等多方面的知识点。由于文章较长,所以分为4个篇章进行介绍。
第1节,以eCos STM32 SD卡驱动为切入点,一起来了解eCos块设备驱动、文件系统、文件操作等知识点。
stm32移植ecos #31,ecos sd driver,SD卡驱动(1)
由于STM32 SD卡驱动代码编写工作量非常大,因此第2节主要讲述如何编写STM32 SD卡驱动代码以及简单介绍下如何使用图形配置工具进行相关配置。
stm32移植ecos #32,ecos sd driver,SD卡驱动(2)
第3节主要介绍eCos STM32 SD卡驱动的调试,再次完整地呈现了eCos驱动的调试过程。如果说编写代码大多数是复制粘贴,那么通过调试,则让我了解了SD卡存储结构、FAT文件系统知识及其数据分析,最重要的是了解了eCos的FAT和Block library(块缓存)程序。
stm32移植ecos #33,ecos sd driver,SD卡驱动(3)
第4节除了解决第3节存在的一些问题外,还修复了eCos Disk IO层和eCos FAT文件系统中存在的bug,以及更新了读取SD卡存储信息的相关代码。