#ifndef __COREFMC_H__ #define __COREFMC_H__ //--------------------------------------------------------------------------------- #include "config.h" //--------------------------------------------------------------------------------- //--------------------------------------------------------------------------------- // FMC 总线上挂接 SDAM, FPGA, 等以及外扩总线 // BANK1 地址分配 #define Bank1_SRAM1_ADDR ((u32)0x60000000) // NE1 板载FPGA #define Bank1_SRAM2_ADDR ((u32)0x64000000) // NE2 #define Bank1_SRAM3_ADDR ((u32)0x68000000) // NE3 #define Bank1_SRAM4_ADDR ((u32)0x6C000000) // NE4 #define CORE_FPGA_ADDR_BEG Bank1_SRAM1_ADDR #define CORE_FPGA_BANK FSMC_Bank1_NORSRAM1 // SDRAM BANK #define SDRAM_BANK1_ADDR ((u32)0xC0000000UL) #define SDRAM_BANK2_ADDR ((u32)0xD0000000UL) #define CORE_SDRAM1_ADDR_BEG SDRAM_BANK1_ADDR #define CORE_SDRAM2_ADDR_BEG SDRAM_BANK2_ADDR #define CORE_SDRAM1_SIZE (4*1024*1024*4*16/8) // 字节数 32M 字节 #define CORE_SDRAM2_SIZE (4*1024*1024*4*16/8) // 字节数 32M 字节 //--------------------------------------------------------------------------------- // 初始化FMC void InitCoreFmc(void); // 写入半字数据 void FmcWriteReg(u32 wAddr, u16 data); // 读取半字数据 u16 FmcReadReg(u32 rAddr); // 写数据到固定地址 void FmcWriteConstBuf(u32 wAddr, u16* pBuffer, u32 num); // 从固定地址读数据 void FmcReadConstBuf(u32 rAddr, u16* pBuffer, u32 num); #endif