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

📄 44b.h

📁 自己买的arms3c44b0开发板附带的demo程序
💻 H
字号:
/************************************************
 * NAME	    : K44b.H							*
 * Version  : 07.MARCH.2000						*
 ***********************************************/

#ifndef __44B0X_H__
#define __44B0X_H__

#ifdef __cplusplus
extern "C" {
#endif

#include "option.h"

/* Memory control */
#define rBWSCON		(*(volatile unsigned *)0x1c80000)
#define rBANKCON0	(*(volatile unsigned *)0x1c80004)
#define rBANKCON1	(*(volatile unsigned *)0x1c80008)
#define rBANKCON2	(*(volatile unsigned *)0x1c8000c)
#define rBANKCON3	(*(volatile unsigned *)0x1c80010)
#define rBANKCON4	(*(volatile unsigned *)0x1c80014)
#define rBANKCON5	(*(volatile unsigned *)0x1c80018)
#define rBANKCON6	(*(volatile unsigned *)0x1c8001c)
#define rBANKCON7	(*(volatile unsigned *)0x1c80020)
#define rREFRESH	(*(volatile unsigned *)0x1c80024)
#define rBANKSIZE	(*(volatile unsigned *)0x1c80028)
#define rMRSRB6		(*(volatile unsigned *)0x1c8002c)
#define rMRSRB7		(*(volatile unsigned *)0x1c80030)

/* 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

#ifdef __BIG_ENDIAN
#define rIISFIF		((volatile unsigned short *)0x1d18012)

#else //Little Endian
#define rIISFIF		((volatile unsigned short *)0x1d18010)
#endif

/* I/O PORT */

#define rPCONE		(*(volatile unsigned *)0x1d20028)
#define rPDATE		(*(volatile unsigned *)0x1d2002c)
#define rPUPE		(*(volatile unsigned *)0x1d20030)

/* Timer */
#define rTCFG0		(*(volatile unsigned *)0x1d50000)
#define rTCFG1		(*(volatile unsigned *)0x1d50004)
#define rTCON		(*(volatile unsigned *)0x1d50008)

#define rTCNTB2		(*(volatile unsigned *)0x1d50024)
#define rTCMPB2		(*(volatile unsigned *)0x1d50028)
#define rTCNTO2		(*(volatile unsigned *)0x1d5002c)

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

/* Clock & Power management */
#define rPLLCON		(*(volatile unsigned *)0x1d80000)
#define rCLKCON		(*(volatile unsigned *)0x1d80004)
#define rCLKSLOW	(*(volatile unsigned *)0x1d80008)
#define rLOCKTIME	(*(volatile unsigned *)0x1d8000c)

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

#define rI_PSLV		(*(volatile unsigned *)0x1e00010)
#define rI_PMST		(*(volatile unsigned *)0x1e00014)
#define rI_CSLV		(*(volatile unsigned *)0x1e00018)
#define rI_CMST		(*(volatile unsigned *)0x1e0001c)
#define rI_ISPR		(*(volatile unsigned *)0x1e00020)
#define rI_ISPC		(*(volatile unsigned *)0x1e00024)

#define rF_ISPR		(*(volatile unsigned *)0x1e00038)
#define rF_ISPC		(*(volatile unsigned *)0x1e0003c)


#define rBDIDES0	(*(volatile unsigned *)0x1f80008)
#define rBDICNT0	(*(volatile unsigned *)0x1f8000c)
#define rBDCSRC0	(*(volatile unsigned *)0x1f80010)
#define rBDCDES0	(*(volatile unsigned *)0x1f80014)
#define rBDCCNT0	(*(volatile unsigned *)0x1f80018)

/* ISR */
#define pISR_RESET	(*(unsigned *)(_ISR_STARTADDRESS+0x0))
#define pISR_UNDEF	(*(unsigned *)(_ISR_STARTADDRESS+0x4))
#define pISR_SWI	(*(unsigned *)(_ISR_STARTADDRESS+0x8))
#define pISR_PABORT	(*(unsigned *)(_ISR_STARTADDRESS+0xc))
#define pISR_DABORT	(*(unsigned *)(_ISR_STARTADDRESS+0x10))
#define pISR_RESERVED	(*(unsigned *)(_ISR_STARTADDRESS+0x14))
#define pISR_IRQ	(*(unsigned *)(_ISR_STARTADDRESS+0x18))
#define pISR_FIQ	(*(unsigned *)(_ISR_STARTADDRESS+0x1c))

#define pISR_ADC	(*(unsigned *)(_ISR_STARTADDRESS+0x20))
#define pISR_RTC	(*(unsigned *)(_ISR_STARTADDRESS+0x24))
#define pISR_UTXD1	(*(unsigned *)(_ISR_STARTADDRESS+0x28))
#define pISR_UTXD0	(*(unsigned *)(_ISR_STARTADDRESS+0x2c))
#define pISR_SIO	(*(unsigned *)(_ISR_STARTADDRESS+0x30))
#define pISR_IIC	(*(unsigned *)(_ISR_STARTADDRESS+0x34))
#define pISR_URXD1	(*(unsigned *)(_ISR_STARTADDRESS+0x38))
#define pISR_URXD0	(*(unsigned *)(_ISR_STARTADDRESS+0x3c))
#define pISR_TIMER5	(*(unsigned *)(_ISR_STARTADDRESS+0x40))
#define pISR_TIMER4	(*(unsigned *)(_ISR_STARTADDRESS+0x44))
#define pISR_TIMER3	(*(unsigned *)(_ISR_STARTADDRESS+0x48))
#define pISR_TIMER2	(*(unsigned *)(_ISR_STARTADDRESS+0x4c))
#define pISR_TIMER1	(*(unsigned *)(_ISR_STARTADDRESS+0x50))
#define pISR_TIMER0	(*(unsigned *)(_ISR_STARTADDRESS+0x54))
#define pISR_UERR01	(*(unsigned *)(_ISR_STARTADDRESS+0x58))
#define pISR_WDT	(*(unsigned *)(_ISR_STARTADDRESS+0x5c))
#define pISR_BDMA1	(*(unsigned *)(_ISR_STARTADDRESS+0x60))
#define pISR_BDMA0	(*(unsigned *)(_ISR_STARTADDRESS+0x64))
#define pISR_ZDMA1	(*(unsigned *)(_ISR_STARTADDRESS+0x68))
#define pISR_ZDMA0	(*(unsigned *)(_ISR_STARTADDRESS+0x6c))
#define pISR_TICK	(*(unsigned *)(_ISR_STARTADDRESS+0x70))
#define pISR_EINT4567	(*(unsigned *)(_ISR_STARTADDRESS+0x74))
#define pISR_EINT3	(*(unsigned *)(_ISR_STARTADDRESS+0x78))
#define pISR_EINT2	(*(unsigned *)(_ISR_STARTADDRESS+0x7c))
#define pISR_EINT1	(*(unsigned *)(_ISR_STARTADDRESS+0x80))
#define pISR_EINT0	(*(unsigned *)(_ISR_STARTADDRESS+0x84))

/* PENDING BIT */
//CAUTION:You must clear the pending bit as general special register.
//        it's different way with KS32C6x00 
#define BIT_ADC		(0x1)
#define BIT_RTC		(0x1<<1)
#define BIT_UTXD1	(0x1<<2)
#define BIT_UTXD0	(0x1<<3)
#define BIT_SIO		(0x1<<4)
#define BIT_IIC		(0x1<<5)
#define BIT_URXD1	(0x1<<6)
#define BIT_URXD0	(0x1<<7)
#define BIT_TIMER5	(0x1<<8)
#define BIT_TIMER4	(0x1<<9)
#define BIT_TIMER3	(0x1<<10)
#define BIT_TIMER2	(0x1<<11)
#define BIT_TIMER1	(0x1<<12)
#define BIT_TIMER0	(0x1<<13)
#define BIT_UERR01	(0x1<<14)
#define BIT_WDT		(0x1<<15)
#define BIT_BDMA1	(0x1<<16)
#define BIT_BDMA0	(0x1<<17)
#define BIT_ZDMA1	(0x1<<18)
#define BIT_ZDMA0	(0x1<<19)
#define BIT_TICK	(0x1<<20)
#define BIT_EINT4567	(0x1<<21)
#define BIT_EINT3	(0x1<<22)
#define BIT_EINT2	(0x1<<23)
#define BIT_EINT1	(0x1<<24)
#define BIT_EINT0	(0x1<<25)
#define BIT_GLOBAL	(0x1<<26)

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

⌨️ 快捷键说明

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