
demi 发布于:周三, 02/03/2021 - 10:07 ,关键词:
作者:acket
映射的概念
存储器本身不具有地址信息,它的地址是由芯片厂商或用户分配,给存储器分配地址的过程就称为存储器映射,如下图所示的4GB空间(从block0-block7每个block512M)。在梳理STM32芯片的内部架构中提到的被控单元FLASH、RAM、FSMC和APB等功能部件共同排列在这4GB的地址空间内。在编程的时候,可以通过他们的地址找到他们,然后通过C语言对它们进行数据的读和写操作。
存储器映射
在这 4GB 的地址空间中,ARM 已经粗线条的平均分成了 8 个块,每块 512MB,每个块也都规定了用途,具体分类见如下表格。在这 8 个 Block 里面,有 3 个块非常重要,也是我们最关心的三个块。Block0 用来设计成内部FLASH,Block1 用来设计成内部 RAM,Block2 用来设计成片上的外设。其中,Block2 用于设计片内的外设,根据外设的总线速度不同,Block 被分成了AHB、APB1、APB2。


本文介绍了STM32单片机中C语言操作寄存器的原理,包括存储器映射、寄存器映射的概念,并通过实例展示了如何通过C语言直接操作寄存器地址以及使用宏定义简化操作。通过理解寄存器映射,可以更高效地控制片上外设。
最低0.47元/天 解锁文章
897

被折叠的 条评论
为什么被折叠?



