16550 compatible Serial driver fails

P

parsh.xx

Hi all
I have been provided some part of the code for serial driver for my
BSP.So i have added the
rest of the code from the sample provided in public\common\oak\drivers
\serial and have built
the dll...............the dll loads successfully, and calls COM_Init
and then enters teh PDD section where it tries to intialise the
hardware............
But my problem is that it fails at the point where it has to read the
IOBase and IOLen values from the registry coz my registry doesnot have
those settings ........................
Can anyone tell me how to change the registry settings to inlude these
values....................

Have a look at my registry values:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial1]
"Irq"=dword:14 ; 20 IRQ_STUART
"SysIntr"=dword:34 ; 27 SYSINTR_SFUART
"MemBase"=dword:40700000
"MemLen"=dword:40
"Priority256"=dword:64
"Order"=dword:2
"Prefix"="COM"
"Index"=dword:1
"Dll"="com16550.dll"
;"Flags"=dword:4 ; DEVFLAGS_NAKEDENTRIES
"DeviceArrayIndex" = dword:1
"RegStride"=dword:4
"WaterMarker"=dword:0
"IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"



[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial2]
"Irq"=dword:14 ; 20 IRQ_STUART
"SysIntr"=dword:34 ; 27 SYSINTR_SFUART
"MemBase"=dword:40700000
"MemLen"=dword:40
"Priority256"=dword:64
"Order"=dword:0
"Prefix"="COM"
"Index"=dword:2
"Dll"="com16550.dll"
; "Flags"=dword:4 ; DEVFLAGS_NAKEDENTRIES
"DeviceArrayIndex" = dword:2
"RegStride"=dword:4
"WaterMarker"=dword:0
"IRConnected"=dword:1
"IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"
 
G

Guest

Platform.reg in your flat release directory (FRD) is what your looking for.
Override the current serial settings with these and run 'makeimg'.

If for some reason you don't have access to the FRD, then your going to have
to write your own app.

NOTE: I don't think memBase should be the same for both uarts.

Wes B [MSFT]
 
P

parsh.xx

Hi Wes
thanks for ur reply .....................
i am not writing an application rather i have to make chnages in the
existing code to work for serial driver and so i checked thses
registry settings which i found are somewhat incorrect.
I understand that the MemBase should not be the same for both the
uarts........................
Also i dont know what can be the IOBase and IOLen values or whree can
i get them.....................
regards
Parsh
Platform.reg in your flat release directory (FRD) is what your looking for.
Override the currentserialsettings with these and run 'makeimg'.

If for some reason you don't have access to the FRD, then your going to have
to write your own app.

NOTE: I don't think memBase should be the same for both uarts.

Wes B [MSFT]



Hi all
I have been provided some part of the code forserialdriverfor my
BSP.So i have added the
rest of the code from the sample provided in public\common\oak\drivers
\serialand have built
the dll...............the dll loads successfully, and calls COM_Init
and then enters teh PDD section where it tries to intialise the
hardware............
But my problem is that it fails at the point where it has to read the
IOBase and IOLen values from the registry coz my registry doesnot have
those settings ........................
Can anyone tell me how to change the registry settings to inlude these
values....................
Have a look at my registry values:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial1]
"Irq"=dword:14 ; 20 IRQ_STUART
"SysIntr"=dword:34 ; 27 SYSINTR_SFUART
"MemBase"=dword:40700000
"MemLen"=dword:40
"Priority256"=dword:64
"Order"=dword:2
"Prefix"="COM"
"Index"=dword:1
"Dll"="com16550.dll"
;"Flags"=dword:4 ; DEVFLAGS_NAKEDENTRIES
"DeviceArrayIndex" = dword:1
"RegStride"=dword:4
"WaterMarker"=dword:0
"IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial2]
"Irq"=dword:14 ; 20 IRQ_STUART
"SysIntr"=dword:34 ; 27 SYSINTR_SFUART
"MemBase"=dword:40700000
"MemLen"=dword:40
"Priority256"=dword:64
"Order"=dword:0
"Prefix"="COM"
"Index"=dword:2
"Dll"="com16550.dll"
; "Flags"=dword:4 ; DEVFLAGS_NAKEDENTRIES
"DeviceArrayIndex" = dword:2
"RegStride"=dword:4
"WaterMarker"=dword:0
"IRConnected"=dword:1
"IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"- Hide quoted text -

- Show quoted text -
 
P

Paul G. Tobey [eMVP]

It's not clear to me why you're asking in the .NET Compact Framework
newsgroup and not the Platform Builder newsgroup, but anyway...

I don't see the point of setting a MemoryBase value in the registry for the
serial driver. Are you sure that the right thing to do isn't to set the
IoBase to the correct base address for the serial port hardware on your
device and the IoLen registry value to the number of bytes decoded by the
serial port hardware on your device? That certainly is how I would set
things up.

I *SERIOUSLY* doubt that the MemBase, even if that *does* happen to be the
right entry would be the same for two serial ports on the device. How would
that work?

You told us nothing at all useful about your device, so you've made it very
difficult for us to provide more than guesses and speculation in response to
your request. What OS version? What hardware? What processor, for
goodness sake? What serial driver *are* you using? What serial port
hardware is it supposed to work with?

Paul T.

Hi Wes
thanks for ur reply .....................
i am not writing an application rather i have to make chnages in the
existing code to work for serial driver and so i checked thses
registry settings which i found are somewhat incorrect.
I understand that the MemBase should not be the same for both the
uarts........................
Also i dont know what can be the IOBase and IOLen values or whree can
i get them.....................
regards
Parsh
Platform.reg in your flat release directory (FRD) is what your looking
for.
Override the currentserialsettings with these and run 'makeimg'.

If for some reason you don't have access to the FRD, then your going to
have
to write your own app.

NOTE: I don't think memBase should be the same for both uarts.

Wes B [MSFT]



Hi all
I have been provided some part of the code forserialdriverfor my
BSP.So i have added the
rest of the code from the sample provided in public\common\oak\drivers
\serialand have built
the dll...............the dll loads successfully, and calls COM_Init
and then enters teh PDD section where it tries to intialise the
hardware............
But my problem is that it fails at the point where it has to read the
IOBase and IOLen values from the registry coz my registry doesnot have
those settings ........................
Can anyone tell me how to change the registry settings to inlude these
values....................
Have a look at my registry values:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial1]
"Irq"=dword:14 ; 20 IRQ_STUART
"SysIntr"=dword:34 ; 27 SYSINTR_SFUART
"MemBase"=dword:40700000
"MemLen"=dword:40
"Priority256"=dword:64
"Order"=dword:2
"Prefix"="COM"
"Index"=dword:1
"Dll"="com16550.dll"
;"Flags"=dword:4 ; DEVFLAGS_NAKEDENTRIES
"DeviceArrayIndex" = dword:1
"RegStride"=dword:4
"WaterMarker"=dword:0
"IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial2]
"Irq"=dword:14 ; 20 IRQ_STUART
"SysIntr"=dword:34 ; 27 SYSINTR_SFUART
"MemBase"=dword:40700000
"MemLen"=dword:40
"Priority256"=dword:64
"Order"=dword:0
"Prefix"="COM"
"Index"=dword:2
"Dll"="com16550.dll"
; "Flags"=dword:4 ; DEVFLAGS_NAKEDENTRIES
"DeviceArrayIndex" = dword:2
"RegStride"=dword:4
"WaterMarker"=dword:0
"IRConnected"=dword:1
"IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"- Hide quoted
text -

- Show quoted text -
 
Top