memory.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:2k
- /* Memory.h - Memory mappings and remapping functions declarations */
- /* Copyright - Galileo technology. */
- #ifndef __INCmemoryh
- #define __INCmemoryh
- /* includes */
- #include "core.h"
- /* defines */
- #define DONT_MODIFY 0xffffffff
- #define PARITY_SUPPORT 0x40000000
- #define _8BIT 0x00000000
- #define _16BIT 0x00010000
- #define _32BIT 0x00020000
- #define _64BIT 0x00030000
- /* typedefs */
- typedef enum __memBank{BANK0,BANK1,BANK2,BANK3} MEMORY_BANK;
- typedef enum __device{DEVICE0,DEVICE1,DEVICE2,DEVICE3,BOOT_DEVICE} DEVICE;
- unsigned int getMemoryBankBaseAddress(MEMORY_BANK bank);
- unsigned int getDeviceBaseAddress(DEVICE device);
- unsigned int getMemoryBankSize(MEMORY_BANK bank);
- unsigned int getDeviceSize(DEVICE device);
- unsigned int getDeviceWidth(DEVICE device);
- bool mapMemoryBanks0and1(unsigned int bank0Base,unsigned int bank0Length,
- unsigned int bank1Base,unsigned int bank1Length);
- bool mapMemoryBanks2and3(unsigned int bank2Base,unsigned int bank2Length,
- unsigned int bank3Base,unsigned int bank3Length);
- bool mapDevices0_1and2MemorySpace(unsigned int device0Base,
- unsigned int device0Length,
- unsigned int device1Base,
- unsigned int device1Length,
- unsigned int device2Base,
- unsigned int device2Length);
- bool mapDevices3andBootMemorySpace(unsigned int device3Base,
- unsigned int device3Length,
- unsigned int bootDeviceBase,
- unsigned int bootDeviceLength);
- bool mapInternalRegistersMemorySpace(unsigned int internalRegBase);
- bool modifyDeviceParameters(DEVICE device,unsigned int TurnOff,
- unsigned int AccToFirst,unsigned int AccToNext,
- unsigned int ALEtoWr, unsigned int WrActive,
- unsigned int WrHigh,unsigned int Width,
- bool ParitySupport);
- bool remapAddress(unsigned int remapReg, unsigned int remapValue);
- #endif /* __INCmemoryh */