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

📄 44b.h

📁 可以在三星的ARM处理器s3c44b0上移植的bootLoader源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifndef __44B0X_H__
#define __44B0X_H__

#ifdef __cplusplus
extern "C" {
#endif

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

⌨️ 快捷键说明

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