打印

stm32位带操作的问题

[复制链接]
2442|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hxy2012|  楼主 | 2013-4-11 16:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在的理解是:1、1MB的位带区扩到32MB的位带别名区。每个比特就是bit,就是说一个位带区地址中32位分别对应位带别名区地址。
                            2、SRAM地址 0X200000000(一个字节)扩展到8个32 位的字,它们是:
                                 0X220000000 ,0X220000004,0X220000008,0X22000000C,0X220000010,0X220000014, 0X220000018,0X22000001C
                                 那SRAM1MB位带区0X200000000扩展的位带别名区的扩展怎么不是0X220000000 ,0X220000001,0X220000002, 0X220000003,0X220000004,0X220000005, 0X220000006,0X220000007.。。。。。。。。。。。。。0X220000001F?


沙发
IJK| | 2013-4-11 17:34 | 只看该作者
SRAM地址 0X200000000(一个字节)扩展到8个32 位的字,它们是:
                                  0X220000000 ,0X220000004,0X220000008,...

肯定是这样啦。32 位的字,对应于4字节。

0X220000000 ,0X220000001,
就变成字节了

使用特权

评论回复
板凳
acgean| | 2013-4-12 09:39 | 只看该作者
每个bit,分别对应位带别名区32位(4字节)地址。
所以:SRAM地址 0X200000000(一个字节)扩展到8个32 位的字,它们是: 0X220000000 ,0X220000004,0X220000008,0X22000000C,0X220000010,0X220000014, 0X220000018,0X22000001C

使用特权

评论回复
地板
hxy2012|  楼主 | 2013-4-12 10:11 | 只看该作者
acgean 发表于 2013-4-12 09:39
每个bit,分别对应位带别名区32位(4字节)地址。
所以:SRAM地址 0X200000000(一个字节)扩展到8个32 位 ...

位带区0x2000 0000地址中的32位对应着对应位带别名区地址0X220000000 ,0X220000001,0X220000002, 0X220000003,0X220000004,0X220000005, 0X220000006,0X220000007.。。。。。。。。。。。。。0X220000001F 我这样理解是错的  你看下

使用特权

评论回复
5
hxy2012|  楼主 | 2013-4-12 11:14 | 只看该作者
IJK 发表于 2013-4-11 17:34
SRAM地址 0X200000000(一个字节)扩展到8个32 位的字,它们是:
                                  0X2200 ...

对SRAM 位带区的某个比特,记它所在字节地址为A,位序号
在别名区的地址为:
AliasAddr= 0x22000000 +((A‐0x20000000)*8+n)*4 =0x22000000+ (A‐0x20000000)*32 + n*4
对于片上外设位带区的某个比特,记它所在字节的地址为A,位序号为n(0<=n<=7),则该比特
在别名区的地址为:
AliasAddr= 0x42000000+((A‐0x40000000)*8+n)*4 =0x42000000+ (A‐0x40000000)*32 + n*4
上式中,“*4”表示一个字为4 个字节,“*8”表示一个字节中有8 个比特
怎么位序号n是(0<=n<=7),位带区一个地址不是有32位的嘛,那么位序号该是 0<=n<=31????】

使用特权

评论回复
6
hxy2012|  楼主 | 2013-5-28 10:50 | 只看该作者
多思考,多看书,OK

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

54

帖子

0

粉丝