MMC Card Reader Development

This wiki describes the development of the MMC Card Reader Project

Architecture

 * See here for block diagram

Phase 1

 * Create fatfs wrapper for file system in freertos_posix
 * Use existing I2C EEPROM driver for development purpose

Phase 2

 * Circuit design for interfacing MMC

Phase 3

 * SPI driver for MMC

Phase 4

 * Test for normal read/write function
 * hotswap (should not hang or cause voltage dip)
 * multiple file read/write (protection)

Circuit and PCB

 * SD Card connector
 * SPI interface to main board

Software Implementation
++ | POSIX              fopen                 | |                      |                    |  |                      \|/                   |  |                     open                 | |                      |                    |  |                      \|/                   |  ++  | FatFs Wrapper    fatfs_open              | |                      |                    |  |                      \|/                   |  ++  | FatFs              f_open                | |                      |                    |  |                      \|/                   |  |                disk_initialize           | |                      |                    |  |                      \|/                   |  ++  | EEPROM         i2c_eeprom_open           | ++
 * Use FatFs for accessing FAT16 file system.
 * Create a FatFs Wrapper in freertos_posix as an intermediate layer to map API in stdio.h to API in FatFs, for example:

Comparison of stdio and FatFs API

 * selected list for concern