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

📄 44b.h

📁 恒丰瑞科S3C44B0开发板REAL TIME测试源程序
💻 H
字号:
/************************************************
 * NAME	    : K44b.H							*
 * Version  : 07.MARCH.2000						*
 ***********************************************/

#ifndef __44B0X_H__
#define __44B0X_H__

#ifdef __cplusplus
extern "C" {
#endif

#include "option.h"

/* UART */
#define rULCON0		(*(volatile unsigned *)0x1d00000)
#define rULCON1		(*(volatile unsigned *)0x1d04000)
#define rUCON0		(*(volatile unsigned *)0x1d00004)
#define rUCON1		(*(volatile unsigned *)0x1d04004)
#define rUFCON0		(*(volatile unsigned *)0x1d00008)
#define rUFCON1		(*(volatile unsigned *)0x1d04008)
#define rUMCON0		(*(volatile unsigned *)0x1d0000c)
#define rUMCON1		(*(volatile unsigned *)0x1d0400c)
#define rUTRSTAT0	(*(volatile unsigned *)0x1d00010)
#define rUTRSTAT1	(*(volatile unsigned *)0x1d04010)
#define rUERSTAT0	(*(volatile unsigned *)0x1d00014)
#define rUERSTAT1	(*(volatile unsigned *)0x1d04014)
#define rUFSTAT0	(*(volatile unsigned *)0x1d00018)
#define rUFSTAT1	(*(volatile unsigned *)0x1d04018)
#define rUMSTAT0	(*(volatile unsigned *)0x1d0001c)
#define rUMSTAT1	(*(volatile unsigned *)0x1d0401c)
#define rUBRDIV0	(*(volatile unsigned *)0x1d00028)
#define rUBRDIV1	(*(volatile unsigned *)0x1d04028)

#ifdef __BIG_ENDIAN
#define rUTXH0		(*(volatile unsigned char *)0x1d00023)
#define rUTXH1		(*(volatile unsigned char *)0x1d04023)
#define rURXH0		(*(volatile unsigned char *)0x1d00027)
#define rURXH1		(*(volatile unsigned char *)0x1d04027)
#define WrUTXH0(ch)	(*(volatile unsigned char *)(0x1d00023))=(unsigned char)(ch)
#define WrUTXH1(ch)	(*(volatile unsigned char *)(0x1d04023))=(unsigned char)(ch)
#define RdURXH0()	(*(volatile unsigned char *)(0x1d00027))
#define RdURXH1()	(*(volatile unsigned char *)(0x1d04027))  
#define UTXH0		(0x1d00020+3)  //byte_access address by BDMA
#define UTXH1		(0x1d04020+3)
#define URXH0		(0x1d00024+3)  
#define URXH1		(0x1d04024+3)  

#else //Little Endian
#define rUTXH0		(*(volatile unsigned char *)0x1d00020)
#define rUTXH1		(*(volatile unsigned char *)0x1d04020)
#define rURXH0		(*(volatile unsigned char *)0x1d00024)
#define rURXH1		(*(volatile unsigned char *)0x1d04024)
#define WrUTXH0(ch)	(*(volatile unsigned char *)0x1d00020)=(unsigned char)(ch)
#define WrUTXH1(ch)	(*(volatile unsigned char *)0x1d04020)=(unsigned char)(ch)
#define RdURXH0()	(*(volatile unsigned char *)0x1d00024)
#define RdURXH1()	(*(volatile unsigned char *)0x1d04024)
#define UTXH0		(0x1d00020)    //byte_access address by BDMA
#define UTXH1		(0x1d04020)
#define URXH0		(0x1d00024)
#define URXH1		(0x1d04024)
#endif

/* WATCHDOG */
#define rWTCON		(*(volatile unsigned *)0x1d30000)
#define rWTDAT		(*(volatile unsigned *)0x1d30004)
#define rWTCNT		(*(volatile unsigned *)0x1d30008)

/* RTC */
#ifdef __BIG_ENDIAN
#define rRTCCON		(*(volatile unsigned char *)0x1d70043)
#define rRTCALM         (*(volatile unsigned char *)0x1d70053)
#define rALMSEC         (*(volatile unsigned char *)0x1d70057)
#define rALMMIN         (*(volatile unsigned char *)0x1d7005b)
#define rALMHOUR        (*(volatile unsigned char *)0x1d7005f)
#define rALMDAY         (*(volatile unsigned char *)0x1d70063)
#define rALMMON         (*(volatile unsigned char *)0x1d70067)
#define rALMYEAR        (*(volatile unsigned char *)0x1d7006b)
#define rRTCRST         (*(volatile unsigned char *)0x1d7006f)
#define rBCDSEC         (*(volatile unsigned char *)0x1d70073)
#define rBCDMIN         (*(volatile unsigned char *)0x1d70077)
#define rBCDHOUR        (*(volatile unsigned char *)0x1d7007b)
#define rBCDDAY         (*(volatile unsigned char *)0x1d7007f)
#define rBCDDATE        (*(volatile unsigned char *)0x1d70083)
#define rBCDMON         (*(volatile unsigned char *)0x1d70087)
#define rBCDYEAR        (*(volatile unsigned char *)0x1d7008b)
#define rTICINT         (*(volatile unsigned char *)0x1d7008e)
#else
#define rRTCCON         (*(volatile unsigned char *)0x1d70040)
#define rRTCALM         (*(volatile unsigned char *)0x1d70050)
#define rALMSEC         (*(volatile unsigned char *)0x1d70054)
#define rALMMIN         (*(volatile unsigned char *)0x1d70058)
#define rALMHOUR        (*(volatile unsigned char *)0x1d7005c)
#define rALMDAY         (*(volatile unsigned char *)0x1d70060)
#define rALMMON         (*(volatile unsigned char *)0x1d70064)
#define rALMYEAR        (*(volatile unsigned char *)0x1d70068)
#define rRTCRST         (*(volatile unsigned char *)0x1d7006c)
#define rBCDSEC         (*(volatile unsigned char *)0x1d70070)
#define rBCDMIN         (*(volatile unsigned char *)0x1d70074)
#define rBCDHOUR        (*(volatile unsigned char *)0x1d70078)
#define rBCDDAY         (*(volatile unsigned char *)0x1d7007c)
#define rBCDDATE        (*(volatile unsigned char *)0x1d70080)
#define rBCDMON         (*(volatile unsigned char *)0x1d70084)
#define rBCDYEAR        (*(volatile unsigned char *)0x1d70088)
#define rTICINT         (*(volatile unsigned char *)0x1d7008c)
#endif

/* INTERRUPT */
#define rINTCON		(*(volatile unsigned *)0x1e00000)
#define rINTPND		(*(volatile unsigned *)0x1e00004)
#define rINTMOD		(*(volatile unsigned *)0x1e00008)
#define rINTMSK		(*(volatile unsigned *)0x1e0000c)

#define rI_ISPC		(*(volatile unsigned *)0x1e00024)

/* ISR */
#define pISR_RTC	(*(unsigned *)(_ISR_STARTADDRESS+0x24))
#define pISR_TICK	(*(unsigned *)(_ISR_STARTADDRESS+0x70))
#define pISR_EINT4567	(*(unsigned *)(_ISR_STARTADDRESS+0x74))

/* PENDING BIT */
#define BIT_RTC		(0x1<<1)
#define BIT_TICK	(0x1<<20)
#define BIT_EINT4567	(0x1<<21)
#define BIT_GLOBAL	(0x1<<26)

#ifdef __cplusplus
}
#endif
#endif /*__41000_H___*/

⌨️ 快捷键说明

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