历史上的今天
返回首页

历史上的今天

今天是:2024年11月06日(星期三)

正在发生

2019年11月06日 | 三星S3C2440 ARM920T内核处理器寄存器整理--非常有用的资料

2019-11-06 来源:51hei



对于从事嵌入式和硬件开发的工程师来说以下资料非常有用,从内存、USB、DMA到中断非常全。


// Memory control  13

#define rBWSCON    (*(volatile unsigned *)0x48000000) //Bus width & wait status

#define rBANKCON0  (*(volatile unsigned *)0x48000004) //Boot ROM control

#define rBANKCON1  (*(volatile unsigned *)0x48000008) //BANK1 control

#define rBANKCON2  (*(volatile unsigned *)0x4800000c) //BANK2 cControl

#define rBANKCON3  (*(volatile unsigned *)0x48000010) //BANK3 control

#define rBANKCON4  (*(volatile unsigned *)0x48000014) //BANK4 control

#define rBANKCON5  (*(volatile unsigned *)0x48000018) //BANK5 control

#define rBANKCON6  (*(volatile unsigned *)0x4800001c) //BANK6 control

#define rBANKCON7  (*(volatile unsigned *)0x48000020) //BANK7 control

#define rREFRESH   (*(volatile unsigned *)0x48000024) //DRAM/SDRAM refresh

#define rBANKSIZE  (*(volatile unsigned *)0x48000028) //Flexible Bank Size

#define rMRSRB6    (*(volatile unsigned *)0x4800002c) //Mode register set for SDRAM

#define rMRSRB7    (*(volatile unsigned *)0x48000030) //Mode register set for SDRAM


// USB Host

// INTERRUPT   8

#define rSRCPND     (*(volatile unsigned *)0x4a000000) //Interrupt request status

#define rINTMOD     (*(volatile unsigned *)0x4a000004) //Interrupt mode control

#define rINTMSK     (*(volatile unsigned *)0x4a000008) //Interrupt mask control

#define rPRIORITY   (*(volatile unsigned *)0x4a00000a) //IRQ priority control

#define rINTPND     (*(volatile unsigned *)0x4a000010) //Interrupt request status

#define rINTOFFSET  (*(volatile unsigned *)0x4a000014) //Interruot request source offset

#define rSUBSRCPND  (*(volatile unsigned *)0x4a000018) //Sub source pending

#define rINTSUBMSK  (*(volatile unsigned *)0x4a00001c) //Interrupt sub mask



// DMA   36

#define rDISRC0     (*(volatile unsigned *)0x4b000000) //DMA 0 Initial source

#define rDISRCC0    (*(volatile unsigned *)0x4b000004) //DMA 0 Initial source control

#define rDIDST0     (*(volatile unsigned *)0x4b000008) //DMA 0 Initial Destination

#define rDIDSTC0    (*(volatile unsigned *)0x4b00000c) //DMA 0 Initial Destination control

#define rDCON0      (*(volatile unsigned *)0x4b000010) //DMA 0 Control

#define rDSTAT0     (*(volatile unsigned *)0x4b000014) //DMA 0 Status

#define rDCSRC0     (*(volatile unsigned *)0x4b000018) //DMA 0 Current source

#define rDCDST0     (*(volatile unsigned *)0x4b00001c) //DMA 0 Current destination

#define rDMASKTRIG0 (*(volatile unsigned *)0x4b000020) //DMA 0 Mask trigger

#define rDISRC1     (*(volatile unsigned *)0x4b000040) //DMA 1 Initial source

#define rDISRCC1    (*(volatile unsigned *)0x4b000044) //DMA 1 Initial source control

#define rDIDST1     (*(volatile unsigned *)0x4b000048) //DMA 1 Initial Destination

#define rDIDSTC1    (*(volatile unsigned *)0x4b00004c) //DMA 1 Initial Destination control

#define rDCON1      (*(volatile unsigned *)0x4b000050) //DMA 1 Control

#define rDSTAT1     (*(volatile unsigned *)0x4b000054) //DMA 1 Status

#define rDCSRC1     (*(volatile unsigned *)0x4b000058) //DMA 1 Current source

#define rDCDST1     (*(volatile unsigned *)0x4b00005c) //DMA 1 Current destination

#define rDMASKTRIG1 (*(volatile unsigned *)0x4b000060) //DMA 1 Mask trigger

#define rDISRC2     (*(volatile unsigned *)0x4b000080) //DMA 2 Initial source

#define rDISRCC2    (*(volatile unsigned *)0x4b000084) //DMA 2 Initial source control

#define rDIDST2     (*(volatile unsigned *)0x4b000088) //DMA 2 Initial Destination

#define rDIDSTC2    (*(volatile unsigned *)0x4b00008c) //DMA 2 Initial Destination control

#define rDCON2      (*(volatile unsigned *)0x4b000090) //DMA 2 Control

#define rDSTAT2     (*(volatile unsigned *)0x4b000094) //DMA 2 Status

#define rDCSRC2     (*(volatile unsigned *)0x4b000098) //DMA 2 Current source

#define rDCDST2     (*(volatile unsigned *)0x4b00009c) //DMA 2 Current destination

#define rDMASKTRIG2 (*(volatile unsigned *)0x4b0000a0) //DMA 2 Mask trigger

#define rDISRC3     (*(volatile unsigned *)0x4b0000c0) //DMA 3 Initial source

#define rDISRCC3    (*(volatile unsigned *)0x4b0000c4) //DMA 3 Initial source control

#define rDIDST3     (*(volatile unsigned *)0x4b0000c8) //DMA 3 Initial Destination

#define rDIDSTC3    (*(volatile unsigned *)0x4b0000cc) //DMA 3 Initial Destination control

#define rDCON3      (*(volatile unsigned *)0x4b0000d0) //DMA 3 Control

#define rDSTAT3     (*(volatile unsigned *)0x4b0000d4) //DMA 3 Status

#define rDCSRC3     (*(volatile unsigned *)0x4b0000d8) //DMA 3 Current source

#define rDCDST3     (*(volatile unsigned *)0x4b0000dc) //DMA 3 Current destination

#define rDMASKTRIG3 (*(volatile unsigned *)0x4b0000e0) //DMA 3 Mask trigger



// CLOCK & POWER MANAGEMENT  7

#define rLOCKTIME   (*(volatile unsigned *)0x4c000000) //PLL lock time counter

#define rMPLLCON    (*(volatile unsigned *)0x4c000004) //MPLL Control//系统主频配置寄存器基地址

#define rUPLLCON    (*(volatile unsigned *)0x4c000008) //UPLL Control//USB时钟频率配置寄存器基地址 

#define rCLKCON     (*(volatile unsigned *)0x4c00000c) //Clock generator control

#define rCLKSLOW    (*(volatile unsigned *)0x4c000010) //Slow clock control

#define rCLKDIVN    (*(volatile unsigned *)0x4c000014) //Clock divider control

#define rCAMDIVN    (*(volatile unsigned *)0x4c000018) //USB, CAM Clock divider control



// LCD CONTROLLER  18

#define rLCDCON1    (*(volatile unsigned *)0x4d000000) //LCD control 1

#define rLCDCON2    (*(volatile unsigned *)0x4d000004) //LCD control 2

#define rLCDCON3    (*(volatile unsigned *)0x4d000008) //LCD control 3

#define rLCDCON4    (*(volatile unsigned *)0x4d00000c) //LCD control 4

#define rLCDCON5    (*(volatile unsigned *)0x4d000010) //LCD control 5

#define rLCDSADDR1  (*(volatile unsigned *)0x4d000014) //STN/TFT Frame buffer start address 1

#define rLCDSADDR2  (*(volatile unsigned *)0x4d000018) //STN/TFT Frame buffer start address 2

#define rLCDSADDR3  (*(volatile unsigned *)0x4d00001c) //STN/TFT Virtual screen address set

#define rREDLUT     (*(volatile unsigned *)0x4d000020) //STN Red lookup table

#define rGREENLUT   (*(volatile unsigned *)0x4d000024) //STN Green lookup table 

#define rBLUELUT    (*(volatile unsigned *)0x4d000028) //STN Blue lookup table

#define rDITHMODE   (*(volatile unsigned *)0x4d00004c) //STN Dithering mode

#define rTPAL       (*(volatile unsigned *)0x4d000050) //TFT Temporary palette

#define rLCDINTPND  (*(volatile unsigned *)0x4d000054) //LCD Interrupt pending

#define rLCDSRCPND  (*(volatile unsigned *)0x4d000058) //LCD Interrupt source

#define rLCDINTMSK  (*(volatile unsigned *)0x4d00005c) //LCD Interrupt mask

#define rLPCSEL     (*(volatile unsigned *)0x4d000060) //LPC3600 Control

#define PALETTE     0x4d000400                         //Palette start address



//Nand Flash   17

#define rNFCONF  (*(volatile unsigned *)0x4E000000)  //NAND Flash configuration

#define rNFCONT  (*(volatile unsigned *)0x4E000004)      //NAND Flash control

#define rNFCMD  (*(volatile unsigned *)0x4E000008)      //NAND Flash command

#define rNFADDR  (*(volatile unsigned *)0x4E00000C)      //NAND Flash address

#define rNFDATA  (*(volatile unsigned *)0x4E000010)      //NAND Flash data

#define rNFDATA8 (*(volatile unsigned char *)0x4E000010)     //NAND Flash data

#define rNFMECCD0 (*(volatile unsigned *)0x4E000014)      //NAND Flash ECC for Main Area

#define rNFMECCD1 (*(volatile unsigned *)0x4E000018)

#define rNFSECCD (*(volatile unsigned *)0x4E00001C)  //NAND Flash ECC for Spare Area

#define rNFSTAT  (*(volatile unsigned *)0x4E000020)  //NAND Flash operation status

#define rNFESTAT0 (*(volatile unsigned *)0x4E000024)

#define rNFESTAT1 (*(volatile unsigned *)0x4E000028)

#define rNFMECC0 (*(volatile unsigned *)0x4E00002C)

#define rNFMECC1 (*(volatile unsigned *)0x4E000030)

#define rNFSECC  (*(volatile unsigned *)0x4E000034)

#define rNFSBLK  (*(volatile unsigned *)0x4E000038)  //NAND Flash Start block address

#define rNFEBLK  (*(volatile unsigned *)0x4E00003C)  //NAND Flash End block address



// UART    45

#define rULCON0     (*(volatile unsigned *)0x50000000) //UART 0 Line control

#define rUCON0      (*(volatile unsigned *)0x50000004) //UART 0 Control

#define rUFCON0     (*(volatile unsigned *)0x50000008) //UART 0 FIFO control

#define rUMCON0     (*(volatile unsigned *)0x5000000c) //UART 0 Modem control

#define rUTRSTAT0   (*(volatile unsigned *)0x50000010) //UART 0 Tx/Rx status

#define rUERSTAT0   (*(volatile unsigned *)0x50000014) //UART 0 Rx error status

#define rUFSTAT0    (*(volatile unsigned *)0x50000018) //UART 0 FIFO status

#define rUMSTAT0    (*(volatile unsigned *)0x5000001c) //UART 0 Modem status

#define rUBRDIV0    (*(volatile unsigned *)0x50000028) //UART 0 Baud rate divisor

#define rULCON1     (*(volatile unsigned *)0x50004000) //UART 1 Line control

#define rUCON1      (*(volatile unsigned *)0x50004004) //UART 1 Control

#define rUFCON1     (*(volatile unsigned *)0x50004008) //UART 1 FIFO control

#define rUMCON1     (*(volatile unsigned *)0x5000400c) //UART 1 Modem control

#define rUTRSTAT1   (*(volatile unsigned *)0x50004010) //UART 1 Tx/Rx status

#define rUERSTAT1   (*(volatile unsigned *)0x50004014) //UART 1 Rx error status

#define rUFSTAT1    (*(volatile unsigned *)0x50004018) //UART 1 FIFO status

推荐阅读

史海拾趣

Arduino公司的发展小趣事

随着Arduino电路板的成功推出,Arduino平台在2005年发布了第一款主板——Arduino NG。这款主板采用了Atmel公司的AVR单片机作为核心处理器,并结合了简单易用的开发环境。这一创新使得普通人也能够轻松地进行单片机编程和硬件开发,大大降低了电子制作的门槛。Arduino NG的发布标志着Arduino平台开始受到开发者和爱好者的广泛关注。

Automatic Connector公司的发展小趣事

随着全球电子市场的不断扩大,Automatic Connector公司积极寻求市场拓展的机会。公司首先在国内市场取得了良好的业绩,然后逐步将目光投向了国际市场。通过与国外代理商的合作,Automatic Connector的产品成功进入了欧洲、北美等发达地区的市场。在国际市场的竞争中,公司不断提升产品性能和服务水平,逐渐树立了良好的品牌形象。

Barry Industries Inc公司的发展小趣事

Barry Industries Inc在创业初期面临资金短缺、技术壁垒和市场竞争激烈等诸多挑战。然而,公司创始人凭借对电子行业的深厚理解和对市场需求的敏锐洞察,坚信公司的微波半导体封装技术具有巨大潜力。在创始团队的坚持与努力下,公司逐渐克服了初期的困难,逐步在市场上建立了自己的地位。

中电熊猫(CEC)公司的发展小趣事

在发展过程中,中电熊猫积极寻求与国际巨头的合作。2009年,中电熊猫与日本夏普公司签署协议,引进第六代液晶面板项目。这一合作不仅为中电熊猫带来了先进的技术和管理经验,也为其后续的高世代液晶面板线布局提供了有力支持。通过与夏普等国际巨头的合作,中电熊猫逐渐在液晶显示产业中崭露头角。

DRI Relays Inc公司的发展小趣事

为了满足全球客户的需求,DRI Relays Inc公司开始实施全球化战略。公司先后在亚洲、欧洲和美洲等地设立了分公司和研发中心,以便更好地了解当地市场需求和提供定制化服务。同时,公司还积极参与国际展览和交流活动,加强与全球客户的沟通和合作。这些举措不仅提高了公司的国际知名度,还为公司赢得了更多的订单和市场份额。

兵字(BingZi)公司的发展小趣事

为了进一步提升公司的管理水平和市场竞争力,兵字公司决定进行企业规范化和市场化运作。公司建立了完善的管理体系和运营机制,优化了业务流程和组织结构,提高了工作效率和响应速度。同时,兵字公司还积极引进外部投资和战略合作伙伴,为公司的发展注入了新的活力和动力。

问答坊 | AI 解惑

求救:tornado 2.2 powerpc c++驱动问题。

下面是编译信息: vxrm *.o *.rpo ctdt.c symTbl.c vxApp* *.out *.pl vxrm ..\\prjComps.h ..\\prjParams.h ..\\prjConfig.c ..\\linkSyms.c vxrm ..\\libs.nm ..\\libs.size F:\\tornado2.2\\host\\gnu\\3.3\\x86-win32\\bin\\ccppc -g -mcpu ...…

查看全部问答>

2410 usb 电路请教

怎么发布了电路图啊? 我的usb调试部出来想让帮忙看看 怎么发电路图啊…

查看全部问答>

关于WDB和系统启动

小弟是新接触vxWorks系统的新手,请问有哪位哥哥姐姐有关于WDB的资料么?还有,请问谁有关于vxWorks启动时的资料啊,比如系统先加载什么,然后运行什么,这方面的资料,很急,先谢谢大家了!…

查看全部问答>

想自己制作一块51的开发板,却不知道如何下手?请教师兄们

准备学习单片机,本想买一块开发板,不过想到自己搭的话可以熟悉硬件部分,不过我还没有实战过实际电路,所以感到一头雾水,请教高手具体步骤怎么干?谢谢啊…

查看全部问答>

新建一超级群:26993639,欢迎加入

本群主题:研究led阻容降压,探讨led驱动电源等技术话题--------   格式:职业+公司+姓.男+R女+S   欢迎加入…

查看全部问答>

求助:自己设计的IIR滤波器

昨天自己设计了一个IIR滤波器,写了个测试程序:滤波器是一个低通的滤波器,要求滤除20KHZ以上的频率段, 程序如下: #include \"filter.h\" #include \"iir.h\" #include \"math.h\" float xn[400],yn[400],zn[400],rn[400]; #pragma DATA_S ...…

查看全部问答>

ADI实验室电路

ADI实验室电路 下载…

查看全部问答>

大家开发LPC1114的时候都是用什么开发模式呢?

大家开发LPC1114的时候都是用什么开发模式呢?从编程环境到编译器再到仿真器…

查看全部问答>

谈F28M35的M3侧的blink例程

从简单的谈起吧。     1、程序先进行了HWREG(SYSCTL_MWRALLOW) =  0xA5A5A5A5;  因为 //必须写入0xA5A5A5A5,之后才能够改写一些被MWRALLOW保护的寄存器   关于哪些寄存器被保护可以参考1.13.1 System Control, Conf ...…

查看全部问答>