Staging:CC3220 SDHost (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 showcases the basic use case of initializing the controller to communicate with the attached card, reading and writing SD card block using the internal controller buffer via DriverLib API(s). The demo includes extracting the card capacity, capacity class and SD version information and displaying it on the UART terminal. The demo also reads out the first block from the attached card and displays in to the terminal.

Here is the SDCard booster board which can be mounted on CC3220 Launchpad Writing to SD card block is disabled by default using a macro defined in the main.c file, this is to avoid accidental corruption of card Filesystem.

Source Files briefly explained

 * main.c - Includes the main and DriverLib wrapper functions to initialize, read and write the attached card.
 * 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 (not required when working with TI-RTOS).

= 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

#define WRITE_TEST_EN  0
 * Set the macro definition to 1 to remove write protection


 * 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.