您的位置:首页 > 其它

再识M4—F429

2016-03-02 21:22 796 查看
时隔一年再次学习Cortex-M4内核,既熟悉又陌生。熟悉——是因为以前接触过,陌生——是因为以前没有深入理解。

首先看看F429的内核架构,



内核与外部设备通讯有三条总线,分别是I-Code、D-Code及系统总线。I-Code用于取FLASH中的指令,而D-Code则是专门用于取数据表中的数据,系统总线(S-Bus)用于访问内存和外设。

STM32存储器架构



内核给它的外设编了号,即每个外设都有自己的独立地址,内核通过地址就可以找到相应的外设。STM32的片上外设分布在0x4000 000的地址控件,内核通过地址寻找到片上外设后,对特定外设的地址写入特定的数据,就可以控制该外设。由于寄存器是一种特殊的内存,而且有特定的地址,所以我们在编程时使用C语言的指针操作,可以对特定地址写入特定参数。

外设地址映射

1、总线基地址

——外设相应总线的最低地址称为该总线的基地址。





“相对外设基地址偏移”即该总线地址与“片上外设”基地址0x4000 0000的差值。地址偏置就如同现实生活中的住址编号,“片上外设”是一条街道名称,该街道编号0x0001 0000的是APB2小区。

2、外设基地址

AHB1总线上挂载着各种外设,这些外设也有自己的地址范围,特定外设的首个地址称为“x外设基地址”。x外设相对于其总线的地址偏移就相对于小区(总线)内的房子编号。





3、外设寄存器

在该外设的基地址范围内,就是它对应的寄存器地址。这些寄存器就是房子(外设)内的各种设施了。



下一篇在写如何利用C语言对寄存器封装。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: