]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_STM32F103_GCC_Rowley/Drivers/SPI_Flash_ST_Eval.h
Update version number in readiness for V10.2.0 release.
[freertos] / FreeRTOS / Demo / CORTEX_STM32F103_GCC_Rowley / Drivers / SPI_Flash_ST_Eval.h
1 /******************** (C) COPYRIGHT 2009 STMicroelectronics ********************\r
2 * File Name          : spi_flash.h\r
3 * Author             : MCD Application Team\r
4 * Version            : V2.0.0\r
5 * Date               : 04/27/2009\r
6 * Description        : Header for spi_flash.c file.\r
7 ********************************************************************************\r
8 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS\r
9 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.\r
10 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,\r
11 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE\r
12 * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING\r
13 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.\r
14 *******************************************************************************/\r
15 \r
16 /* Define to prevent recursive inclusion -------------------------------------*/\r
17 #ifndef __SPI_FLASH_H\r
18 #define __SPI_FLASH_H\r
19 \r
20 /* Includes ------------------------------------------------------------------*/\r
21 #include "stm32f10x.h"\r
22 #include "stm32f10x_spi.h"\r
23 #include "stm32f10x_gpio.h"\r
24 #include "stm32f10x_rcc.h"\r
25 \r
26 #define uint32_t unsigned long\r
27 #define uint8_t unsigned char\r
28 #define uint16_t unsigned short\r
29 \r
30 /* Exported types ------------------------------------------------------------*/\r
31 /* Exported constants --------------------------------------------------------*/\r
32 /* Uncomment the line corresponding to the STMicroelectronics evaluation board\r
33    used to run the example */\r
34 #if !defined (USE_STM3210B_EVAL) &&  !defined (USE_STM3210E_EVAL)\r
35  //#define USE_STM3210B_EVAL\r
36  #define USE_STM3210E_EVAL\r
37 #endif\r
38 \r
39 #ifdef USE_STM3210B_EVAL\r
40  #define GPIO_CS                  GPIOA\r
41  #define RCC_APB2Periph_GPIO_CS   RCC_APB2Periph_GPIOA\r
42  #define GPIO_Pin_CS              GPIO_Pin_4 \r
43 #else /* USE_STM3210E_EVAL */\r
44  #define GPIO_CS                  GPIOB\r
45  #define RCC_APB2Periph_GPIO_CS   RCC_APB2Periph_GPIOB\r
46  #define GPIO_Pin_CS              GPIO_Pin_2 \r
47 #endif\r
48 \r
49 /* Exported macro ------------------------------------------------------------*/\r
50 /* Select SPI FLASH: Chip Select pin low  */\r
51 #define SPI_FLASH_CS_LOW()       __asm volatile( "NOP" );__asm volatile( "NOP" );__asm volatile( "NOP" );__asm volatile( "NOP" );GPIO_ResetBits(GPIO_CS, GPIO_Pin_CS);__asm volatile( "NOP" );__asm volatile( "NOP" );__asm volatile( "NOP" );__asm volatile( "NOP" )\r
52 /* Deselect SPI FLASH: Chip Select pin high */\r
53 #define SPI_FLASH_CS_HIGH()      __asm volatile( "NOP" );__asm volatile( "NOP" );__asm volatile( "NOP" );__asm volatile( "NOP" );GPIO_SetBits(GPIO_CS, GPIO_Pin_CS);__asm volatile( "NOP" );__asm volatile( "NOP" );__asm volatile( "NOP" );__asm volatile( "NOP" )\r
54 \r
55 /* Exported functions ------------------------------------------------------- */\r
56 /*----- High layer function -----*/\r
57 void SPI_FLASH_Init(void);\r
58 void SPI_FLASH_SectorErase(uint32_t SectorAddr);\r
59 void SPI_FLASH_BulkErase(void);\r
60 void SPI_FLASH_PageWrite(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite);\r
61 void SPI_FLASH_BufferWrite(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite);\r
62 void SPI_FLASH_BufferRead(uint8_t* pBuffer, uint32_t ReadAddr, uint16_t NumByteToRead);\r
63 uint32_t SPI_FLASH_ReadID(void);\r
64 void SPI_FLASH_StartReadSequence(uint32_t ReadAddr);\r
65 \r
66 /*----- Low layer function -----*/\r
67 uint8_t SPI_FLASH_ReadByte(void);\r
68 uint8_t SPI_FLASH_SendByte(uint8_t byte);\r
69 uint16_t SPI_FLASH_SendHalfWord(uint16_t HalfWord);\r
70 void SPI_FLASH_WriteEnable(void);\r
71 void SPI_FLASH_WaitForWriteEnd(void);\r
72 \r
73 #endif /* __SPI_FLASH_H */\r
74 \r
75 /******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/\r