53 lines
1.4 KiB
C
53 lines
1.4 KiB
C
|
|
#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
|