Penmount DMC9000 not working

S

Stefan

Hi all,



I have a device with a custom built CE 6.0 R3 and everything is working

fine, except the dmc9000.dll for the touch screen which does not work.

If I put it in the MODULES section of the bib it complains about

requiring a K-FLAG, but with K-flag it doesn't work. I then put it under

the FILES section and it still does not work.



The dmc9000 is built onto the motherboard and it also has 2 com ports.

The dmc9000 is set to use COM2 (as it does on the working CE 5.0). The

debug info I have is: (when running it under MODULES without K-flag)



4294783942 PID:400002 TID:c50002 DEVICE!RegReadActivationValues

RegQueryValueEx(Drivers\BuiltIn\Dmc9x00\BusPrefix) returned 2

4294783943 PID:400002 TID:c50002 !!!ERROR! Trying to load DLL

'dmc9000.dll' fixed-up to user address into Kernel.

4294783943 PID:400002 TID:c50002 !!!ERROR! MUST SPECIFY 'K' FLAG BIB

FILE.

4294783943 PID:400002 TID:c50002 DEVICE!CreateDevice: couldn't load

'dmc9000.dll' -- error 193

4294783943 PID:400002 TID:c50002 CreateDevice: creation of type 'SRM',

index 8, lib 'dmc9000.dll' returning 0x00000000, error code 2

4294783943 PID:400002 TID:c50002 DEVICE!I_ActivateDeviceEx: couldn't

activate: prefix SRM, index 8, dll dmc9000.dll, context 0xd02be5dc

4294783944 PID:400002 TID:c50002 DeviceFolder::LoadDevice(Drivers

\BuiltIn\Dmc9x00) last 2 Ticks

4294783944 PID:400002 TID:c50002 DEVICE!RegReadActivationValues

RegQueryValueEx(Drivers\BuiltIn\credsvc\BusPrefix) returned 2





If I put it under modules section it looks like this: (but it doe

nothing)

4294783863 PID:400002 TID:c50002 DEVICE!RegReadActivationValues

RegQueryValueEx(Drivers\BuiltIn\Dmc9x00\BusPrefix) returned 2

4294783877 PID:1920006 TID:c50002 COM_Close: (0 handles) total RX 0,

total TX 0, dropped (mdd, pdd) 0,0

4294783878 PID:10d0006 TID:cc0002 [NOTIFY] HandleSystemEvent 7 /ADD

WAM1:

4294783879 PID:10d0006 TID:cc0002 [NOTIFY] HandleSystemEvent 7 /ADD

SIP0:

4294784379 PID:400002 TID:c50002 firmware version=00 00 00

4294784379 PID:400002 TID:c50002 EnableEEPROM=1,SupportEEPROM=0

4294784379 PID:400002 TID:c50002 w=0 h=0, 0 0 0 0

4294784379 PID:400002 TID:c50002 DeviceFolder::LoadDevice(Drivers

\BuiltIn\Dmc9x00) last 516 Ticks

4294784380 PID:400002 TID:c50002 DEVICE!RegReadActivationValues

RegQueryValueEx(Drivers\BuiltIn\credsvc\BusPrefix) returned 2

4294784777 PID:112000a TID:113000a udevice.exe $udevice_1003
 
R

Rik Attrill

Hi Stefan,



To summarise, you have a CE driver that only loads if you put it in

the MODULES section of your bib file, and with the 'K' flag (fixed up

for the Kernel).



I would therefore advise that you do keep the entry in the MODULES

section of your bib file, and keep the 'K' flag enabled! This kind of

setup is fairly normal for a driver (unless you are specifically

interested in making it a user mode driver). MSDN has some good

information about the differences between the FILES and MODULES

section of your platform.bib file:

http://msdn.microsoft.com/en-us/library/ms923591.aspx

http://msdn.microsoft.com/en-us/library/aa448440.aspx



Anyway, from the output you've provided, it's hard to know

specifically why the driver doesn't work. Is this is a driver you've

produced yourself, or integrated into your BSP? Do you have full

source code for it? If it operates over a serial port, you could try

using a serial analyser (or even a logic analyser or a scope) to see

if any data appears on the serial port. Presumably, you've configured

the serial port driver to load for the port required for this device?

And have you tested the serial driver independently to check that it

works?



My first advice would be to enable all the debug output for the

touchscreen controller and serial driver, and/or to try and debug the

driver using KITL, if this is an option for your platform.



best regards,

Rik A
 
V

Valter Minute [eMVP]

On 2/12/2010 5:39 PM, Stefan wrote:

> Hi all,

>

> I have a device with a custom built CE 6.0 R3 and everything is working

> fine, except the dmc9000.dll for the touch screen which does not work.

> If I put it in the MODULES section of the bib it complains about

> requiring a K-FLAG, but with K-flag it doesn't work. I then put it under

> the FILES section and it still does not work.




As Rik correctly pointed out, the driver should be left inside the

MODULES section with the K flag enabled.

It may need some additional configuration trough the registry to work

(memory address where the chip registers are mapped, IRQ etc.) and if

you did not provide them the driver may be loaded and immediately unloaded.



--

Valter Minute (eMVP)

Training, support and development for Windows CE:

www.fortechembeddedlabs.it

My embedded programming and cooking blog:

www.geekswithblogs.net/WindowsEmbeddedCookbook

Windows Embedded support forums in Italian:

http://social.msdn.microsoft.com/Forums/it-IT/windowsembeddedit/threads

(the reply address of this message is invalid)
 

Similar threads

Back
Top Bottom