快速学Arm(12)--APB,AHB地址与接口的关系

在快速学Arm(3)中,我画了一个LPC2478的存储空间的分别图,在存储空间最上面的两块,0xE000 0000 ~ 0xEFFF FFFF(APB)和0xF000 0000 ~ 0xFFFF FFFF(AHB)两块地址空间.这两块空间分别是大概250M字节的空间.每个250M空间分成36块,每块大概16K大小.

    在LPC2478的文档中,APB的各个设备的寄存器空间是按下面的方式分配的:

    快速学Arm(12)--APB,AHB地址与接口的关系
    有过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的开发方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值