/** ****************************************************************************** * @file stm32_eval_spi_flash.h * @author MCD Application Team * @version V4.5.0 * @date 07-March-2011 * @brief This file contains all the functions prototypes for the stm32_eval_spi_flash * firmware driver. ****************************************************************************** * @attention * * 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. * *

© COPYRIGHT 2011 STMicroelectronics

****************************************************************************** */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __STM32_EVAL_SPI_FLASH_H #define __STM32_EVAL_SPI_FLASH_H #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include "stm32_eval.h" /** @addtogroup Utilities * @{ */ /** @addtogroup STM32_EVAL * @{ */ /** @addtogroup Common * @{ */ /** @addtogroup STM32_EVAL_SPI_FLASH * @{ */ /** @defgroup STM32_EVAL_SPI_FLASH_Exported_Types * @{ */ /** * @} */ /** @defgroup STM32_EVAL_SPI_FLASH_Exported_Constants * @{ */ /** * @brief M25P SPI Flash supported commands */ #define sFLASH_CMD_WRITE 0x02 /*!< Write to Memory instruction */ #define sFLASH_CMD_WRSR 0x01 /*!< Write Status Register instruction */ #define sFLASH_CMD_WREN 0x06 /*!< Write enable instruction */ #define sFLASH_CMD_READ 0x03 /*!< Read from Memory instruction */ #define sFLASH_CMD_RDSR 0x05 /*!< Read Status Register instruction */ #define sFLASH_CMD_RDID 0x9F /*!< Read identification */ #define sFLASH_CMD_SE 0xD8 /*!< Sector Erase instruction */ #define sFLASH_CMD_BE 0xC7 /*!< Bulk Erase instruction */ #define sFLASH_WIP_FLAG 0x01 /*!< Write In Progress (WIP) flag */ #define sFLASH_DUMMY_BYTE 0xA5 #define sFLASH_SPI_PAGESIZE 0x100 #define sFLASH_M25P128_ID 0x202018 #define sFLASH_M25P64_ID 0x202017 /** * @} */ /** @defgroup STM32_EVAL_SPI_FLASH_Exported_Macros * @{ */ /** * @brief Select sFLASH: Chip Select pin low */ #define sFLASH_CS_LOW() GPIO_ResetBits(sFLASH_CS_GPIO_PORT, sFLASH_CS_PIN) /** * @brief Deselect sFLASH: Chip Select pin high */ #define sFLASH_CS_HIGH() GPIO_SetBits(sFLASH_CS_GPIO_PORT, sFLASH_CS_PIN) /** * @} */ /** @defgroup STM32_EVAL_SPI_FLASH_Exported_Functions * @{ */ /** * @brief High layer functions */ void sFLASH_DeInit(void); void sFLASH_Init(void); void sFLASH_EraseSector(uint32_t SectorAddr); void sFLASH_EraseBulk(void); void sFLASH_WritePage(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite); void sFLASH_WriteBuffer(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite); void sFLASH_ReadBuffer(uint8_t* pBuffer, uint32_t ReadAddr, uint16_t NumByteToRead); uint32_t sFLASH_ReadID(void); void sFLASH_StartReadSequence(uint32_t ReadAddr); /** * @brief Low layer functions */ uint8_t sFLASH_ReadByte(void); uint8_t sFLASH_SendByte(uint8_t byte); uint16_t sFLASH_SendHalfWord(uint16_t HalfWord); void sFLASH_WriteEnable(void); void sFLASH_WaitForWriteEnd(void); #ifdef __cplusplus } #endif #endif /* __STM32_EVAL_SPI_FLASH_H */ /** * @} */ /** * @} */ /** * @} */ /** * @} */ /** * @} */ /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/