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

📄 44b.h

📁 s3c44b0x对FLASH的读写,测试成功K9F2G08
💻 H
字号:
#ifndef __44B0X_H__#define __44B0X_H__#ifdef __cplusplusextern "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 rIISFIF		((volatile unsigned short *)0x1d18012)#else //Little Endian#define rIISFIF		((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 rEXTINPND	(*(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)// Enable/Disable interrupt#define DISABLE_INTERRUPT 	rINTMSK |= BIT_GLOBAL#define ENABLE_INTERRUPT 	rINTMSK &= ~BIT_GLOBAL#ifdef __cplusplus}#endif#endif /*__41000_H___*/

⌨️ 快捷键说明

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