Loading...
Searching...
No Matches
cpu_fmc.h File Reference

Specific FMC definitions for the STM32. More...

Detailed Description

Specific FMC definitions for the STM32.

Author
Gunar Schorcht gunar.nosp@m.@sch.nosp@m.orcht.nosp@m..net

Definition in file cpu_fmc.h.

#include <stdint.h>
#include "cpu.h"
#include "periph/cpu_gpio.h"
+ Include dependency graph for cpu_fmc.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  fmc_nor_sram_timing_t
 Timing configuration for NOR/PSRAM/SRAM. More...
 
struct  fmc_nor_sram_bank_conf_t
 Bank configuration structure for NOR/PSRAM/SRAM. More...
 
struct  fmc_sdram_timing_t
 Timing configuration for SDRAM. More...
 
struct  fmc_sdram_bank_conf_t
 Bank configuration structure for SDRAM. More...
 
struct  fmc_gpio_t
 FMC GPIO configuration type. More...
 
struct  fmc_conf_t
 FMC peripheral configuration. More...
 
struct  fmc_bank_conf_t
 Bank configuration structure. More...
 

Macros

#define FMC_BANK_CONFIG(n)   (&fmc_bank_config[n])
 Gives the configuration of n-th bank.
 
#define FMC_DATA_PIN_NUMOF   (32)
 Number of data pins used.
 
#define FMC_ADDR_PIN_NUMOF   (26)
 Number of address pins used.
 
#define FMC_RAM_ADDR   0x60000000
 Start address of the heap for the FMC RAM.
 
#define FMC_RAM_LEN   1024K
 Length of the heap for the FMC RAM.
 

Type declarations for NOR Flash, PSRAM and SRAM

enum  fmc_access_mode_t { FMC_MODE_A = 0 , FMC_MODE_B = 1 , FMC_MODE_C = 2 , FMC_MODE_D = 3 }
 Memory access modes for NOR/PSRAM/SRAM in extended mode. More...
 

Type declarations for SDRAMs

enum  fmc_bust_length_t {
  FMC_BURST_LENGTH_1 = 0 , FMC_BURST_LENGTH_2 = 1 , FMC_BURST_LENGTH_4 = 2 , FMC_BURST_LENGTH_8 = 3 ,
  FMC_BURST_LENGTH_16 = 4 , FMC_BURST_LENGTH_32 = 5 , FMC_BURST_LENGTH_64 = 6 , FMC_BURST_LENGTH_FULL = 7
}
 SDRAM Burst Length as an exponent of a power of two. More...
 

Type declarations that are common for all memories

enum  fmc_bank_t { FMC_BANK_1 = 1 }
 Memory banks. More...
 
enum  fmc_mem_type_t {
  FMC_SRAM = 0 , FMC_PSRAM = 1 , FMC_NOR = 2 , FMC_NAND = 3 ,
  FMC_SDRAM = 4
}
 Memory types supported by the FMC controller. More...
 
enum  fmc_bus_width_t { FMC_BUS_WIDTH_8BIT = 0 , FMC_BUS_WIDTH_16BIT = 1 , FMC_BUS_WIDTH_32BIT = 2 }
 Memory data bus widths. More...
 
typedef uint8_t fmc_bank_id_t
 FMC bank identifier.