/** @page SDIO_uSDCard SDIO Micro SD Card example @verbatim ******************** (C) COPYRIGHT 2011 STMicroelectronics ******************* * @file SDIO/uSDCard/readme.txt * @author MCD Application Team * @version V3.5.0 * @date 08-April-2011 * @brief Description of the SDIO Micro SD Card example. ****************************************************************************** * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. ****************************************************************************** @endverbatim @par Example Description This example provides a basic example of how to use the SDIO firmware library and an associate driver to perform read/write operations on the SD Card memory (SD Card V1.0, V1.1, V2.0 and SDHC (High Capacity) protocol)that could be mounted on the STM3210E-EVAL board. The example provides different SD Card transfer states and operations and here below a description of each step: - First the SDIO peripheral and SD Card are initialized using the SD_Init() function: - Configure the SDIO according to the desired SDIO_CK clock frequency. - Reset the SD Card - Identify the SD Card - Initializes the SD Card - Get the SD Card Info - Select the SD Card - Enable the Wide Bus mode (4-bit data) - SD Card Erase Operation - Starts an Erase operation: Erase the corresponding blocks using the SD_Erase() function - Read the Erased blocks using the SD_ReadMultiBlocks() function - Test if the corresponding Blocks are well erased: check if the EraseStatus variable is equal to PASSED. If the erase operation is passed LED1 is turned ON. - SD Card Single Block Operation - Starts a Write operation: Write a single Block using the SD_WriteBlock() function - Read a single Block using the SD_ReadBlock() function - Compare the written Block and the read one: check if the TransferStatus1 variable is equal to PASSED. If the Single Block Read/write operation is passed LED2 is turned ON. - SD Card Multiple Block Operation - Starts a Multiple Write operation: Write a multi Blocks using the SD_WriteMultiBlocks() function. - Read a multiple Blocks using the SD_ReadMultiBlocks() function - Compare the written Blocks and the read one: check if the TransferStatus2 variable is equal to PASSED. If the Multiple Blocks Read/Write operation is passed LED3 is turned ON. All data transfers are made by DMA. At each operation, the SD Card presence and status is checked using the SD_GetStatus() function and a global variable "Status" storing the results of the last operation. SD Card Operations and Written/Read data correctness is signaled by LED lightening and though as follow: - If the Erase operation is PASSED then LED1 ON else the LED4 is ON and LED1 is OFF - If the Single Block Write/Read operation is PASSED then LED2 ON else the LED4 is ON and LED2 is OFF - If the Multi Blocks Write/Read operation is PASSED then LED3 ON else the LED4 is ON and LED3 is OFF - Any SD Card operation including the SD Initialization error is signaled by LED4 ON. @par Directory contents - SDIO/uSDCard/stm32f10x_conf.h Library Configuration file - SDIO/uSDCard/stm32f10x_it.c Interrupt handlers - SDIO/uSDCard/stm32f10x_it.h Header for stm32f10x_it.c - SDIO/uSDCard/main.c Main program - SDIO/uSDCard/system_stm32f10x.c STM32F10x system source file @par Hardware and Software environment - This example runs only on STM32F10x High-Density and XL-Density Devices. - This example has been tested with STMicroelectronics STM3210E-EVAL (High-Density and XL-Density) evaluation board and can be easily tailored to any other supported device and development board. @note Make sure that the Jumper 17 (JP17) is closed and Jumper 20 (JP20) is open in STM3210E-EVAL @par How to use it ? In order to make the program work, you must do the following : - Copy all source files from this example folder to the template folder under Project\STM32F10x_StdPeriph_Template - Open your preferred toolchain - Rebuild all files and load your image into target memory - Run the example @note - Low-density Value line devices are STM32F100xx microcontrollers where the Flash memory density ranges between 16 and 32 Kbytes. - Low-density devices are STM32F101xx, STM32F102xx and STM32F103xx microcontrollers where the Flash memory density ranges between 16 and 32 Kbytes. - Medium-density Value line devices are STM32F100xx microcontrollers where the Flash memory density ranges between 64 and 128 Kbytes. - Medium-density devices are STM32F101xx, STM32F102xx and STM32F103xx microcontrollers where the Flash memory density ranges between 64 and 128 Kbytes. - High-density Value line devices are STM32F100xx microcontrollers where the Flash memory density ranges between 256 and 512 Kbytes. - High-density devices are STM32F101xx and STM32F103xx microcontrollers where the Flash memory density ranges between 256 and 512 Kbytes. - XL-density devices are STM32F101xx and STM32F103xx microcontrollers where the Flash memory density ranges between 512 and 1024 Kbytes. - Connectivity line devices are STM32F105xx and STM32F107xx microcontrollers. *

© COPYRIGHT 2011 STMicroelectronics

*/