您现在的位置: 主页 > MCU > 单片机技术应用 > 简谈stm32的地址映射 -
本文所属标签:
为本文创立个标签吧:

简谈stm32的地址映射 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-07 

[导读]对于控制器而言,无论是单片机系列还是plc系列,都是控制引脚的高低电平从而对外设进行控制。通常我们采取各种语言进行编写控制语句,类比于汇编和高级语言等。在51单片机的学习初级阶段,我们都使用过汇编语言进行流

对于控制器而言,无论是单片机系列还是plc系列,都是控制引脚的高低电平从而对外设进行控制。通常我们采取各种语言进行编写控制语句,类比于汇编和高级语言等。在51单片机的学习初级阶段,我们都使用过汇编语言进行流水灯的编写,在汇编中印象最深的莫过于对地址的控制。这里就是要说到的地址映射。
在32开发中,我们通常使用库进行开发。说白了,32开发是从底层一层一层封装上去的。到我们开发者这里,就是使用最上层的接口进行开发。但是一层一层看下去,还是对寄存器的控制,要控制寄存器,就需要操作寄存器地址。
下图就是STM32的地址映射(此图百度):

本文引用地址: http://www.21ic.com/app/mcu/201808/781606.htm

在倒数第三紫色区域是片上外设的地址区域,这里反映了片上外设的地址,我们通过操作这些地址,便能操作这些外设寄存器。
STM32中,有三大总线,AHB总线,APB1总线以及APB2总线。不同的外设挂载在不同的总线上边。比如GPIO,串口1,ADC以及部分定时器挂载在APB2总线上(总线这里我将重新开贴介绍)。提到这里我们就该说说总线的地址么。
打开stm32f10x.h这个文件,这个文件主要包含STM32中寄存器地址和结构体类型定义,在使用到固件库的地方都要包含该头文件。这里截屏一些宏定义来说明一下地址映射与挂载总线的关系。

从图中可以看到APB2之类的字眼,这不是总线么?注意,有一个PERIPH_BASE的地址为0x40000000,这不是片上外设的首地址么。这里,这个地址称作外设基地址。同样,APB2PERIPH_BASE称作APB2总线外设基地址,毕竟都有base。

这个图片是个总线的基地址:

也就是说,该总线上所挂载的模块都在这个地址区间内。下面两幅图是挂载在总线上面各寄存器以及寄存器组的地址:



以上几幅图就是我目前能找到的地址映射的图片。

这篇文章是我初学的学习笔记,在此借鉴了:
《零死角玩转STM32
《Duanxx的STM32学习:STM32的总线AMBA、AHB、APB》




              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > 简谈stm32的地址映射 -
 

"简谈stm32的地址映射 -"的相关文章

网站地图

围观()