SD Card Libary

This summary page is auto-generated from the github repository. Click here to visit the main repository page.

Go to repository index


Stable release:1.0.1
Description:SD card driver library

Key Features

  • Read and write data operations on SD cards using either the SPI interface or native 4bit interface
  • Port of FatFS - FAT file system module R0.09 (C)ChaN, 2011 (
  • Beware: FAT with long file names may be covered by various patents (in particular those held by Microsoft). Use of this code may require licensing from the patent holders
  • Beware: 4bit SD protocol is subject to petents of the SD Association. When enabled on commercial products a license may be required. (see: )
  • Benchmark with 4bit interface multiblock read speed is about 4MBytes/sec. 1.2MBytes/sec with SPI.

To Do

  • Initialization at low clock speed (400KHz max) for the 4bit interface.
  • Test with SDXC card, SD physical layer ver 1.0 compliant card and MMC card (currently supported only with SPI interface).
  • support for MMC/eMMC at 4 and 8bit bus.
  • Date/Time function for files timestamp returning real date/time.

Firmware Overview

This module provides functions to initialize SD cards, read and write data. To enable the 4bit SD native bus interface functions it is necessary to uncomment the “//#define BUS_MODE_4BIT” in the “module_FatFs/src/diskio.h”. Resources (ports and clock blocks) used for the interface need to be specified in either “module_sdcardSPI/SDCardHostSPI.xc” or “module_sdcard4bit/SDCardHost4bit.xc” in the initialization of the SDif structure.

Known Issues

  • Initialization for the 4bit protocol not done at correct clock speed of 400KHz maximum.

Required Repositories

  • xcommon


Issues may be submitted via the Issues tab in this github repo. Response to any issues submitted are at the discretion of the maintainers of this component.