阅读:3385回复:17
有关device.exe,请给予帮助,谢谢
我用WinCE.net 4.2,CPU:Intel PXA27x,现在在调声卡驱动,遇到奇怪的问题。
当audio driver 被加载(Load wavedev.dll)时,出现错误信息打印: Data Abort: Thread=819fc8c4 Proc=80688730 'device.exe',driver load失败,调试无法继续。 这时,DMA 初始化已经完成。 做过试验,修改.bib,不去load wavedev.dll, 改错误信息不再出现。 串口调试信息如下: XllpDmacInit success. ########## In XllpDmacAllocChannel... pChannel:0x1,aChannelPriority:0x0 ########## In XllpDmacAllocChannel... pChannel:0x1,aChannelPriority:0x1 Data Abort: Thread=819fc8c4 Proc=80688730 'device.exe' 调试紧张进行中,请各位知情者予以帮助,非常感谢! |
|
论坛版主
|
沙发#
发布于:2005-07-25 16:31
哟,显示屏做了又开始声卡了哇:))))))能干喔~~~~
你把调试信息家丰富些三,起码dllmain里面有东西再说三。你看看你的dllentry=xxx写对没有,如果对的话dllmain里面的调试信息肯定出来,然后再往后面走就好。 |
|
板凳#
发布于:2005-07-25 18:04
大哥你好!你回帖子的速度越来越快了哦。
好久没来论坛捧场了,不好意思。 声卡我之前调过,没出什么问题,现在在做另一个平台,换了一个型号的声卡,但是我觉得现在跟driver本身还没什么关系吧,是否OS的裁减或是memmap有问题?memmap我查过了,感觉没什么,没有冲突的地方。 这个平台还有一点和前一个不同,那就是我用32位的SDRAM配16位的falsh,之前flash和SDRAM同是16位。 我定义的两个平台的 SDRAM 和 Flash 的 virtual address 是互换的,不知这个是否有影响?帮忙想想啊。 还有啊,这次网卡也换了,还没调出来,在用USB download,所以KTIL没的用,调试信息就很少,全靠串口里打,我再查查看,有什么发现再和大家交流吧。 |
|
地板#
发布于:2005-07-26 11:36
DLLENTRY 没有填错,但是里面加的打印信息都没有出来,应该没有进DllMain(),这是什么原因,memory map 没看出有问题有冲突呀。
|
|
论坛版主
|
地下室#
发布于:2005-07-26 13:59
是吗?越来越?不是吧,一如既往!
总线宽度那个你不用担心,访问不同的物理地址的时候处理器的存储器单元会根据你的控制寄存器设置产生对应的时序。 dllmain都有问题那就更好办了,你随便找一个dll,在注册表里面放到audio的builtin里面,看看加载的信息出来不,你确定你的文件编译对了?你那个dma啥子时候起来的? |
|
5楼#
发布于:2005-07-26 14:32
下面贴一个wavedev.dll是否编译进去,OS起来后的串口调试信息,帮着看看呀!
通过修改 ce.bib ,然后romimage,选择是否加载wavedev.dll 有 wavedev.dll 的调试信息: **************************************************************** **************************************************************** Windows CE Kernel for ARM (Thumb Enabled) Built on Mar 13 2003 at 22:52:56 ProcessorType=0411 Revision=4 sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 801415cc XSCDBG:Trace initialized: CFG:80681724 Buffer: 806800c8, 14f0 Sp=ffffc7cc $$$$$$$$$ dmawince--DmaDllEntry... Irene -- In OEMInterruptEnable... $$$$$$$$$ dmawince--DmaDllEntry... $$$$$$$$$ dmawince--DmaDllEntry... $$$$$$$$$ dmawince--DmaDllEntry... $$$$$$$$$ dmawince--DmaDllEntry... XllpDmacInit success. ########## In XllpDmacAllocChannel... pChannel:0x1,aChannelPriority:0x0 ########## In XllpDmacAllocChannel... pChannel:0x1,aChannelPriority:0x1 $$$$$$$$$ dmawince--DmaDllEntry... $$$$$$$$$ dmawince--DmaDllEntry... Data Abort: Thread=819fc8c4 Proc=80688730 'device.exe' AKY=00000005 PC=03ae5a8c RA=03ae58a0 BVA=06000020 FSR=00000007 $$$$$$$$$ dmawince--DmaDllEntry... BPC Modified File: uhcddrv.cpp. Modified File: ohcd.c. HcdPdd_Init: Checking SW18 - controls OHCI loading. OhcdPddInitializeAddresses: v_pDCIMReg: 00310000 = a4100000. OhcdPddInitializeAddresses: v_pDCIMReg: impmr 00000000. OhcdPddInitializeAddresses: v_pDCIMReg: impsr 00000000. OhcdPddInitializeAddresses: v_pDCIMReg:Mimpmr 000000bc. OhcdPddInitializeAddresses: v_pDCIMReg:Fimpmr 00000000. OhcdPddInitializeAddresses: testing access to OHCIDMABuffer a4030000 mapped to 00310000. OhcdPddInitializeAddresses: 00-0f: e0860459 20144601 a288002d 63f0b221 OhcdPddInitializeAddresses: 10-1f: 01004c10 0d6085a5 00b033e9 03a4220c OhcdPddInitializeAddresses:M00-0f: 000000bc 000000bd 000000be 000000bf OhcdPddInitializeAddresses:M10-1f: 000000c0 000000c1 000000c2 000000c3 OhcdPddInitializeAddresses: dwohciBPhy: old 5c030000. OhcdPddInitializeAddresses: dwohciBPhy: new 5c030000. OhcdPddInitializeAddresses: v_pDCCLKReg: 002e0000 = a5800000. OhcdPddInitializeAddresses: v_pDCGPIOReg: 002f0000 = a5300000. OhcdPddInitializeAddresses: v_pOHCIDMABuffer: 00310000 = a4030000. OhcdPddInitializeAddresses: v_pDCUSBOHCIReg: 00300000 = a4200000. Irene -- In OEMInterruptEnable... INT EN SYSINTR_OHCI_PDD InitPddInterrupts RhPortStatus: 0x0. OHCI_Reset: Resetting Bulverde OHCI. OHCI_Reset: done. Irene -- In OEMInterruptEnable... INT EN SYSINTR_OHCI_MDD $$$$$$$$$ dmawince--DmaDllEntry... GDE_Init In = 602f1c8, 0... ##### GDE_Init In = 0, 0... GDE_Init Done... ##### GDE_Init Done.. $$$$$$$$$ dmawince--DmaDllEntry... $$$$$$$$$ dmawince--DmaDllEntry... $$$$$$$$$ dmawince--DmaDllEntry... $$$$$$$$$ dmawince--DmaDllEntry... $$$$$$$$$ dmawince--DmaDllEntry... Done getting Registry values: bpp: 0x10 CxScreen: 0xf0 CyScreen: 0x140 Display Type: LQ035Q7DB02 Found Descriptor: Address= fffd2068 Found Descriptor: Address= fffd2868 Display Driver Initialization Complete &&&&&&&&&&&& Entering DdsiTouchPanelEnable() +Inside IPM Touch Init &&&&&&&&&&&& Entering InitAcLink &&&&&&&&&&&& In AC97CtrlConfigure... &&&&&&&&&&&& In XllpAc97Init... &&&&&&&&&&&& DdsiTouchPanelPowerHandler(0x0) $$$$$$$$$ dmawince--DmaDllEntry... &&&&&&&&&&&& In AC97CtrlConfigure... Irene -- In OEMInterruptEnable... Irene -- In OEMInterruptEnable for SYSINTR_TOUCH... Irene -- In OEMInterruptEnable... Irene -- In OEMInterruptEnable for SYSINTR_TOUCH_CHANGED... $$$$$$$$$ dmawince--DmaDllEntry... $$$$$$$$$ dmawince--DmaDllEntry... 不加wavedev.dll 的调试信息: **************************************************************** Windows CE Kernel for ARM (Thumb Enabled) Built on Mar 13 2003 at 22:52:56 ProcessorType=0411 Revision=4 sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 801415cc XSCDBG:Trace initialized: CFG:80681724 Buffer: 806800c8, 14f0 Sp=ffffc7cc BPC Modified File: uhcddrv.cpp. Modified File: ohcd.c. HcdPdd_Init: Checking SW18 - controls OHCI loading. OhcdPddInitializeAddresses: v_pDCIMReg: 00120000 = a4100000. OhcdPddInitializeAddresses: v_pDCIMReg: impmr 00000000. OhcdPddInitializeAddresses: v_pDCIMReg: impsr 00000000. OhcdPddInitializeAddresses: v_pDCIMReg:Mimpmr 000000bc. OhcdPddInitializeAddresses: v_pDCIMReg:Fimpmr 00000000. OhcdPddInitializeAddresses: testing access to OHCIDMABuffer a4030000 mapped to 00120000. OhcdPddInitializeAddresses: 00-0f: 60860459 20144601 b2880029 e3f09221 OhcdPddInitializeAddresses: 10-1f: 01482c00 0d3085a5 002013e9 03242000 OhcdPddInitializeAddresses:M00-0f: 000000bc 000000bd 000000be 000000bf OhcdPddInitializeAddresses:M10-1f: 000000c0 000000c1 000000c2 000000c3 OhcdPddInitializeAddresses: dwohciBPhy: old 5c030000. OhcdPddInitializeAddresses: dwohciBPhy: new 5c030000. OhcdPddInitializeAddresses: v_pDCCLKReg: 000f0000 = a5800000. OhcdPddInitializeAddresses: v_pDCGPIOReg: 00100000 = a5300000. OhcdPddInitializeAddresses: v_pOHCIDMABuffer: 00120000 = a4030000. OhcdPddInitializeAddresses: v_pDCUSBOHCIReg: 00110000 = a4200000. Irene -- In OEMInterruptEnable... INT EN SYSINTR_OHCI_PDD InitPddInterrupts RhPortStatus: 0x0. OHCI_Reset: Resetting Bulverde OHCI. OHCI_Reset: done. Irene -- In OEMInterruptEnable... INT EN SYSINTR_OHCI_MDD $$$$$$$$$ dmawince--DmaDllEntry... GDE_Init In = 602f1c8, 0... $$$$$$$$$ dmawince--DmaDllEntry... ##### GDE_Init In = 0, 0... Irene -- In OEMInterruptEnable... $$$$$$$$$ dmawince--DmaDllEntry... $$$$$$$$$ dmawince--DmaDllEntry... $$$$$$$$$ dmawince--DmaDllEntry... $$$$$$$$$ dmawince--DmaDllEntry... XllpDmacInit success. GDE_Init Done... ##### GDE_Init Done.. $$$$$$$$$ dmawince--DmaDllEntry... Done getting Registry values: bpp: 0x10 CxScreen: 0xf0 CyScreen: 0x140 Display Type: LQ035Q7DB02 Found Descriptor: Address= fffd2068 Found Descriptor: Address= fffd2868 Display Driver Initialization Complete $$$$$$$$$ dmawince--DmaDllEntry... &&&&&&&&&&&& Entering DdsiTouchPanelEnable() +Inside IPM Touch Init &&&&&&&&&&&& Entering InitAcLink &&&&&&&&&&&& In AC97CtrlConfigure... &&&&&&&&&&&& In XllpAc97Init... &&&&&&&&&&&& DdsiTouchPanelPowerHandler(0x0) &&&&&&&&&&&& In AC97CtrlConfigure... Irene -- In OEMInterruptEnable... Irene -- In OEMInterruptEnable for SYSINTR_TOUCH... Irene -- In OEMInterruptEnable... Irene -- In OEMInterruptEnable for SYSINTR_TOUCH_CHANGED... $$$$$$$$$ dmawince--DmaDllEntry... $$$$$$$$$ dmawince--DmaDllEntry... $$$$$$$$$ dmawince--DmaDllEntry... $$$$$$$$$ dmawince--DmaDllEntry... 两者的区别就在于加了wavedev.dll 的多出了下面几行: $$$$$$$$$ dmawince--DmaDllEntry... Irene -- In OEMInterruptEnable... $$$$$$$$$ dmawince--DmaDllEntry... $$$$$$$$$ dmawince--DmaDllEntry... $$$$$$$$$ dmawince--DmaDllEntry... $$$$$$$$$ dmawince--DmaDllEntry... XllpDmacInit success. ########## In XllpDmacAllocChannel... pChannel:0x1,aChannelPriority:0x0 ########## In XllpDmacAllocChannel... pChannel:0x1,aChannelPriority:0x1 $$$$$$$$$ dmawince--DmaDllEntry... $$$$$$$$$ dmawince--DmaDllEntry... Data Abort: Thread=819fc8c4 Proc=80688730 'device.exe' AKY=00000005 PC=03ae5a8c RA=03ae58a0 BVA=06000020 FSR=00000007 $$$$$$$$$ dmawince--DmaDllEntry... 不知从此可以得出什么结论? |
|
论坛版主
|
6楼#
发布于:2005-07-26 15:48
你不觉得你的设备启动顺序都不一样了吗?有wave的时候ohcd在$$$$$$$$$ dmawince--DmaDllEntry...之后才起来,而所谓没有wave则顺序相反。就算是多线程初始化顺序不会变这么多吧,你的order设对没有喔
|
|
7楼#
发布于:2005-07-26 16:03
快点再帮俺瞧瞧啦!
我在注册表里做了如下修改: [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\WaveDev\] "Prefix"="WAV" ; "Dll"="wavedev.dll" "Dll"="dma.dll" "Index"=dword:1 "Order"=dword:0 "Priority256"=dword:95 把wavedev.dll 换成 dma.dll,调试信息如下: **************************************************************** Windows CE Kernel for ARM (Thumb Enabled) Built on Mar 13 2003 at 22:52:56 ProcessorType=0411 Revision=4 sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 801415cc XSCDBG:Trace initialized: CFG:80681724 Buffer: 806800c8, 14f0 Sp=ffffc7cc %%%% DmaDllEntry Proc Attach: 0x1 %%%% DmaDllEntry Proc Detach: 0x0 BPC Modified File: uhcddrv.cpp. Modified File: ohcd.c. HcdPdd_Init: Checking SW18 - controls OHCI loading. 至少DmaDllEntry进去了,也没有Data Abort: Thread=819fc8c4 Proc=80688730 'device.exe' 的报错信息。 难道是wavedev.dll driver本身有问题?可是连 DllMain 都没进的话,是否还没关系到driver? 着急调出来呀,走得好慢...... |
|
论坛版主
|
8楼#
发布于:2005-07-26 16:28
HHAHAHHAHAH
现在越来越有风格了喔,叫啥子喃,都帮你看了一天了,好累了得嘛,肚子也饿了,你说该咋个办喃?? :)))) 你那个DLL编译的时候库弄对没有,是不是重定义了DLLMAIN了啊,总之,先确保DLLMAIN正确调到三,实在不行,你写个只有DLLMAIN的编译出来,在一点点望里加嘛,总会知道哪里出问题DI~~~。 |
|
9楼#
发布于:2005-07-26 16:31
是这样哦,大哥,DmaDllEntry 不止一个设备用到它,你看到有wave时在ohcd就起来,那是因为wave用到dma,不管有没有wave,ohcd起来之后都会再进DmaDllEntry。
下面是改进后的调试信息,把 Dma 的操作类型也打出来: 没有wave: **************************************************************** Windows CE Kernel for ARM (Thumb Enabled) Built on Mar 13 2003 at 22:52:56 ProcessorType=0411 Revision=4 sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 801415cc XSCDBG:Trace initialized: CFG:80681724 Buffer: 806800c8, 14f0 Sp=ffffc7cc BPC Modified File: uhcddrv.cpp. Modified File: ohcd.c. HcdPdd_Init: Checking SW18 - controls OHCI loading. OhcdPddInitializeAddresses: v_pDCIMReg: 00120000 = a4100000. OhcdPddInitializeAddresses: v_pDCIMReg: impmr 00000000. OhcdPddInitializeAddresses: v_pDCIMReg: impsr 00000000. OhcdPddInitializeAddresses: v_pDCIMReg:Mimpmr 000000bc. OhcdPddInitializeAddresses: v_pDCIMReg:Fimpmr 00000000. OhcdPddInitializeAddresses: testing access to OHCIDMABuffer a4030000 mapped to 00120000. OhcdPddInitializeAddresses: 00-0f: 60860458 20144601 22880029 63f03225 OhcdPddInitializeAddresses: 10-1f: 01486c10 0d3085e5 00b013e9 07a42208 OhcdPddInitializeAddresses:M00-0f: 000000bc 000000bd 000000be 000000bf OhcdPddInitializeAddresses:M10-1f: 000000c0 000000c1 000000c2 000000c3 OhcdPddInitializeAddresses: dwohciBPhy: old 5c030000. OhcdPddInitializeAddresses: dwohciBPhy: new 5c030000. OhcdPddInitializeAddresses: v_pDCCLKReg: 000f0000 = a5800000. OhcdPddInitializeAddresses: v_pDCGPIOReg: 00100000 = a5300000. OhcdPddInitializeAddresses: v_pOHCIDMABuffer: 00120000 = a4030000. OhcdPddInitializeAddresses: v_pDCUSBOHCIReg: 00110000 = a4200000. Irene -- In OEMInterruptEnable... INT EN SYSINTR_OHCI_PDD InitPddInterrupts RhPortStatus: 0x0. OHCI_Reset: Resetting Bulverde OHCI. OHCI_Reset: done. Irene -- In OEMInterruptEnable... INT EN SYSINTR_OHCI_MDD %%%% DmaDllEntry Process Attach -- processCount: 0x1 GDE_Init In = 602f1c8, 0... ##### GDE_Init In = 0, 0... Irene -- In OEMInterruptEnable... %%%% DmaDllEntry Thread Attach -- processCount: 0x2 %%%% DmaDllEntry Thread Attach -- processCount: 0x3 %%%% DmaDllEntry Thread Attach -- processCount: 0x4 %%%% DmaDllEntry Thread Attach -- processCount: 0x5 %%%% DmaDllEntry Thread Attach -- processCount: 0x6 XllpDmacInit success. GDE_Init Done... ##### GDE_Init Done.. %%%% DmaDllEntry Process Attach -- processCount: 0x1 Done getting Registry values: bpp: 0x10 CxScreen: 0xf0 CyScreen: 0x140 Display Type: LQ035Q7DB02 Found Descriptor: Address= fffd2068 Found Descriptor: Address= fffd2868 Display Driver Initialization Complete %%%% DmaDllEntry Thread Attach -- processCount: 0x7 &&&&&&&&&&&& Entering DdsiTouchPanelEnable() +Inside IPM Touch Init &&&&&&&&&&&& Entering InitAcLink &&&&&&&&&&&& In AC97CtrlConfigure... &&&&&&&&&&&& In XllpAc97Init... &&&&&&&&&&&& DdsiTouchPanelPowerHandler(0x0) &&&&&&&&&&&& In AC97CtrlConfigure... Irene -- In OEMInterruptEnable... Irene -- In OEMInterruptEnable for SYSINTR_TOUCH... Irene -- In OEMInterruptEnable... Irene -- In OEMInterruptEnable for SYSINTR_TOUCH_CHANGED... %%%% DmaDllEntry Thread Attach -- processCount: 0x2 %%%% DmaDllEntry Thread Attach -- processCount: 0x3 %%%% DmaDllEntry Thread Attach -- processCount: 0x4 %%%% DmaDllEntry Thread Attach -- processCount: 0x5 %%%% DmaDllEntry Thread Attach -- processCount: 0x6 %%%% DmaDllEntry Thread Attach -- processCount: 0x7 %%%% DmaDllEntry Thread Attach -- processCount: 0x8 %%%% DmaDllEntry Thread Detach -- processCount: 0x7 %%%% DmaDllEntry Thread Attach -- processCount: 0x8 %%%% DmaDllEntry Thread Attach -- processCount: 0x8 %%%% DmaDllEntry Thread Detach -- processCount: 0x7 %%%% DmaDllEntry Thread Attach -- processCount: 0x8 %%%% DmaDllEntry Thread Attach -- processCount: 0x9 有wave: **************************************************************** Windows CE Kernel for ARM (Thumb Enabled) Built on Mar 13 2003 at 22:52:56 ProcessorType=0411 Revision=4 sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 801415cc XSCDBG:Trace initialized: CFG:80681724 Buffer: 806800c8, 14f0 Sp=ffffc7cc %%%% DmaDllEntry Process Attach -- processCount: 0x1 Irene -- In OEMInterruptEnable... %%%% DmaDllEntry Thread Attach -- processCount: 0x2 %%%% DmaDllEntry Thread Attach -- processCount: 0x3 %%%% DmaDllEntry Thread Detach -- processCount: 0x2 %%%% DmaDllEntry Thread Attach -- processCount: 0x3 XllpDmacInit success. ########## In XllpDmacAllocChannel... pChannel:0x1,aChannelPriority:0x0 ########## In XllpDmacAllocChannel... pChannel:0x1,aChannelPriority:0x1 %%%% DmaDllEntry Thread Attach -- processCount: 0x4 %%%% DmaDllEntry Thread Attach -- processCount: 0x5 Data Abort: Thread=819fc8c4 Proc=80688730 'device.exe' AKY=00000005 PC=03ae5a8c RA=03ae58a0 BVA=06000020 FSR=00000007 %%%% DmaDllEntry Process Detach -- processCount: 0x4 BPC Modified File: uhcddrv.cpp. Modified File: ohcd.c. HcdPdd_Init: Checking SW18 - controls OHCI loading. OhcdPddInitializeAddresses: v_pDCIMReg: 00310000 = a4100000. OhcdPddInitializeAddresses: v_pDCIMReg: impmr 00000000. OhcdPddInitializeAddresses: v_pDCIMReg: impsr 00000000. OhcdPddInitializeAddresses: v_pDCIMReg:Mimpmr 000000bc. OhcdPddInitializeAddresses: v_pDCIMReg:Fimpmr 00000000. OhcdPddInitializeAddresses: testing access to OHCIDMABuffer a4030000 mapped to 00310000. OhcdPddInitializeAddresses: 00-0f: e0860459 20144601 a208002d 63f03201 OhcdPddInitializeAddresses: 10-1f: 01406c10 0d628da5 00b093e9 47a42200 OhcdPddInitializeAddresses:M00-0f: 000000bc 000000bd 000000be 000000bf OhcdPddInitializeAddresses:M10-1f: 000000c0 000000c1 000000c2 000000c3 OhcdPddInitializeAddresses: dwohciBPhy: old 5c030000. OhcdPddInitializeAddresses: dwohciBPhy: new 5c030000. OhcdPddInitializeAddresses: v_pDCCLKReg: 002e0000 = a5800000. OhcdPddInitializeAddresses: v_pDCGPIOReg: 002f0000 = a5300000. OhcdPddInitializeAddresses: v_pOHCIDMABuffer: 00310000 = a4030000. OhcdPddInitializeAddresses: v_pDCUSBOHCIReg: 00300000 = a4200000. Irene -- In OEMInterruptEnable... INT EN SYSINTR_OHCI_PDD InitPddInterrupts RhPortStatus: 0x0. OHCI_Reset: Resetting Bulverde OHCI. OHCI_Reset: done. Irene -- In OEMInterruptEnable... INT EN SYSINTR_OHCI_MDD %%%% DmaDllEntry Process Attach -- processCount: 0x1 GDE_Init In = 602f1c8, 0... ##### GDE_Init In = 0, 0... GDE_Init Done... ##### GDE_Init Done.. %%%% DmaDllEntry Thread Attach -- processCount: 0x2 %%%% DmaDllEntry Thread Attach -- processCount: 0x3 %%%% DmaDllEntry Thread Attach -- processCount: 0x4 %%%% DmaDllEntry Thread Attach -- processCount: 0x5 %%%% DmaDllEntry Process Attach -- processCount: 0x1 Done getting Registry values: bpp: 0x10 CxScreen: 0xf0 CyScreen: 0x140 Display Type: LQ035Q7DB02 Found Descriptor: Address= fffd2068 Found Descriptor: Address= fffd2868 Display Driver Initialization Complete &&&&&&&&&&&& Entering DdsiTouchPanelEnable() +Inside IPM Touch Init &&&&&&&&&&&& Entering InitAcLink %%%% DmaDllEntry Thread Attach -- processCount: 0x6 &&&&&&&&&&&& In AC97CtrlConfigure... &&&&&&&&&&&& In XllpAc97Init... &&&&&&&&&&&& DdsiTouchPanelPowerHandler(0x0) &&&&&&&&&&&& In AC97CtrlConfigure... Irene -- In OEMInterruptEnable... Irene -- In OEMInterruptEnable for SYSINTR_TOUCH... Irene -- In OEMInterruptEnable... Irene -- In OEMInterruptEnable for SYSINTR_TOUCH_CHANGED... %%%% DmaDllEntry Thread Attach -- processCount: 0x2 %%%% DmaDllEntry Thread Attach -- processCount: 0x3 %%%% DmaDllEntry Thread Attach -- processCount: 0x4 %%%% DmaDllEntry Thread Attach -- processCount: 0x5 %%%% DmaDllEntry Thread Attach -- processCount: 0x6 %%%% DmaDllEntry Thread Attach -- processCount: 0x7 %%%% DmaDllEntry Thread Attach -- processCount: 0x8 %%%% DmaDllEntry Thread Detach -- processCount: 0x7 %%%% DmaDllEntry Thread Attach -- processCount: 0x8 %%%% DmaDllEntry Thread Attach -- processCount: 0x7 %%%% DmaDllEntry Thread Detach -- processCount: 0x6 %%%% DmaDllEntry Thread Attach -- processCount: 0x7 %%%% DmaDllEntry Thread Attach -- processCount: 0x8 |
|
论坛版主
|
10楼#
发布于:2005-07-26 16:41
别试这个了,不是我推卸责任哈,你的DLLMAIN不能正确执行说明DLL编译本身有问题,你确定DLLENTRY=XXXX是对的喔?
你先做个空DLL,确保执行到DLLMAIN,然后往里加东西,直到出问题,GOOD LUCK~ |
|
11楼#
发布于:2005-07-26 16:53
呵呵,老大你在哪里喔,到上海来我请你到家里吃饭喔!
“你那个DLL编译的时候库弄对没有,是不是重定义了DLLMAIN了啊”,这个问题应该不存在,因为上层的driver我用的和以前我调好的平台是一模一样的,只是因为换了个AC97的声卡芯片,底层的driver会有些许改变,现在还没涉及到底层的driver,是不是?所以觉得奇怪,因为以前都调好过。 还有,现在的这个平台还在memory总线宽度上有不同,前面的帖子有提到。刚开始调试新平台的时候,OS porting 后起不来,有朋友提示说32位的SDRAM配16位的falsh要把SDRAM 和 Flash 的 base virtual address 互换一下,于是我在代码里做了这个操作,但后来的调试我感觉可能这个地址不会有这么大的影响, OS没跑起来可能是另有原因,由于涉及到其他已修改的代码,地址也就没再没改回来。不知这个是否跟目前遇到的这个问题有关?我也重新仔细查看了修改后的地址配置,bib配置,没有查出问题。 |
|
12楼#
发布于:2005-07-26 16:57
好啊,我再试试哦,多谢帮忙呀!
|
|
论坛版主
|
13楼#
发布于:2005-07-29 13:33
很不幸,我就在上海,你准备好饭,我明天就有时间!!!!
我不说了嘛,总线宽度的问题只要正确配置了片选信号总线宽度控制字段就可以了,你前面都跑得好好的,不会是这个问题。 还是按我说的,先做一个空DLL |
|
14楼#
发布于:2005-08-01 09:33
这两天家里有事没有上论坛看看,你现在还在上海吗?
我的Email你有收到吗?我再发个电话给你,如果你还在可以打电话联系,我请你吃饭哦。 我的问题解决了,其实根源还没有找到,只是又找了份wave的驱动,修改编译后就可以用了。前面DllMain其实也进去了,调试信息没有出来是因为头文件里做了屏蔽,可是寄存器访问走到最底层访问硬件就会报device.exe那个错,我还没有弄清楚到底为什么,有时间我会再去看,有结果了我会拿到这里分享。 我的Email:yyang_liu@hotmail.com,如果你没有收到我的mail,联系我呦。 |
|
论坛版主
|
15楼#
发布于:2005-08-01 16:53
:)
访问越界了吧,可能地址用错了。 |
|
16楼#
发布于:2005-08-01 18:23
地址没有错,操作的寄存器偏移地址都相同,基地址定义也没问题,只是底层操作接口有些不同,所以觉得奇怪。 地址越界我想情况就不止是模块报错了吧,可能系统都会死掉。另外,寄存器访问是通过AClink控制器,不是local bus那么单纯,操作还有点麻烦,以后查出原因再告诉大家吧。
还有啊,收到我Email了没有?给我回个信嘛。 |
|
论坛版主
|
17楼#
发布于:2005-08-02 12:50
呵呵,驱动访问越界KERNEL不会垮,ACLINK就那么麻烦啊,一般般三:)))不就是SPI而已嘛
收到了三,也回复了三,你没收到?你那个邮箱是什么NOBODY.....什么的,不对? |
|