对S3C2440特殊功能寄存器地址的深入挖掘

本文深入探讨S3C2440微处理器的特殊功能寄存器地址,结合AMBA总线架构,解释了地址映射和内存管理的工作原理。通过地址映射表,理解了如何控制外设如LCD、USB、中断控制器等。内容涵盖AHB和APB总线的角色,以及它们如何通过译码器连接各种控制器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

               

对S3C2440特殊功能寄存器地址的深入挖掘

       S3C2440集成了丰富了外设控制器(LCD控制器、USB Device控制器、USB Host控制器、NAND FLASH控制器、I2C控制器、SPI控制器等)。要控制这些外设就要设置相应控制器的寄存器以产生相应的驱动时序。学习S3C2440,主要是如何配置寄存器。

下面是S3C2440特殊功能寄存器地址:

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

#define rBANKCON1  (*(volatileunsigned *)0x48000008) //BANK1 control

#define rBANKCON2  (*(volatileunsigned *)0x4800000c) //BANK2 cControl

……

       在学习的过程我一直在想这些地址为什么是这样的,想起来一次就在网上找资料,但每次都没有得到很好的结果。最近在学习AMBA(AdvancedMicrocontroller Bus Architecture)的时候终于解开这个谜团了,哈哈!!!

先看下面这个图,看完后估计就知道了一半啦。

图1 内存映射

       下面就来详细分析。

图2 S3C2440结构框图

先介绍一下AMBA。AMBA(Advanced Micro-Controller Bus Architecture)是由ARM Limited公司推出的On-Chip Bus片上总线规范,是目前芯片总线的主流标准。一开始AMBA 1.0只有ASB和APB,为了节省面积,这时候的总线协定都是采用3态的总线,到后来的AMBA 2.0版本,新增了AHB总线,共定义了3组总线:高性能总线(AdvancedHigh Performance Bus,AHB)、系统总线(AdvancedSystem Bus,ASB)和外设总线(Advanced PeripheralBus,APB)。

图3 典型的基于AMBA总线的系统

关于AMBA总线的更多的内容可上网查看,中文的资料都有很多。由图2可知AHB总线上挂载了LCD控制器、中断控制器、USB Host控制器、电源管理、NAND控制器、Camera控制器、存储器控制器以及AHB to APB桥和DMA控制器。APB总线上挂载了UART控制器、I2C控制器、USB Device控制器、I3S控制器SDI/MMC控制器、GPIO、Watchdog/定时器、RTC、ADC、SPI、AC97。下面这段话是摘自S3C2440芯片手册:

The S3C2440A holds 13 bus masters. They include DRAMrefresh controller, LCD_DMA, CAMIF DMA, DMA0,DMA1, DMA2, DMA3, USB_HOST_DMA,EXT_BUS_MASTER, Test interface controller (TIC) and ARM920T.

S3C2440A有13个主设备。当AHB总线上的主设备读写从设备时,发出的地址经过AHB总线的译码器(通过内存映射

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值