社区
嵌入开发(WinCE)
帖子详情
MmMapIoSpace这个映射后的地址范围
qclzdh
2010-09-28 10:07:51
MmMapIoSpace这个映射后的地址范围 是不是一定在0X80000000---0XA0000000或者0XA0000000--0XB0000000这个范围里面
我做SRAM驱动的时候,片选CS1映射后是0XD1700000正常吗
...全文
395
16
打赏
收藏
MmMapIoSpace这个映射后的地址范围
MmMapIoSpace这个映射后的地址范围 是不是一定在0X80000000---0XA0000000或者0XA0000000--0XB0000000这个范围里面 我做SRAM驱动的时候,片选CS1映射后是0XD1700000正常吗
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
haiou_arm
2010-09-28
打赏
举报
回复
1、WinCE6.0的驱动默认是内核层的,所以通过MmMapIoSpace影射后的地址肯定是高2G的。也就是大于0x80000000的;
2、在驱动里尽量不要用静态影射,我上次出现过采用静态影射有时候正确,有时候错误的情况,但动态就没有问题。到现在还没想通为什么!~ 最有可能的是别的地方也在用我这块地址,但修改g_oalAddressTable做静态影射后,谁还有权力用,谁还能申请到!
FLandY1982
2010-09-28
打赏
举报
回复
[Quote=引用 12 楼 qclzdh 的回复:]
那什么情况下用静态地址,什么情况下用MmMapIoSpace映射呢
[/Quote]
内核中直接使用静态地址,驱动中使用MmMapIoSpace。
qclzdh
2010-09-28
打赏
举报
回复
那什么情况下用静态地址,什么情况下用MmMapIoSpace映射呢
FLandY1982
2010-09-28
打赏
举报
回复
不相等啊,0x94000000是静态的地址,
具体地址空间我也不清楚,我觉得不用关心MmMapIoSpace映射得到的地址啊。
qclzdh
2010-09-28
打赏
举报
回复
还有我的这个是在流驱动的DLL里面调用的
qclzdh
2010-09-28
打赏
举报
回复
请问用这个MmMapIoSpace 和 用静态映射的有什么区别
qclzdh
2010-09-28
打赏
举报
回复
MmmapIoSpace 这个映射CSP_BASE_MEM_PA_CS5这个地址,是不应该和0x94000000相等 或者相差0X20000000
FLandY1982
2010-09-28
打赏
举报
回复
是的,
如果是设备驱动调用,就是用MmMapIoSpace(CSP_BASE_MEM_PA_CS5, size, TRUE)
qclzdh
2010-09-28
打赏
举报
回复
这个是我CACHE enabled 我是不是要加上0X20000000
qclzdh
2010-09-28
打赏
举报
回复
g_oalAddressTable
DCD 0x80000000, CSP_BASE_MEM_PA_CSD0, 128 ; RAM image mapping
DCD 0x88000000, CSP_BASE_MEM_PA_CSD1, 128 ; RAM image mapping
DCD 0x90000000, CSP_BASE_MEM_PA_CS0, 64 ; FLASH image mapping
DCD 0x94000000, CSP_BASE_MEM_PA_CS5, 32 ; External WEIM CS5
DCD 0x96000000, CSP_BASE_MEM_PA_CS4, 8 ; External WEIM CS4
DCD 0x96800000, CSP_BASE_MEM_PA_CS1, 8 ; SRAM
DCD 0x97000000, CSP_BASE_REG_PA_AVIC, 1 ; AVIC regs
DCD 0x97100000, CSP_BASE_REG_PA_ESDCTL, 1 ; ESDCTL + WEIM + M3IF
DCD 0x97200000, CSP_BASE_REG_PA_NANDFC, 4 ; NANDMA + NANDSA + NANDFC
DCD 0x97600000, CSP_BASE_REG_PA_GPU2D, 1 ; GPU2D controller regs
DCD 0x97700000, CSP_BASE_REG_PA_L2CC, 1 ; L2CC controller regs
DCD 0x97800000, CSP_BASE_MEM_PA_IRAM, 1 ; Internal RAM
DCD 0x97900000, CSP_BASE_MEM_PA_SECURE_IROM, 1 ; Internal Secure ROM
DCD 0x98000000, CSP_BASE_MEM_PA_AIPS1, 64 ; AIPS1 peripheral regs
DCD 0x9C000000, CSP_BASE_MEM_PA_AIPS2, 64 ; AIPS2 peripheral regs
DCD 0x00000000, 0x00000000, 0 ; Terminate table
这个应该是我的静态映射表,CSP_BASE_MEM_PA_CS5这个是CS5的实际地址,如果我要操作CSP_BASE_MEM_PA_CS5+0X800的地址,是不是直接0x94000000+0x800就好了
FLandY1982
2010-09-28
打赏
举报
回复
我的理解是直接静态的映射SDRAM地址空间,在内核模式可以直接操作静态映射的地址,不需要调用MmMapIoSpace.
qclzdh
2010-09-28
打赏
举报
回复
http://blog.csdn.net/Jack__h/archive/2009/12/04/4939911.aspx
如果是操作通过总线挂接的 I/O 或者存储器,必须先把总线地址转化成 CPU 上的系统地址,再做物理地址到虚拟地址的映射。这里需要查 CPU 的 Datasheet ,找出所要操作的I/O地址.先调用 HALTranslateBusAddress( )把总线地址转化成CPU上的系统地址, 再调用 MmmapIoSpace 函数实现虚实映射;也可以使用 TransBusAddrToVirtual ()直接把总线上的地址转化成系统的虚拟地址。
这篇文章中这样说,那么我的SRAM是不是不能直接用MmmapIoSpace,我的SRAM是挂在CS5上的,应该是AHB总线上
FLandY1982
2010-09-28
打赏
举报
回复
0X80000000---0XA0000000或者0XA0000000--0XB0000000 是静态的映射地址空间,前者是缓存的,后缀是非缓存的
详细的说明可以去我博客看下那篇翻译的关于内存映射的文章。
FLandY1982
2010-09-28
打赏
举报
回复
是正常的,0xD0000000 0xDFFFFFFF地址空间用于内核模式模块的。
qclzdh
2010-09-28
打赏
举报
回复
达人呢,帮忙给我解答下
qclzdh
2010-09-28
打赏
举报
回复
MmMapIoSpace 那为什么做动态映射 和静态映射的地址不一样呢
Memory Management.doc
Memory Management.doc
wince
地址
映射
过程
首先要理解 windows CE 下的
地址
映射
机制。 wince有两种
地址
:物理
地址
和虚拟
地址
.不同架构的 CPU 硬件上的区别导致
地址
映射
也不同。MIPS和SH x 处理器,不采用MMU,直接在CPU和内核里定义 1G 的物理
地址
;而X86和ARM带有 MMU 单元,在 OEMAddressTable 中定义物理
地址
到虚拟
地址
间的
映射
关系或者是OS启动后调用 CreateStaticMappin...
XDMA IP核中BAR
映射
空间
XDMA IP核中的BAR
映射
空间是PCIe协议中用于实现主机(Host)与FPGA之间
地址
转换的关键机制,其核心作用是为PCIe设备和FPGA逻辑提供统一的内存访问接口。
wince存储与
地址
映射
技术
wince存储与
地址
映射
技术 Windows CE采用了四层内存管理结构,从下到上依次为:物理内存,虚拟内存,逻辑内存和C/C++运行时库.其中物理内存包括:RAM(为OS和程序提供运行和缓冲空间),ROM(存储程序,包括OS和一些文件),Flash(可擦写).CE支持最大物理内存为512M. 所有进程共享4G的虚拟存储空间,它是通过以页为单位管理的,不同处理器支持页大小不同(AR
Windows CE的存储与
地址
映射
技术学习
Windows CE采用了四层内存管理结构,从下到上依次为:物理内存,虚拟内存,逻辑内存和C/C++运行时库.其中物理内存包括:RAM(为OS和程序提供运行和缓冲空间),ROM(存储程序,包括OS和一些文件),Flash(可擦写).CE支持最大物理内存为512M. 所有进程共享4G的虚拟存储空间,它是通过以页为单位管理的,不同处理器支持页大小不同(ARM支持1K,4K,64K,1M;X86支持
嵌入开发(WinCE)
19,519
社区成员
41,565
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章