📄 sysreg.h
字号:
/********************************************************************************/
/* SYSREG.H v1.00 */
/* 版权(c) 2003- 北京合众达电子技术有限责任公司 */
/* 设计者: 段立锋 */
/********************************************************************************/
#ifndef _SYSREG
#define _SYSREG
#include "type.h"
/* 定义系统控制和状态寄存器 */
#define SYSSTAT1 *(volatile int *)(0x280003)
#define SYSSTAT0 (*(volatile int *)(0x280002))
#define SYSCNTL2 (*(volatile int *)(0x280001))
#define SYSCNTL1 (*(volatile int *)(0x280000))
#define WDOG (*(volatile int *)(0x280010))
unsigned int sysreg_read(unsigned long int port);
void SysInt_Enable();
void sysint_disable(unsigned int setdata);
/***********************************************************************/
/* USB 访问空间地址定义 */
/***********************************************************************/
#define usbfifo2 0x280018
#define usbfifo4 0x280019
#define usbfifo6 0x28001A
#define usbfifo8 0x28001B
#define usbcommand 0x28001C
/************************************************************************/
/* 常量定义 */
/************************************************************************/
/* CPU Clock*/
#define CLK80 0x4007
#define CLK160 0x9007
/************************************************************************/
/* 外部寄存器内容及地址 */
/************************************************************************/
/*System Control Register 1 */
#define syscntl 0x280000 /*系统设置寄存器在IO空间的地址。只写*/
/*D07 D06 D05 D04 D03 D02 D01 D00
* X keyen keydir uartsel rs232rs485b hdplxb rs232rs485a hdplxa
*各控制位说明:
* keyen:选择VC5502的串口是否连接到ESAM
* 其值为0时:选择'VC5502的片上UART连接到UARTB
* 其值为1时:选择'VC5502的片上UART连接到ESAM卡上。
* Keydir:选择对ESAM的读或写操作
* 其值为0时:写ESAM卡
* 其值为1时:读ESAM卡。
* uartsel:选择外扩的UARTB还是'VC5502的片上UART
* 其值为0时:选择'VC5502的片上UART(默认值)
* 其值为1时:选择UARTB。
* rs232rs485b:设置UARTB工作在RS232方式还是RS485方式;
* 其值为0时:选择RS232方式(默认值)
* 其值为1时:选择RS485方式。
* hdplxb :设置UARTB工作在全双工,还是半双工模式;
* 其值为0时:选择全双工模式(默认值)
* 其值为1时:选择半双工模式。
* rs232rs485a:设置UARTA工作在RS232方式还是RS485方式;
* 其值为0时:选择RS232方式(默认值)
* 其值为1时:选择RS485方式。
* hdplxa :设置UARTA工作在全双工,还是半双工模式;
* 其值为0时:选择全双工模式(默认值)
* 其值为1时:选择半双工模式。
************************************************************************/
/*Watch Dog Register*/
#define wdog 0x280010 /*看门狗刷新寄存器在IO空间的地址。只写*/
/*D07 D06 D05 D04 D03 D02 D01 D00
* X X X X X X X X
* 说明:
* 当WCEN为高时,向这个寄存器写入任何值的操作,均刷新看门狗。
*System Status Register*/
#define sysstat0 0x280002 /*系统外设状态寄存器在IO空间的地址。只读*/
/*D07 D06 D05 D04 D03 D02 D01 D00
* X USBVBUS USBFLAGC USBFLAGB USBFLAGA USBRDY DBSTAT1 DBSTAT0
*各控制位说明:
* USBFLAGC:USB的FLAGC的状态;
* USBFLAGB:USB的FLAGB的状态;
* USBFLAGA:USB的FLAGA的状态;
* USBRDY : USB的READY的状态;
* DBSTAT1 :扩展板的STAT1的状态;
* DBSTAT0 :扩展板的STAT1的状态;
************************************************************************/
#define USBFLAGC 0x20
#define USBFLAGB 0x10
#define USBFLAGA 0x08
#define USBRDY 0x04
#define DBSTAT1 0x02
#define DBSTST0 0x01
/*System interruption Register*/
#define sysstat1 0x280003 /*系统中断状态寄存器在IO空间的地址。只读*/
/*D07 D06 D05 D04 D03 D02 D01 D00
* X X X USBINT DBINT2 DBINT1 UARTINTA UARTINTB
* 各控制位说明:
* USBINT:USB的中断的状态;
* DBINT2:扩展板的中断1的状态;
* DBINT1:扩搌板的中断2的状态;
* UARTINTA : UART的A路的中断的状态;
* UARTINTB :UART的B路的中断的状态;
************************************************************************/
/*System Control Register 2 */
#define syscnt2 0x280001 /*系统设置寄存器在IO空间的地址。只写*/
/*D07 D06 D05 D04 D03 D02 D01 D00
* WCEN CE3SEL ZBTRAM USBWAKE KEY_RST USRLED DBCNTL1 DBCNTL0
*各控制位说明:
* WCEN:看门狗使能位
* 其值为0时:看门狗禁止(默认状态)
* 其值为1时: 看门狗使能。
* CE3SEL: 确定系的的CE3片选所对应的资源。
* 其值为0时:系统中存在SDRAM(默认值)
* 其值为1时:系统中不存在ZBTRAM。CE3整个空间外扩给用户使用。
* zbtram:确定系统中是否存在ZBTRAM
* 其值为0时:系统中不存在ZBTRAM(默认值)CE0整个空间外扩给用户使用
* 其值为1时:系统中存在ZBTRAM。
* USBWAKE: USB唤醒信号
* 其值为0时:不唤醒USB
* 其值为1时: 唤醒USB(默认值)。
* KEY_RST: ESAM复位信号
* 其值为0时: 复位状态(默认值)
* 其值为1 时: 脱离复位状态
* USRLED: 用户指示灯
* 其值为0时: 用户指示灯灭(默认值)
* 其值为1 时: 用户指示灯亮
* DBCNTL1,0:扩展板控制位
* 其值为0时: 扩展总线的DB_CNTL1,0线为0(默认状态)
* 其值为1时: 扩展总线的DB_CNTL1,0线为0(默认状态)*/
#endif
/***********************************************************************/
/* No more */
/***********************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -