?? sysreg.h
字號:
/********************************************************************************/
/* SYSREG.H v1.00 */
/* 版權(quán)(c) 2003- 北京合眾達電子技術(shù)有限責(zé)任公司 */
/* 設(shè)計者: 段立鋒 */
/********************************************************************************/
#ifndef _SYSREG
#define _SYSREG
#include "type.h"
/* 定義系統(tǒng)控制和狀態(tài)寄存器 */
#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
/************************************************************************/
/* 外部寄存器內(nèi)容及地址 */
/************************************************************************/
/*System Control Register 1 */
#define syscntl 0x280000 /*系統(tǒng)設(shè)置寄存器在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的讀或?qū)懖僮?* 其值為0時:寫ESAM卡
* 其值為1時:讀ESAM卡。
* uartsel:選擇外擴的UARTB還是'VC5502的片上UART
* 其值為0時:選擇'VC5502的片上UART(默認值)
* 其值為1時:選擇UARTB。
* rs232rs485b:設(shè)置UARTB工作在RS232方式還是RS485方式;
* 其值為0時:選擇RS232方式(默認值)
* 其值為1時:選擇RS485方式。
* hdplxb :設(shè)置UARTB工作在全雙工,還是半雙工模式;
* 其值為0時:選擇全雙工模式(默認值)
* 其值為1時:選擇半雙工模式。
* rs232rs485a:設(shè)置UARTA工作在RS232方式還是RS485方式;
* 其值為0時:選擇RS232方式(默認值)
* 其值為1時:選擇RS485方式。
* hdplxa :設(shè)置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 /*系統(tǒng)外設(shè)狀態(tài)寄存器在IO空間的地址。只讀*/
/*D07 D06 D05 D04 D03 D02 D01 D00
* X USBVBUS USBFLAGC USBFLAGB USBFLAGA USBRDY DBSTAT1 DBSTAT0
*各控制位說明:
* USBFLAGC:USB的FLAGC的狀態(tài);
* USBFLAGB:USB的FLAGB的狀態(tài);
* USBFLAGA:USB的FLAGA的狀態(tài);
* USBRDY : USB的READY的狀態(tài);
* DBSTAT1 :擴展板的STAT1的狀態(tài);
* DBSTAT0 :擴展板的STAT1的狀態(tài);
************************************************************************/
#define USBFLAGC 0x20
#define USBFLAGB 0x10
#define USBFLAGA 0x08
#define USBRDY 0x04
#define DBSTAT1 0x02
#define DBSTST0 0x01
/*System interruption Register*/
#define sysstat1 0x280003 /*系統(tǒng)中斷狀態(tài)寄存器在IO空間的地址。只讀*/
/*D07 D06 D05 D04 D03 D02 D01 D00
* X X X USBINT DBINT2 DBINT1 UARTINTA UARTINTB
* 各控制位說明:
* USBINT:USB的中斷的狀態(tài);
* DBINT2:擴展板的中斷1的狀態(tài);
* DBINT1:擴搌板的中斷2的狀態(tài);
* UARTINTA : UART的A路的中斷的狀態(tài);
* UARTINTB :UART的B路的中斷的狀態(tài);
************************************************************************/
/*System Control Register 2 */
#define syscnt2 0x280001 /*系統(tǒng)設(shè)置寄存器在IO空間的地址。只寫*/
/*D07 D06 D05 D04 D03 D02 D01 D00
* WCEN CE3SEL ZBTRAM USBWAKE KEY_RST USRLED DBCNTL1 DBCNTL0
*各控制位說明:
* WCEN:看門狗使能位
* 其值為0時:看門狗禁止(默認狀態(tài))
* 其值為1時: 看門狗使能。
* CE3SEL: 確定系的的CE3片選所對應(yīng)的資源。
* 其值為0時:系統(tǒng)中存在SDRAM(默認值)
* 其值為1時:系統(tǒng)中不存在ZBTRAM。CE3整個空間外擴給用戶使用。
* zbtram:確定系統(tǒng)中是否存在ZBTRAM
* 其值為0時:系統(tǒng)中不存在ZBTRAM(默認值)CE0整個空間外擴給用戶使用
* 其值為1時:系統(tǒng)中存在ZBTRAM。
* USBWAKE: USB喚醒信號
* 其值為0時:不喚醒USB
* 其值為1時: 喚醒USB(默認值)。
* KEY_RST: ESAM復(fù)位信號
* 其值為0時: 復(fù)位狀態(tài)(默認值)
* 其值為1 時: 脫離復(fù)位狀態(tài)
* USRLED: 用戶指示燈
* 其值為0時: 用戶指示燈滅(默認值)
* 其值為1 時: 用戶指示燈亮
* DBCNTL1,0:擴展板控制位
* 其值為0時: 擴展總線的DB_CNTL1,0線為0(默認狀態(tài))
* 其值為1時: 擴展總線的DB_CNTL1,0線為0(默認狀態(tài))*/
#endif
/***********************************************************************/
/* No more */
/***********************************************************************/
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -