快速学Arm(12)--APB,AHB地址与接口的关系
2014-11-28 18:03
411 查看
在快速学Arm(3)中,我画了一个LPC2478的存储空间的分别图,在存储空间最上面的两块,0xE000 0000 ~ 0xEFFF FFFF(APB)和0xF000 0000 ~ 0xFFFF FFFF(AHB)两块地址空间.这两块空间分别是大概250M字节的空间.每个250M空间分成36块,每块大概16K大小.
在LPC2478的文档中,APB的各个设备的寄存器空间是按下面的方式分配的:
有过Arm或者其他单片机开发经验的人对这种地址分配应该不难理解,但对于初学者可能会有点晕.如果大家打算从LPC2478(ARM7TDMI-S的2400系列)开始学起的话,有两个文档是要用来经常查阅的:
lpc2478_ds.pdf
user.manual.lpc24xx.pdf
这两个文档相当于是2478的datasheet(说明文档).在文档的芯片结构图中大家可以看到从运算器到各个外设接口之间是通过AHB,APB桥接而成的.因为这个图比较大,我无法加进来.大概意思就是说,在ARM的CPU内部,运算器要向控制各个接口,必须通过AHB,APB桥形成的总线才能对各个接口进行控制.那么ARM映射了AHB,APB两块地址空间作为控制各个接口的寄存器空间来使用.学过任何一种单片机的人都知道,对接口的编程时通过接口的状态寄存器,数据寄存器,控制寄存器三种寄存器来对接口进行控制和数据传输的.上面的图中描绘了APB地址空间和各个接口之间的关系.我们通过查找每个地址段中地址的定义可以知道这些寄存器对于接口的作用.对于接口的编程基本上都是通过对这些寄存器的使用才实现的.大概是因为地址空间太富裕了,每个16K实际上都没有用完,地址空间有很多地方都是窟窿,也就是浪费.单片机,我们最大的需要就是他们的接口,我们更多的希望使用他们丰富的接口与外设进行通信和数据传输.通过我们对没个接口的研究,便可以逐渐的了解ARM的开发方法
在LPC2478的文档中,APB的各个设备的寄存器空间是按下面的方式分配的:
有过Arm或者其他单片机开发经验的人对这种地址分配应该不难理解,但对于初学者可能会有点晕.如果大家打算从LPC2478(ARM7TDMI-S的2400系列)开始学起的话,有两个文档是要用来经常查阅的:
lpc2478_ds.pdf
user.manual.lpc24xx.pdf
这两个文档相当于是2478的datasheet(说明文档).在文档的芯片结构图中大家可以看到从运算器到各个外设接口之间是通过AHB,APB桥接而成的.因为这个图比较大,我无法加进来.大概意思就是说,在ARM的CPU内部,运算器要向控制各个接口,必须通过AHB,APB桥形成的总线才能对各个接口进行控制.那么ARM映射了AHB,APB两块地址空间作为控制各个接口的寄存器空间来使用.学过任何一种单片机的人都知道,对接口的编程时通过接口的状态寄存器,数据寄存器,控制寄存器三种寄存器来对接口进行控制和数据传输的.上面的图中描绘了APB地址空间和各个接口之间的关系.我们通过查找每个地址段中地址的定义可以知道这些寄存器对于接口的作用.对于接口的编程基本上都是通过对这些寄存器的使用才实现的.大概是因为地址空间太富裕了,每个16K实际上都没有用完,地址空间有很多地方都是窟窿,也就是浪费.单片机,我们最大的需要就是他们的接口,我们更多的希望使用他们丰富的接口与外设进行通信和数据传输.通过我们对没个接口的研究,便可以逐渐的了解ARM的开发方法
相关文章推荐
- AHB/APB简介 分类: arm-linux-Ubuntu 2013-07-22 16:30 335人阅读 评论(0) 收藏
- ARM里面的APB和AHB的意思
- ARM中的AHB 及APB
- ARM中的AHB 及APB
- AHB接口转APB
- Azure ARM (12) ARM模式下,在负载均衡器上设置多个公网IP地址
- ARM-Linux S5PV210 UART驱动(3)----串口核心层、关键结构体、接口关系
- ARM中的AHB 及APB
- ARM里面的APB和AHB
- ARM与不同位宽存储器的地址线错位接口
- [3]ARM-Linux S5PV210 UART驱动----串口核心层、关键结构体、接口关系
- C++快速入门--12--抽象类和接口模拟
- Eclipse快速上手EJB -- 3. 一对一的双向关系的CMR(3)
- X86,ARM的虚拟地址转换.什么是MMU,MMU的作用
- Eclipse快速上手EJB -- 5. 一对多的双向关系的CMR
- Eclipse快速上手EJB -- 3. 设计一对一的双向关系的CMR(1)
- Eclipse快速上手EJB -- 4. 多对多的单向关系的CMR(2)
- Eclipse快速上手EJB -- 5. 一对多的双向关系的CMR(1)
- Eclipse快速上手EJB -- 3. 一对一的双向关系的CMR(2)
- 继承,抽象,接口之间的关系和区别