?? 44b.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 + -