CARME-M4 BSP  V1.5
stm32f4xx_fsmc.h File Reference

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

#include "stm32f4xx.h"
+ Include dependency graph for stm32f4xx_fsmc.h:
+ This graph shows which files directly or indirectly include this file:

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...
 

Macros

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

Detailed Description

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

Author
MCD Application Team
Version
V1.3.0
Date
08-November-2013
Attention

© COPYRIGHT 2013 STMicroelectronics

Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at:

   http://www.st.com/software_license_agreement_liberty_v2

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Definition in file stm32f4xx_fsmc.h.