位带操作地址映射

2019-07-20 14:06发布

本帖最后由 loverwtf 于 2017-6-2 23:25 编辑

# define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr & 0xFFFFF)<<5)+(bitnum<<2))    //这是sys.h中的映射代码

AliasAddr=  0x22000000+((A‐0x20000000)*8+n)*4 =0x22000000+ (A‐0x20000000)*32 + n*4                      //SRAM映射公式

AliasAddr=  0x42000000+((A‐0x40000000)*8+n)*4 =0x42000000+ (A‐0x40000000)*32 + n*4                        //片上外设映射公式


映射公式跟sys.h中的映射代码不一样啊,是怎么回事,另外请教一下为什么映射到那个地址(为什么这里用的动词是映射,我觉得好像就是指定了一块特定的地址啊)之后访问的还是之前的寄存器




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。