我在 ce4.2 中加载 isr16550.DLL 的isr 驱动。
但是,返回给我的都是 0x80000000 以后的地址?
然后,isr工作也不正常。
isr16552.dll $(_FLATRELEASEDIR)\isr16550.dll NK SHK
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\UART6]
"DeviceArrayIndex"=dword:6
"SysIntr"=dword:25
"IoBase"=dword:20000000
"IoLen"=dword:8
"Prefix"="COM"
"Order"=dword:0
"Index"=dword:6
"Priority"=dword:0
"Port"="COM6:"
"Dll"="COM16550.dll"
"Irq"=dword:15
"IsrDll"="isr16550.dll"
"IsrHandler"="ISRHandler"
"RegStride"=dword:1
"DeviceType"=dword:0
"FriendlyName"="Serial 16552 COM6:"
"Tsp"="Unimodem.dll"
理论上:
pHWHead->hIsrHandler = LoadIntChainHandler(pHWHead->RegIsrDll, pHWHead->RegIsrHandler, (BYTE)pHWHead->dwIrq);
pHWHead->hIsrHandler 应该是一个 1-16 的值,但是不知道为什么老是返回 一个 0x80000000 以后的值,像是一个物理地址一样的。
到www.cnemb.com或许可以找到
嵌入开发网,网地址可能错了,你搜索下,都是将WINCE 的