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

📄 memory.h

📁 AT91RM9200的完整启动代码:包括loader, boot及U-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 + -