在SMDK2440的BSP包里经常看见这两句语句:volatileIOPreg*s2440IOP=(IOPreg*)IOP_BASE;volatileINTreg*s2440INT=(INTreg
在SMDK2440的BSP包里常常看见这两句句子:
volatile IOPreg *s2440IOP = (IOPreg *)IOP_BASE;
volatile INTreg *s2440INT = (INTreg *)INT_BASE;
这两条句子简略的了解便是把s2440IOP和IOP_BASE等价,把s2440INT和INT_BASE等价。
IOP_BASE和INT_BASE在s244.h头文件中
#define IOP_BASE 0xB1600000 // 0x56000000
typedef struct {
unsigned int rGPACON;// 00
unsigned int rGPADAT;
unsigned int rPAD1[2];
unsigned int rGPBCON;// 10
unsigned int rGPBDAT;
unsigned int rGPBUP;
unsigned int rPAD2;
unsigned int rGPCCON;// 20
unsigned int rGPCDAT;
unsigned int rGPCUP;
unsigned int rPAD3;
unsigned int rGPDCON;// 30
unsigned int rGPDDAT;
unsigned int rGPDUP;
unsigned int rPAD4;
unsigned int rGPECON;// 40
unsigned int rGPEDAT;
unsigned int rGPEUP;
unsigned int rPAD5;
unsigned int rGPFCON;// 50
unsigned int rGPFDAT;
unsigned int rGPFUP;
unsigned int rPAD6;
unsigned int rGPGCON;// 60
unsigned int rGPGDAT;
unsigned int rGPGUP;
unsigned int rPAD7;
unsigned int rGPHCON;// 70
unsigned int rGPHDAT;
unsigned int rGPHUP;
unsigned int rPAD8;
unsigned int rMISCCR;// 80
unsigned int rDCKCON;
unsigned int rEXTINT0;
unsigned int rEXTINT1;
unsigned int rEXTINT2;// 90
unsigned int rEINTFLT0;
unsigned int rEINTFLT1;
unsigned int rEINTFLT2;
unsigned int rEINTFLT3;// A0
unsigned int rEINTMASK;
unsigned int rEINTPEND;
unsigned int rGSTATUS0;// AC
unsigned int rGSTATUS1;// B0
unsigned int rGSTATUS2;// B4 ;;; SHL
unsigned int rGSTATUS3;// B8
unsigned int rGSTATUS4;// BC
unsigned int rFLTOUT;// C0
unsigned int rDSC0;
unsigned int rDSC1;
unsigned int rMSLCON;
unsigned int rGPJCON;// D0
unsigned int rGPJDAT;
unsigned int rGPJUP;
unsigned int rPAD9;
}IOPreg;
#define INT_BASE 0xB0A00000 // 0x4A000000
typedef struct {
unsigned int rSRCPND;
unsigned int rINTMOD;
unsigned int rINTMSK;
unsigned int rPRIORITY;
unsigned int rINTPND;
unsigned int rINTOFFSET;
unsigned int rSUBSRCPND;
unsigned int rINTSUBMSK;
}INTreg ;
可见IOPreg和INTreg是两个结构体,而INT_BASE和IOP_BASE是连个虚拟地址。因而上面的两条句子便是把两个虚拟地址强化成结构体的首地址,因而能够拜访结构体对应的寄存器了。
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/ruanjian/260835.html