当前位置: 代码迷 >> WinCE >> 在驱动中访问指定寄存器异常
  详细解决方案

在驱动中访问指定寄存器异常

热度:157   发布时间:2016-04-28 13:37:36.0
在驱动中访问指定寄存器错误?

WINCE6.0下有个大的结构如下,通过MmMapIoSpace映射到ARM的一个硬件模块。
typedef struct
{
  UINT32 MCR ;  
  UINT16 CTRL ;  

  。。。。。

  UINT32 RESERVED1[19] ;
  MB_REG MB[64];
  UINT32 RESERVED2[256] ;
  UINT32 RXIMR[64] ;

} CSP_CAN_REG, *PCSP_CAN_REG;

现在有个奇怪现象,能够访问结构中前面几个寄存器内容,如果访问RXIMR[1]中的内容,则系统提示data abort失败:
Exception 'Data Abort' (4): Thread-Id=06360006(pth=89f093c0), Proc-Id=00400002(pprc=82079308) 'NK.EXE', VM-active=0481008a(pprc=89e4350c) 'test35.exe'
PC=c04a3cf4(k.ceddk.dll+0x00003cf4) RA=d4852024(can.dll+0x00002024) SP=d453fd18, BVA=00000000
Exception 'Raised Exception' (-1): Thread-Id=06360006(pth=89f093c0), Proc-Id=00400002(pprc=82079308) 'NK.EXE', VM-active=0481008a(pprc=89e4350c) 'test35.exe'
PC=c00ab708(k.coredll.dll+0x0001b708) RA=8021a4c8(kernel.dll+0x000064c8) SP=d453f5b4, BVA=ffffffff
ReadPacket 

请问这种现象是不是MmMapIoSpace不能映射大的结构?(该结构有2432字节)

------解决方案--------------------

是不是哪里限制访问权限了?
  相关解决方案