OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 18314|回复: 5

关于存储器映射地址偏移的疑惑

[复制链接]

10

主题

19

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
229
金钱
229
注册时间
2010-12-14
在线时间
0 小时
发表于 2011-1-8 16:31:27 | 显示全部楼层 |阅读模式

 本人用惯了51,习惯以51方式学习MCU,所以产生了如下问题

比如STM32的GPIO寄存器,有一个基址,它的第一个寄存器是GPIOx_CRL偏移地址为0x00;
第二个寄存器为GPIOx_CRH,偏移地址为0x04;
第三个寄存器为GPIOx_IDR,偏移地址为0x08;
第四个寄存器为GPIOx_ODR,偏移地址为0x0c;
第五个寄存器为GPIOx_BSRR,偏移地址为0x10;
...........
那么它们这些寄存器的访问地址为基址加上偏移地址。

我的疑问就是这些寄存器为什么以4为单位进行偏移?
我的理解:因为寄存器是32位的,所以需要4个字节。
例如:GPIOA_CRH的存储器映射地址为0x40018004,要访问这个寄存器可以用一个u32类型的变量对该地址读写。那么,如果我用一个u8类型的变量对0x40018004地址操作的话,是不是对GPIOA_CRH这个寄存器的第0~7位操作?对0x40018005地址操作就是对GPIOA_CRH寄存器的第8~15位操作?对0x40018006地址操作就是对GPIOA_CRH寄存器的第16~23位操作?对0x40018007地址操作就是对GPIOA_CRH寄存器的第24~31位操作??

此问题很奇怪!请勿拍砖!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-1-8 18:11:29 | 显示全部楼层
你的理解是对的。一个寄存器是32位,所以才需要4个字节。
另外,你后面说的,可行与否,直接写个代码验证一下就知分晓了。
应该是可以的。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2011-1-20
在线时间
0 小时
发表于 2011-1-20 10:24:25 | 显示全部楼层
回复【2楼】正点原子:
-------------------------------
就五个寄存器,总共偏移量也没多少,那为啥每个GPIO都要占1K的地址空间呢?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-1-20 16:54:00 | 显示全部楼层
回复【3楼】我心飞翔:
-------------------------------
估计是为了方便以后扩展吧.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

19

主题

156

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
291
金钱
291
注册时间
2011-3-23
在线时间
5 小时
发表于 2011-3-23 11:44:46 | 显示全部楼层
学习了,不错
回复 支持 反对

使用道具 举报

16

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2013-8-10
在线时间
0 小时
发表于 2013-8-19 09:26:08 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥啊  这个GPIOA_CRH的存储器映射地址不是0x40018004而是0x40011804吧?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-15 00:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表