STM32F1 - 存储器映射


1> 外设内存地址映射

1
1> STM32F103ZET6的地址线位宽为32位,所以寻址空间为4GB (2 ^ 32 = 4GB);
2> STM32将,Flash,SRAM,外设寄存器,等都有规律的安排到4GB的空间;

2


2> GPIO寄存器映射

2

GOIOA的映射地址是多少?

因为Poart A的基地址是:【0x4001 0800】
所以GPIOA寄存器的地址就是,0x4001 0800+偏移地址,
例如,GPIOA_CRL的地址就是【0x4001 0800 + 0x00】
GPIOA_CRH的地址【0x4001 0800 + 0x04】;


3> CPU能看见的就是4G空间

37


4> 存储器访问


想象成取快递:
1
存储器的访问,可以想象成在菜鸟驿站取快递

例如,读写 寄存器GPIOA_CRH, 他的地址是【0x4001 0800 + 0x04】;

unsigned int *pCRH = (unsigned int *)0x40010804 

unsigned int tmp = 0;
tmp = *pCRH;		// 读GPIOA_CRH,也就是取0x40010804地址存的内容 
*pCRH = 0xFFFFFFFF; // 写GPIOA_CRH,也就是向0x40010804地址存0xFFFFFFFF 

// 为方便使用,写成:
#define GPIOA_CRH   *(unsigned int *)0x40010804


把4GB的空间,想象成春笋大厦:
1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值