STM32的 位寻址(地址映射)
来源:互联网 发布:淘宝企业店怎么过户 编辑:程序博客网 时间:2024/05/29 17:20
STM32的寄存器的分布情况:
STM比较特色的就是 位带操作:
如下解释:
(寄存器的地址是固定好的,我们想要进行位操作的话 就需要用到地址映射,将位带区寄存器的 各位 映射到 位带别名区的地址。)
首先需要清楚的是32位地址的编码方式,是以8为一个字节累加而成的,如下图所示,一个32位的字符串包含了4个
字节,所以从第二行开始的地址为0x2000 0004.
通过 位带别名区 的 4个字节(32个位)用来存放 位带区的 位地址。
如将 0x2200 0000 映射到 0x2000 000 的第一个位!
具体的映射C程序是这样的:
算法公式:
(addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2)
addr & 0xF0000000: 取0x4001 0808
+0x2000000
+((addr &0xFFFFF)<<5): 将低5位提取出来 乘以 32.
然后根据这个字节的第几位(目标位)进行操作,因为每一位用一个32位地址字符串表示,即占用4个字节,故
bitnum<<2 :对第2位 进行加操作。 乘以4. 映射到目标位。
得到其位带别名区的地址
0 0
- STM32的 位寻址(地址映射)
- 简谈stm32的地址映射
- 32位地址的寻址方式
- 对于操作系统32位&64位寻址地址的理解
- STM32存储器地址映射
- 计算机地址与8086寻址方式以及32位处理器的寻址方式
- Freescale 16位单片机的地址映射
- Freescale 16位单片机的地址映射
- 从STM32的位带操作重谈嵌入式中寻址与对齐的理解
- stm32库中地址映射
- STM32 寄存器地址名称映射
- STM32-库开发-地址映射
- stm32寄存器地址名称映射
- STM32入门系列-STM32外设地址映射
- STM32从Flash地址0x08000000的启动重映射
- STM32的内存地址映射与IAP下载
- STM32从Flash地址0x08000000的启动重映射
- STM32从Flash地址0x08000000的启动重映射
- 怎么查看Eclipse的版本号
- Erlang Programming拾零
- Leetcode:Best Time to Buy and Sell Stock
- GPUImage
- UIPickerView实例
- STM32的 位寻址(地址映射)
- 初学osg 感悟
- 再入时落速控制问题
- HTML5 - 吊炸天的iMac Lion桌面
- 2.Glance详解
- Gconf与Gsettings的简介、及gsettings的具体使用案例
- Java各种获取系统当前时间方法 和 格式
- C语言(六)
- 新来的