CE下访问2410GPIO问题

[复制链接]
查看11 | 回复2 | 2021-1-27 07:16:23 | 显示全部楼层 |阅读模式
各位老大
2410的GPIO使用VirtualCopy映射,下面两个写法
1)VirtualCopy((PVOID)v_pIOPRegs,(PVOID)0xB16000000,sizeof(IOPreg),PAGE_READWRITE|PAGE_NOCACHE))
2)VirtualCopy((PVOID)v_pIOPRegs,(PVOID)0x56000000>>8,sizeof(IOPreg),PAGE_PHYSICAL|PAGE_READWRITE|PAGE_NOCACHE))
第2种是书上的,是正确的
第一种0xB16000000是0x56000000在CE里的虚拟地址,为什么有第一种的写法,他正确吗?既然是虚拟地址为什么还要再映射?
分 -->
回复

使用道具 举报

千问 | 2021-1-27 07:16:23 | 显示全部楼层
第1种刚证明是对的,第2种用了PAGE_PHYSICAL,但IOPORT的基地址0X56000000应该是被映射到512M物理内存内的,为什么还能用PAGE_PHYSICAL呢,难道说512M内外的物理内存都能用他来VirtualCopy??
回复

使用道具 举报

千问 | 2021-1-27 07:16:23 | 显示全部楼层
结贴,两种都对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行