44b.h
资源名称:uCOS-II.rar [点击查看]
上传用户:jinguanrq
上传日期:2022-06-04
资源大小:724k
文件大小:15k
源码类别:
uCOS
开发平台:
C/C++
- /************************************************
- * NAME : K44b.H *
- * Version : 07.MARCH.2000 *
- ***********************************************/
- //
- //
- #ifndef __44B0X_H__
- #define __44B0X_H__
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include "option.h"
- /* System */
- #define rSYSCFG (*(volatile unsigned *)0x1c00000)
- /* Cache */
- #define rNCACHBE0 (*(volatile unsigned *)0x1c00004)
- #define rNCACHBE1 (*(volatile unsigned *)0x1c00008)
- /* Bus control */
- #define rSBUSCON (*(volatile unsigned *)0x1c40000)
- /* 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
- /* SIO */
- #define rSIOCON (*(volatile unsigned *)0x1d14000)
- #define rSIODAT (*(volatile unsigned *)0x1d14004)
- #define rSBRDR (*(volatile unsigned *)0x1d14008)
- #define rIVTCNT (*(volatile unsigned *)0x1d1400c)
- #define rDCNTZ (*(volatile unsigned *)0x1d14010)
- /* IIS */
- #define rIISCON (*(volatile unsigned *)0x1d18000)
- #define rIISMOD (*(volatile unsigned *)0x1d18004)
- #define rIISPSR (*(volatile unsigned *)0x1d18008)
- #define rIISFCON (*(volatile unsigned *)0x1d1800c)
- #ifdef __BIG_ENDIAN
- #define IISFIF ((volatile unsigned short *)0x1d18012)
- #else //Little Endian
- #define IISFIF ((volatile unsigned short *)0x1d18010)
- #endif
- /* I/O PORT */
- #define rPCONA (*(volatile unsigned *)0x1d20000)
- #define rPDATA (*(volatile unsigned *)0x1d20004)
- #define rPCONB (*(volatile unsigned *)0x1d20008)
- #define rPDATB (*(volatile unsigned *)0x1d2000c)
- #define rPCONC (*(volatile unsigned *)0x1d20010)
- #define rPDATC (*(volatile unsigned *)0x1d20014)
- #define rPUPC (*(volatile unsigned *)0x1d20018)
- #define rPCOND (*(volatile unsigned *)0x1d2001c)
- #define rPDATD (*(volatile unsigned *)0x1d20020)
- #define rPUPD (*(volatile unsigned *)0x1d20024)
- #define rPCONE (*(volatile unsigned *)0x1d20028)
- #define rPDATE (*(volatile unsigned *)0x1d2002c)
- #define rPUPE (*(volatile unsigned *)0x1d20030)
- #define rPCONF (*(volatile unsigned *)0x1d20034)
- #define rPDATF (*(volatile unsigned *)0x1d20038)
- #define rPUPF (*(volatile unsigned *)0x1d2003c)
- #define rPCONG (*(volatile unsigned *)0x1d20040)
- #define rPDATG (*(volatile unsigned *)0x1d20044)
- #define rPUPG (*(volatile unsigned *)0x1d20048)
- #define rSPUCR (*(volatile unsigned *)0x1d2004c)
- #define rEXTINT (*(volatile unsigned *)0x1d20050)
- #define rEXTINTPND (*(volatile unsigned *)0x1d20054)
- /* WATCHDOG */
- #define rWTCON (*(volatile unsigned *)0x1d30000)
- #define rWTDAT (*(volatile unsigned *)0x1d30004)
- #define rWTCNT (*(volatile unsigned *)0x1d30008)
- /* ADC */
- #define rADCCON (*(volatile unsigned *)0x1d40000)
- #define rADCPSR (*(volatile unsigned *)0x1d40004)
- #define rADCDAT (*(volatile unsigned *)0x1d40008)
- /* Timer */
- #define rTCFG0 (*(volatile unsigned *)0x1d50000)
- #define rTCFG1 (*(volatile unsigned *)0x1d50004)
- #define rTCON (*(volatile unsigned *)0x1d50008)
- #define rTCNTB0 (*(volatile unsigned *)0x1d5000c)
- #define rTCMPB0 (*(volatile unsigned *)0x1d50010)
- #define rTCNTO0 (*(volatile unsigned *)0x1d50014)
- #define rTCNTB1 (*(volatile unsigned *)0x1d50018)
- #define rTCMPB1 (*(volatile unsigned *)0x1d5001c)
- #define rTCNTO1 (*(volatile unsigned *)0x1d50020)
- #define rTCNTB2 (*(volatile unsigned *)0x1d50024)
- #define rTCMPB2 (*(volatile unsigned *)0x1d50028)
- #define rTCNTO2 (*(volatile unsigned *)0x1d5002c)
- #define rTCNTB3 (*(volatile unsigned *)0x1d50030)
- #define rTCMPB3 (*(volatile unsigned *)0x1d50034)
- #define rTCNTO3 (*(volatile unsigned *)0x1d50038)
- #define rTCNTB4 (*(volatile unsigned *)0x1d5003c)
- #define rTCMPB4 (*(volatile unsigned *)0x1d50040)
- #define rTCNTO4 (*(volatile unsigned *)0x1d50044)
- #define rTCNTB5 (*(volatile unsigned *)0x1d50048)
- #define rTCNTO5 (*(volatile unsigned *)0x1d5004c)
- /* IIC */
- #define rIICCON (*(volatile unsigned *)0x1d60000)
- #define rIICSTAT (*(volatile unsigned *)0x1d60004)
- #define rIICADD (*(volatile unsigned *)0x1d60008)
- #define rIICDS (*(volatile unsigned *)0x1d6000c)
- /* 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
- /* 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)
- /* LCD */
- #define rLCDCON1 (*(volatile unsigned *)0x1f00000)
- #define rLCDCON2 (*(volatile unsigned *)0x1f00004)
- #define rLCDCON3 (*(volatile unsigned *)0x1f00040)
- #define rLCDSADDR1 (*(volatile unsigned *)0x1f00008)
- #define rLCDSADDR2 (*(volatile unsigned *)0x1f0000c)
- #define rLCDSADDR3 (*(volatile unsigned *)0x1f00010)
- #define rREDLUT (*(volatile unsigned *)0x1f00014)
- #define rGREENLUT (*(volatile unsigned *)0x1f00018)
- #define rBLUELUT (*(volatile unsigned *)0x1f0001c)
- #define rDP1_2 (*(volatile unsigned *)0x1f00020)
- #define rDP4_7 (*(volatile unsigned *)0x1f00024)
- #define rDP3_5 (*(volatile unsigned *)0x1f00028)
- #define rDP2_3 (*(volatile unsigned *)0x1f0002c)
- #define rDP5_7 (*(volatile unsigned *)0x1f00030)
- #define rDP3_4 (*(volatile unsigned *)0x1f00034)
- #define rDP4_5 (*(volatile unsigned *)0x1f00038)
- #define rDP6_7 (*(volatile unsigned *)0x1f0003c)
- #define rDITHMODE (*(volatile unsigned *)0x1f00044)
- /* ZDMA0 */
- #define rZDCON0 (*(volatile unsigned *)0x1e80000)
- #define rZDISRC0 (*(volatile unsigned *)0x1e80004)
- #define rZDIDES0 (*(volatile unsigned *)0x1e80008)
- #define rZDICNT0 (*(volatile unsigned *)0x1e8000c)
- #define rZDCSRC0 (*(volatile unsigned *)0x1e80010)
- #define rZDCDES0 (*(volatile unsigned *)0x1e80014)
- #define rZDCCNT0 (*(volatile unsigned *)0x1e80018)
- /* ZDMA1 */
- #define rZDCON1 (*(volatile unsigned *)0x1e80020)
- #define rZDISRC1 (*(volatile unsigned *)0x1e80024)
- #define rZDIDES1 (*(volatile unsigned *)0x1e80028)
- #define rZDICNT1 (*(volatile unsigned *)0x1e8002c)
- #define rZDCSRC1 (*(volatile unsigned *)0x1e80030)
- #define rZDCDES1 (*(volatile unsigned *)0x1e80034)
- #define rZDCCNT1 (*(volatile unsigned *)0x1e80038)
- /* BDMA0 */
- #define rBDCON0 (*(volatile unsigned *)0x1f80000)
- #define rBDISRC0 (*(volatile unsigned *)0x1f80004)
- #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)
- /* BDMA1 */
- #define rBDCON1 (*(volatile unsigned *)0x1f80020)
- #define rBDISRC1 (*(volatile unsigned *)0x1f80024)
- #define rBDIDES1 (*(volatile unsigned *)0x1f80028)
- #define rBDICNT1 (*(volatile unsigned *)0x1f8002c)
- #define rBDCSRC1 (*(volatile unsigned *)0x1f80030)
- #define rBDCDES1 (*(volatile unsigned *)0x1f80034)
- #define rBDCCNT1 (*(volatile unsigned *)0x1f80038)
- /* 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___*/