Staging:CC3220 SDHost FatFS (Texas Instruments NDA restrictions applicable)

= Overview = The Secure Digital Host (SD Host)controller on CC3220 provides an interface to standard SD memory cards in 1-bit transfer mode and handles the SD protocol and data packing at transmission level with minimum CPU intervention.

= Application details = This application uses the FatFS to provide the block level read/write access to SD card, using the SD Host controller on CC3220. The application initializes the FatFs and lists the files and/or directories that are present on the SD card at the root followed by contents of a predefined file on the terminal. The application also writes a predefined pattern to a predefine file. The user can change the predefine(s) by changing following macros

#define USERFILE       "userfile.txt" // Application reads out this file #define SYSFILE        "sysfile.txt"  // Application write to this file #define SYSTEXT        "The quick brown fox jumps over the lazy dog" // Pattern to be written to SYSFILE

Here is the SDCard booster board which can be mounted on CC3220 Launchpad

Source Files briefly explained

 * main.c - Implements the main function.
 * diskio.c - Implements low-level function for FatFS using DriverLib API(s)
 * pinmux.c - Generated by Pinmux utility to mux out the SD Host controller signal to chip boundary.
 * cc_launchpad.c - Initializes peripherals.
 * uart_if.c - Implements the UART terminal.
 * startup_*.c - IDE specific startup functions.

= Build the board =

User can order a SD Card booster pack from 40Oh to work with the CC3220 Launchpad, but the connector definitions do not match. Some board modifications require to make it work with the CC3220 LAUNCHXL Rev 3.2(onwards).

The board is available here http://doc.43oh.com/The_Card_Reader_SDCard_BoosterPack http://store.43oh.com/index.php?route=product/product&product_id=66

Here is the ECO List


 * 1) Scratch out traces at SJ1, SJ2, SJ3, SJ4
 * 2) Blue wire the following pins

The board looks as below with the changes

= Usage = - Port: Enumerated COM port (XDS110 Class Application/User UART) - Baud rate: 115200 - Data: 8 bit - Parity: None - Stop: 1 bit - Flow control: None
 * Setup a serial communication application (HyperTerminal/TeraTerm) with following settings. For detail info visit Terminal setup


 * Connect the SD Card to the LP board as shown below


 * Run the reference application (Flashing the bin/IAR/CCS).
 * Observe the status messages on the host over serial port to understand the sequence of operations performed by the application.



= Limitations/Known Issues = For many SD cards pull up resistors are required on the bidirectional signal lines, DAT0 and CMD.