中级会员
 
- 积分
- 307
- 金钱
- 307
- 注册时间
- 2016-12-9
- 在线时间
- 33 小时
|
5金钱
本帖最后由 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中的映射代码不一样啊,是怎么回事,另外请教一下为什么映射到那个地址(为什么这里用的动词是映射,我觉得好像就是指定了一块特定的地址啊)之后访问的还是之前的寄存器
|
最佳答案
查看完整内容[请看2#楼]
怪我想当然了 没去化简 形式不一样 结果是一样的[/backcolor]
((addr & 0xF0000000)+0x2000000 = 0x22000000[/backcolor]
((addr & 0xFFFFF)
|