STM32F10x Standard Peripherals Library  3.5.0
/opt/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_fsmc.h File Reference

This file contains all the functions prototypes for the FSMC firmware library. More...

#include "stm32f10x.h"

Go to the source code of this file.

Data Structures

struct  FSMC_NORSRAMTimingInitTypeDef
 Timing parameters For NOR/SRAM Banks. More...
struct  FSMC_NORSRAMInitTypeDef
 FSMC NOR/SRAM Init structure definition. More...
struct  FSMC_NAND_PCCARDTimingInitTypeDef
 Timing parameters For FSMC NAND and PCCARD Banks. More...
struct  FSMC_NANDInitTypeDef
 FSMC NAND Init structure definition. More...
struct  FSMC_PCCARDInitTypeDef
 FSMC PCCARD Init structure definition. More...

Defines

#define FSMC_Bank1_NORSRAM1   ((uint32_t)0x00000000)
#define FSMC_Bank1_NORSRAM2   ((uint32_t)0x00000002)
#define FSMC_Bank1_NORSRAM3   ((uint32_t)0x00000004)
#define FSMC_Bank1_NORSRAM4   ((uint32_t)0x00000006)
#define FSMC_Bank2_NAND   ((uint32_t)0x00000010)
#define FSMC_Bank3_NAND   ((uint32_t)0x00000100)
#define FSMC_Bank4_PCCARD   ((uint32_t)0x00001000)
#define IS_FSMC_NORSRAM_BANK(BANK)
#define IS_FSMC_NAND_BANK(BANK)
#define IS_FSMC_GETFLAG_BANK(BANK)
#define IS_FSMC_IT_BANK(BANK)
#define FSMC_DataAddressMux_Disable   ((uint32_t)0x00000000)
#define FSMC_DataAddressMux_Enable   ((uint32_t)0x00000002)
#define IS_FSMC_MUX(MUX)
#define FSMC_MemoryType_SRAM   ((uint32_t)0x00000000)
#define FSMC_MemoryType_PSRAM   ((uint32_t)0x00000004)
#define FSMC_MemoryType_NOR   ((uint32_t)0x00000008)
#define IS_FSMC_MEMORY(MEMORY)
#define FSMC_MemoryDataWidth_8b   ((uint32_t)0x00000000)
#define FSMC_MemoryDataWidth_16b   ((uint32_t)0x00000010)
#define IS_FSMC_MEMORY_WIDTH(WIDTH)
#define FSMC_BurstAccessMode_Disable   ((uint32_t)0x00000000)
#define FSMC_BurstAccessMode_Enable   ((uint32_t)0x00000100)
#define IS_FSMC_BURSTMODE(STATE)
#define FSMC_AsynchronousWait_Disable   ((uint32_t)0x00000000)
#define FSMC_AsynchronousWait_Enable   ((uint32_t)0x00008000)
#define IS_FSMC_ASYNWAIT(STATE)
#define FSMC_WaitSignalPolarity_Low   ((uint32_t)0x00000000)
#define FSMC_WaitSignalPolarity_High   ((uint32_t)0x00000200)
#define IS_FSMC_WAIT_POLARITY(POLARITY)
#define FSMC_WrapMode_Disable   ((uint32_t)0x00000000)
#define FSMC_WrapMode_Enable   ((uint32_t)0x00000400)
#define IS_FSMC_WRAP_MODE(MODE)
#define FSMC_WaitSignalActive_BeforeWaitState   ((uint32_t)0x00000000)
#define FSMC_WaitSignalActive_DuringWaitState   ((uint32_t)0x00000800)
#define IS_FSMC_WAIT_SIGNAL_ACTIVE(ACTIVE)
#define FSMC_WriteOperation_Disable   ((uint32_t)0x00000000)
#define FSMC_WriteOperation_Enable   ((uint32_t)0x00001000)
#define IS_FSMC_WRITE_OPERATION(OPERATION)
#define FSMC_WaitSignal_Disable   ((uint32_t)0x00000000)
#define FSMC_WaitSignal_Enable   ((uint32_t)0x00002000)
#define IS_FSMC_WAITE_SIGNAL(SIGNAL)
#define FSMC_ExtendedMode_Disable   ((uint32_t)0x00000000)
#define FSMC_ExtendedMode_Enable   ((uint32_t)0x00004000)
#define IS_FSMC_EXTENDED_MODE(MODE)
#define FSMC_WriteBurst_Disable   ((uint32_t)0x00000000)
#define FSMC_WriteBurst_Enable   ((uint32_t)0x00080000)
#define IS_FSMC_WRITE_BURST(BURST)
#define IS_FSMC_ADDRESS_SETUP_TIME(TIME)   ((TIME) <= 0xF)
#define IS_FSMC_ADDRESS_HOLD_TIME(TIME)   ((TIME) <= 0xF)
#define IS_FSMC_DATASETUP_TIME(TIME)   (((TIME) > 0) && ((TIME) <= 0xFF))
#define IS_FSMC_TURNAROUND_TIME(TIME)   ((TIME) <= 0xF)
#define IS_FSMC_CLK_DIV(DIV)   ((DIV) <= 0xF)
#define IS_FSMC_DATA_LATENCY(LATENCY)   ((LATENCY) <= 0xF)
#define FSMC_AccessMode_A   ((uint32_t)0x00000000)
#define FSMC_AccessMode_B   ((uint32_t)0x10000000)
#define FSMC_AccessMode_C   ((uint32_t)0x20000000)
#define FSMC_AccessMode_D   ((uint32_t)0x30000000)
#define IS_FSMC_ACCESS_MODE(MODE)
#define FSMC_Waitfeature_Disable   ((uint32_t)0x00000000)
#define FSMC_Waitfeature_Enable   ((uint32_t)0x00000002)
#define IS_FSMC_WAIT_FEATURE(FEATURE)
#define FSMC_ECC_Disable   ((uint32_t)0x00000000)
#define FSMC_ECC_Enable   ((uint32_t)0x00000040)
#define IS_FSMC_ECC_STATE(STATE)
#define FSMC_ECCPageSize_256Bytes   ((uint32_t)0x00000000)
#define FSMC_ECCPageSize_512Bytes   ((uint32_t)0x00020000)
#define FSMC_ECCPageSize_1024Bytes   ((uint32_t)0x00040000)
#define FSMC_ECCPageSize_2048Bytes   ((uint32_t)0x00060000)
#define FSMC_ECCPageSize_4096Bytes   ((uint32_t)0x00080000)
#define FSMC_ECCPageSize_8192Bytes   ((uint32_t)0x000A0000)
#define IS_FSMC_ECCPAGE_SIZE(SIZE)
#define IS_FSMC_TCLR_TIME(TIME)   ((TIME) <= 0xFF)
#define IS_FSMC_TAR_TIME(TIME)   ((TIME) <= 0xFF)
#define IS_FSMC_SETUP_TIME(TIME)   ((TIME) <= 0xFF)
#define IS_FSMC_WAIT_TIME(TIME)   ((TIME) <= 0xFF)
#define IS_FSMC_HOLD_TIME(TIME)   ((TIME) <= 0xFF)
#define IS_FSMC_HIZ_TIME(TIME)   ((TIME) <= 0xFF)
#define FSMC_IT_RisingEdge   ((uint32_t)0x00000008)
#define FSMC_IT_Level   ((uint32_t)0x00000010)
#define FSMC_IT_FallingEdge   ((uint32_t)0x00000020)
#define IS_FSMC_IT(IT)   ((((IT) & (uint32_t)0xFFFFFFC7) == 0x00000000) && ((IT) != 0x00000000))
#define IS_FSMC_GET_IT(IT)
#define FSMC_FLAG_RisingEdge   ((uint32_t)0x00000001)
#define FSMC_FLAG_Level   ((uint32_t)0x00000002)
#define FSMC_FLAG_FallingEdge   ((uint32_t)0x00000004)
#define FSMC_FLAG_FEMPT   ((uint32_t)0x00000040)
#define IS_FSMC_GET_FLAG(FLAG)
#define IS_FSMC_CLEAR_FLAG(FLAG)   ((((FLAG) & (uint32_t)0xFFFFFFF8) == 0x00000000) && ((FLAG) != 0x00000000))

Functions

void FSMC_NORSRAMDeInit (uint32_t FSMC_Bank)
 Deinitializes the FSMC NOR/SRAM Banks registers to their default reset values.
void FSMC_NANDDeInit (uint32_t FSMC_Bank)
 Deinitializes the FSMC NAND Banks registers to their default reset values.
void FSMC_PCCARDDeInit (void)
 Deinitializes the FSMC PCCARD Bank registers to their default reset values.
void FSMC_NORSRAMInit (FSMC_NORSRAMInitTypeDef *FSMC_NORSRAMInitStruct)
 Initializes the FSMC NOR/SRAM Banks according to the specified parameters in the FSMC_NORSRAMInitStruct.
void FSMC_NANDInit (FSMC_NANDInitTypeDef *FSMC_NANDInitStruct)
 Initializes the FSMC NAND Banks according to the specified parameters in the FSMC_NANDInitStruct.
void FSMC_PCCARDInit (FSMC_PCCARDInitTypeDef *FSMC_PCCARDInitStruct)
 Initializes the FSMC PCCARD Bank according to the specified parameters in the FSMC_PCCARDInitStruct.
void FSMC_NORSRAMStructInit (FSMC_NORSRAMInitTypeDef *FSMC_NORSRAMInitStruct)
 Fills each FSMC_NORSRAMInitStruct member with its default value.
void FSMC_NANDStructInit (FSMC_NANDInitTypeDef *FSMC_NANDInitStruct)
 Fills each FSMC_NANDInitStruct member with its default value.
void FSMC_PCCARDStructInit (FSMC_PCCARDInitTypeDef *FSMC_PCCARDInitStruct)
 Fills each FSMC_PCCARDInitStruct member with its default value.
void FSMC_NORSRAMCmd (uint32_t FSMC_Bank, FunctionalState NewState)
 Enables or disables the specified NOR/SRAM Memory Bank.
void FSMC_NANDCmd (uint32_t FSMC_Bank, FunctionalState NewState)
 Enables or disables the specified NAND Memory Bank.
void FSMC_PCCARDCmd (FunctionalState NewState)
 Enables or disables the PCCARD Memory Bank.
void FSMC_NANDECCCmd (uint32_t FSMC_Bank, FunctionalState NewState)
 Enables or disables the FSMC NAND ECC feature.
uint32_t FSMC_GetECC (uint32_t FSMC_Bank)
 Returns the error correction code register value.
void FSMC_ITConfig (uint32_t FSMC_Bank, uint32_t FSMC_IT, FunctionalState NewState)
 Enables or disables the specified FSMC interrupts.
FlagStatus FSMC_GetFlagStatus (uint32_t FSMC_Bank, uint32_t FSMC_FLAG)
 Checks whether the specified FSMC flag is set or not.
void FSMC_ClearFlag (uint32_t FSMC_Bank, uint32_t FSMC_FLAG)
 Clears the FSMC's pending flags.
ITStatus FSMC_GetITStatus (uint32_t FSMC_Bank, uint32_t FSMC_IT)
 Checks whether the specified FSMC interrupt has occurred or not.
void FSMC_ClearITPendingBit (uint32_t FSMC_Bank, uint32_t FSMC_IT)
 Clears the FSMC's interrupt pending bits.

Detailed Description

This file contains all the functions prototypes for the FSMC firmware library.

Author:
MCD Application Team
Version:
V3.5.0
Date:
11-March-2011
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

Definition in file stm32f10x_fsmc.h.