From a8aaabae4c1cc64a01d740a436336ca31c1f79ba Mon Sep 17 00:00:00 2001 From: iperry Date: Thu, 17 Dec 2009 02:46:08 +0000 Subject: removed extraneous files, stm32lib examples git-svn-id: https://leaflabs.googlecode.com/svn/trunk/library@70 749a229e-a60e-11de-b98f-4500b42dc123 --- src/stm32lib/examples/SDIO/main.c | 329 -------------------------------------- 1 file changed, 329 deletions(-) delete mode 100755 src/stm32lib/examples/SDIO/main.c (limited to 'src/stm32lib/examples/SDIO/main.c') diff --git a/src/stm32lib/examples/SDIO/main.c b/src/stm32lib/examples/SDIO/main.c deleted file mode 100755 index 73259d0..0000000 --- a/src/stm32lib/examples/SDIO/main.c +++ /dev/null @@ -1,329 +0,0 @@ -/******************** (C) COPYRIGHT 2008 STMicroelectronics ******************** -* File Name : main.c -* Author : MCD Application Team -* Version : V2.0.1 -* Date : 06/13/2008 -* Description : Main program body -******************************************************************************** -* 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. -*******************************************************************************/ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_lib.h" -#include "sdcard.h" - -/* Private typedef -----------------------------------------------------------*/ -typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus; - -/* Private define ------------------------------------------------------------*/ -#define BlockSize 512 /* Block Size in Bytes */ -#define BufferWordsSize (BlockSize >> 2) - -#define NumberOfBlocks 2 /* For Multi Blocks operation (Read/Write) */ -#define MultiBufferWordsSize ((BlockSize * NumberOfBlocks) >> 2) - - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -SD_CardInfo SDCardInfo; -u32 Buffer_Block_Tx[BufferWordsSize], Buffer_Block_Rx[BufferWordsSize]; -u32 Buffer_MultiBlock_Tx[MultiBufferWordsSize], Buffer_MultiBlock_Rx[MultiBufferWordsSize]; -volatile TestStatus EraseStatus = FAILED, TransferStatus1 = FAILED, TransferStatus2 = FAILED; -SD_Error Status = SD_OK; -ErrorStatus HSEStartUpStatus; - -/* Private function prototypes -----------------------------------------------*/ -void RCC_Configuration(void); -void NVIC_Configuration(void); -void Fill_Buffer(u32 *pBuffer, u16 BufferLenght, u32 Offset); -TestStatus Buffercmp(u32* pBuffer1, u32* pBuffer2, u16 BufferLength); -TestStatus eBuffercmp(u32* pBuffer, u16 BufferLength); - -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************* -* Function Name : main -* Description : Main program. -* Input : None -* Output : None -* Return : None -*******************************************************************************/ -int main(void) -{ -#ifdef DEBUG - debug(); -#endif - - /* Clock Config */ - RCC_Configuration(); - - /* Interrupt Config */ - NVIC_Configuration(); - - /*-------------------------- SD Init ----------------------------- */ - Status = SD_Init(); - - if (Status == SD_OK) - { - /*----------------- Read CSD/CID MSD registers ------------------*/ - Status = SD_GetCardInfo(&SDCardInfo); - } - - if (Status == SD_OK) - { - /*----------------- Select Card --------------------------------*/ - Status = SD_SelectDeselect((u32) (SDCardInfo.RCA << 16)); - } - - if (Status == SD_OK) - { - Status = SD_EnableWideBusOperation(SDIO_BusWide_4b); - } - - /*------------------- Block Erase -------------------------------*/ - if (Status == SD_OK) - { - /* Erase NumberOfBlocks Blocks of WRITE_BL_LEN(512 Bytes) */ - Status = SD_Erase(0x00, (BlockSize * NumberOfBlocks)); - } - - /* Set Device Transfer Mode to DMA */ - if (Status == SD_OK) - { - Status = SD_SetDeviceMode(SD_DMA_MODE); - } - - if (Status == SD_OK) - { - Status = SD_ReadMultiBlocks(0x00, Buffer_MultiBlock_Rx, BlockSize, NumberOfBlocks); - } - - if (Status == SD_OK) - { - EraseStatus = eBuffercmp(Buffer_MultiBlock_Rx, MultiBufferWordsSize); - } - - /*------------------- Block Read/Write --------------------------*/ - /* Fill the buffer to send */ - Fill_Buffer(Buffer_Block_Tx, BufferWordsSize, 0xFFFF); - - - if (Status == SD_OK) - { - /* Write block of 512 bytes on address 0 */ - Status = SD_WriteBlock(0x00, Buffer_Block_Tx, BlockSize); - } - - if (Status == SD_OK) - { - /* Read block of 512 bytes from address 0 */ - Status = SD_ReadBlock(0x00, Buffer_Block_Rx, BlockSize); - } - - if (Status == SD_OK) - { - /* Check the corectness of written dada */ - TransferStatus1 = Buffercmp(Buffer_Block_Tx, Buffer_Block_Rx, BufferWordsSize); - } - - /*--------------- Multiple Block Read/Write ---------------------*/ - /* Fill the buffer to send */ - Fill_Buffer(Buffer_MultiBlock_Tx, MultiBufferWordsSize, 0x0); - - if (Status == SD_OK) - { - /* Write multiple block of many bytes on address 0 */ - Status = SD_WriteMultiBlocks(0x00, Buffer_MultiBlock_Tx, BlockSize, NumberOfBlocks); - } - - if (Status == SD_OK) - { - /* Read block of many bytes from address 0 */ - Status = SD_ReadMultiBlocks(0x00, Buffer_MultiBlock_Rx, BlockSize, NumberOfBlocks); - } - - if (Status == SD_OK) - { - /* Check the corectness of written dada */ - TransferStatus2 = Buffercmp(Buffer_MultiBlock_Tx, Buffer_MultiBlock_Rx, MultiBufferWordsSize); - } - - /* Infinite loop */ - while (1) - {} -} - -/******************************************************************************* -* Function Name : RCC_Configuration -* Description : Configures the different system clocks. -* Input : None -* Output : None -* Return : None -*******************************************************************************/ -void RCC_Configuration(void) -{ - /* RCC system reset(for debug purpose) */ - RCC_DeInit(); - - /* Enable HSE */ - RCC_HSEConfig(RCC_HSE_ON); - - /* Wait till HSE is ready */ - HSEStartUpStatus = RCC_WaitForHSEStartUp(); - - if(HSEStartUpStatus == SUCCESS) - { - /* Enable Prefetch Buffer */ - FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); - - /* Flash 2 wait state */ - FLASH_SetLatency(FLASH_Latency_2); - - /* HCLK = SYSCLK */ - RCC_HCLKConfig(RCC_SYSCLK_Div1); - - /* PCLK2 = HCLK */ - RCC_PCLK2Config(RCC_HCLK_Div1); - - /* PCLK1 = HCLK/2 */ - RCC_PCLK1Config(RCC_HCLK_Div2); - - /* PLLCLK = 8MHz * 9 = 72 MHz */ - RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); - - /* Enable PLL */ - RCC_PLLCmd(ENABLE); - - /* Wait till PLL is ready */ - while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) - { - } - - /* Select PLL as system clock source */ - RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); - - /* Wait till PLL is used as system clock source */ - while(RCC_GetSYSCLKSource() != 0x08) - { - } - } -} - -/******************************************************************************* -* Function Name : NVIC_Config -* Description : Configures SDIO IRQ channel. -* Input : None -* Output : None -* Return : None -*******************************************************************************/ -void NVIC_Configuration(void) -{ - NVIC_InitTypeDef NVIC_InitStructure; - - /* Configure the NVIC Preemption Priority Bits */ - NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); - - NVIC_InitStructure.NVIC_IRQChannel = SDIO_IRQChannel; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); -} - -/******************************************************************************* -* Function Name : Buffercmp -* Description : Compares two buffers. -* Input : - pBuffer1, pBuffer2: buffers to be compared. -* : - BufferLength: buffer's length -* Output : None -* Return : PASSED: pBuffer1 identical to pBuffer2 -* FAILED: pBuffer1 differs from pBuffer2 -*******************************************************************************/ -TestStatus Buffercmp(u32* pBuffer1, u32* pBuffer2, u16 BufferLength) -{ - while (BufferLength--) - { - if (*pBuffer1 != *pBuffer2) - { - return FAILED; - } - - pBuffer1++; - pBuffer2++; - } - - return PASSED; -} - -/******************************************************************************* -* Function name : Fill_Buffer -* Description : Fills buffer with user predefined data. -* Input : - pBuffer: pointer on the Buffer to fill -* - BufferLenght: size of the buffer to fill -* - Offset: first value to fill on the Buffer -* Output : None -* Return : None -*******************************************************************************/ -void Fill_Buffer(u32 *pBuffer, u16 BufferLenght, u32 Offset) -{ - u16 index = 0; - - /* Put in global buffer same values */ - for (index = 0; index < BufferLenght; index++ ) - { - pBuffer[index] = index + Offset; - } -} - -/******************************************************************************* -* Function name : eBuffercmp -* Description : Checks if a buffer has all its values are equal to zero. -* Input : - pBuffer: buffer to be compared. -* : - BufferLength: buffer's length -* Output : None -* Return : PASSED: pBuffer values are zero -* FAILED: At least one value from pBuffer buffer is diffrent -* from zero. -*******************************************************************************/ -TestStatus eBuffercmp(u32* pBuffer, u16 BufferLength) -{ - while (BufferLength--) - { - if (*pBuffer != 0x00) - { - return FAILED; - } - - pBuffer++; - } - - return PASSED; -} - -#ifdef DEBUG -/******************************************************************************* -* Function Name : assert_failed -* Description : Reports the name of the source file and the source line number -* where the assert_param error has occurred. -* Input : - file: pointer to the source file name -* - line: assert_param error line source number -* Output : None -* Return : None -*******************************************************************************/ -void assert_failed(u8* file, u32 line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - {} -} -#endif - -/******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/ -- cgit v1.2.3