⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memory.h

📁 linux下的BOOT程序原码,有需要的可以来下,保证好用
💻 H
字号:
/* 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          0x00100000#define _32BIT          0x00200000#define _64BIT          0x00300000/* typedefs */ typedef struct deviceParam{                               /* boundary values  */    unsigned int    turnOff;    /* 0x0 - 0xf        */    unsigned int    acc2First;  /* 0x0 - 0x1f       */    unsigned int    acc2Next;   /* 0x0 - 0x1f       */    unsigned int    ale2Wr;     /* 0x0 - 0xf        */    unsigned int    wrLow;      /* 0x0 - 0xf        */    unsigned int    wrHigh;     /* 0x0 - 0xf        */    unsigned int    deviceWidth;    /* in Bytes  */} DEVICE_PARAM;typedef enum __memBank{BANK0,BANK1,BANK2,BANK3} MEMORY_BANK;typedef enum __memDevice{DEVICE0,DEVICE1,DEVICE2,DEVICE3,BOOT_DEVICE} DEVICE;typedef enum __memoryProtectRegion{MEM_REGION0,MEM_REGION1,MEM_REGION2,       \				   MEM_REGION3,MEM_REGION4,MEM_REGION5,       \				   MEM_REGION6,MEM_REGION7}                   \				   MEMORY_PROTECT_REGION;typedef enum __memoryAccess{MEM_ACCESS_ALLOWED,MEM_ACCESS_FORBIDEN}           \			    MEMORY_ACCESS;typedef enum __memoryWrite{MEM_WRITE_ALLOWED,MEM_WRITE_FORBIDEN}              \			   MEMORY_ACCESS_WRITE;typedef enum __memoryCacheProtect{MEM_CACHE_ALLOWED,MEM_CACHE_FORBIDEN}       \				  MEMORY_CACHE_PROTECT;typedef enum __memorySnoopType{MEM_NO_SNOOP,MEM_SNOOP_WT,MEM_SNOOP_WB}        \			       MEMORY_SNOOP_TYPE;typedef enum __memorySnoopRegion{MEM_SNOOP_REGION0,MEM_SNOOP_REGION1,         \				 MEM_SNOOP_REGION2,MEM_SNOOP_REGION3}         \				 MEMORY_SNOOP_REGION;/* functions */unsigned int memoryGetBankBaseAddress(MEMORY_BANK bank);unsigned int memoryGetDeviceBaseAddress(DEVICE device);unsigned int memoryGetBankSize(MEMORY_BANK bank);unsigned int memoryGetDeviceSize(DEVICE device);unsigned int memoryGetDeviceWidth(DEVICE device);/* when given base Address and size Set new WINDOW for SCS_X. (X = 0,1,2 or 3*/bool memoryMapBank(MEMORY_BANK bank, unsigned int bankBase,unsigned int bankLength);bool memoryMapDeviceSpace(DEVICE device, unsigned int deviceBase,unsigned int deviceLength);/* Change the Internal Register Base Address to a new given Address. */bool memoryMapInternalRegistersSpace(unsigned int internalRegBase);/* returns internal Register Space Base Address. */unsigned int memoryGetInternalRegistersSpace(void);/* Configurate the protection feature to a given space. */bool memorySetProtectRegion(MEMORY_PROTECT_REGION region,			    MEMORY_ACCESS memoryAccess,			    MEMORY_ACCESS_WRITE memoryWrite,			    MEMORY_CACHE_PROTECT cacheProtection,			    unsigned int baseAddress,			    unsigned int regionLength);/* Configurate the snoop feature to a given space. */bool memorySetRegionSnoopMode(MEMORY_SNOOP_REGION region,			      MEMORY_SNOOP_TYPE snoopType,			      unsigned int baseAddress,			      unsigned int regionLength);bool memoryRemapAddress(unsigned int remapReg, unsigned int remapValue);bool memoryGetDeviceParam(DEVICE_PARAM *deviceParam, DEVICE deviceNum);bool memorySetDeviceParam(DEVICE_PARAM *deviceParam, DEVICE deviceNum);#endif  /* __INCmemoryh */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -