LM3S8962 驱动库中 HWREG()赋值问题

2019-03-24 15:34发布

今天在用HWEG()访问存储器的时候遇到一个问题 HWREG(0x20000000)=0xAA55AA55; 没问题 但是给为HWREG(0x20000000)=0xAA55AA00; 程序就补往下执行了 貌似一直在那死循环了似的; 后来改了很多数 发现只要最后一个字节为00则程序就不往下执行了用HWREGH()和HWREGB()也是一样的; 对此很补理解 要是我要对存储器清零之类的怎么办?   此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
蓝雨夜
2019-03-25 01:46
SRAM存储器
Stellaris®器件的内部SRAM位于器件存储器映射的地址0x2000.0000。为了减少读-修改-写(RMW)
操作的时间,ARM在Cortex-M3处理器中引入了bit-banding技术。在bit-banding使能的处理器中,
存储器映射的特定区域(SRAM和外设空间)能够使用地址别名,在单个原子操作中访问各个位。
使用下面的公式来计算bit-band别名:
bit-band别名 = bit-band基址 + (字节偏移量 * 32) + (位编号 * 4)
例如,如果要修改地址0x2000.1000的位3,则bit-band别名计算如下:
0x2200.0000 + (0x1000 * 32) + (3 * 4) = 0x2202.000C
通过计算得出的别名地址,对地址0x2202.000C执行读/写操作的指令仅允许直接访问地址0x2000.1000
处字节的位3。
有关bit-banding的详细信息,请参考ARM® Cortex™-M3 技术参考手册的第4章“存储器映射”

一周热门 更多>

相关问题

    相关文章