📄 hardware.h
字号:
/*******************************************************************
*******************************************************************/
#ifndef HARDWARE_H
#define HARDWARE_H
/**************************** Constants *************************************/
#ifdef ARM_XSCALE_CPU
/* ARM IO 内存映射基址 */
#define ARM_IO_BASE 0x30000000
#endif
/* 以太网基地址 */
#define NET0_IOBADDR 0x320 /* 网卡1的IO基地址 */
#define NET1_IOBADDR 0x2A0 /* 网卡2的IO基地址 */
#define NET2_IOBADDR 0x2C0 /* 网卡3的IO基地址 */
#define NET3_IOBADDR 0x240 /* 网卡4的IO基地址 */
#define NET4_IOBADDR 0x300 /* 网卡5的IO基地址 */
/* 硬件端口地址 */
#define PAGEPORT 0x220 /* SRAM page select port */
#define WINPORT 0x221 /* 窗口页端口 */
#define WDENPORT 0x222 /* 看门狗使能端口 */
#define WDSETPORT 0x223 /* 看门狗时间常数设置端口 */
#define ICUPORT 0x224 /* ICU端口 */
#define LEDPORT 0x228 /* 7个软件控制的LED端口 */
#define LEDABSYN 0x229 /* A,B系指示, 同步非同步指示 */
/* LED位定义 */
#define RUN_LED 0x01
#define POWER_LED 0x02
#define DP_LED 0x04
#define STBY_LED 0x08
#define RNETA_LED 0x10
#define RNETB_LED 0x20
#define SNETA_LED 0x40
#define SNETB_LED 0x80
#define ASYSTEM 0x01 /* A系 点亮LED */
#define BSYSTEM 0x00 /* B系 熄灭LED */
#define INSYN 0x04 /* A系B系同步运行 */
#define NOSYN 0x00 /* A系B系非同步运行 */
/* 看门狗时间常数 */
#define WATCHDOGTIME 101 /* 看门狗时间 = (WATCHDOGTIME-1)*26.214ms */
/**************************** Functions ***********************************/
LPBYTE getDPRBaseAddr(void); /* 得到双口RAM的起始地址 */
LPBYTE getSRAMCPBAddr(void); /* 当前SRAM页的起始地址 */
void selectPage(INT8U); /* 选择一个操作的SRAM页 */
INT8U getICUslotID(void); /* 得到本板ICU所在的槽号 */
INT8U getICU_ID(void); /* 得到本板的ICU的编号 */
BOOL isICUInExist(void); /* 系内另一个ICU是否存在 */
BOOL isICUOutExist(void); /* 另一个系的ICU是否存在 */
void flashLed(INT8U); /* 闪烁bitN位LED */
void lightenLed(INT8U); /* 点亮bitN位LED */
void darkenLed(INT8U); /* 熄灭bitN位LED */
INT8U getSysID(void); /* 得到当前系统的系编号 */
void setABLED(INT8U); /* 设置A,B系指示灯 */
void setSYNLED(INT8U); /* 设置SYNCH指示灯的状态 */
void setWDG(INT8U nTime); /* 设置看门狗时间 */
void enableWDG(void); /* 打开看门狗 */
void clearWDG(void); /* 清看门狗 */
void failureExit(void); /* 故障条件下系统退出 */
#ifdef ARM_XSCALE_CPU
/* Without OS, we must implement the following functions ourselves. */
unsigned char inp(unsigned short ioOffset);
unsigned char outp(unsigned short ioOffset, unsigned char value);
void* memcpy(void* pdest, const void* psrc, unsigned short ulen);
void ClearLed(void);
#endif
#endif /* HARDWARE_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -