From: Jeff Henkels on
Assuming you're using a news reader, try refreshing your newsgroup list --
that worked for me.

"Martin" <Martin(a)discussions.microsoft.com> wrote in message
news:2C178DE2-5B1A-473E-8B7C-550FCB96D2D9(a)microsoft.com...
> Hi GV,
> Thank you for your reply.
>
> But I can't find the news group
> microsoft.public.development.device.drivers.dtm.
> Could you give me a link for that?


From: 91smile on
Hi,Martin

First of all, I apologized for my precipitance.
Please allow me to ask you a question which is irrelated to this
post.
--------------------------------------------

I found your post in
http://groups.google.com/group/microsoft.public.windowsce.platbuilder/browse_thread/thread/420dd6c26470188c/991b3d22ffebe6c1?lnk=gst&q=com16550.dll&rnum=6&hl=zh-CN#

you said that I have ported the 16550 driver from MS to my ARM9
Platform (Mutiple UART EXAR 16C554) and it works fine.

I am doing the same work,but I have some problems.
===================================
I have a arm development baord(s3c2410 + wince5.0) with a ST16C550.
nGCS1 is connected to ST16C550's CS2 pin.EINT13 is connected to
ST16C550's INT pin.

I had did the following works:
1) nGCS1 is bank1,It's physical address is 0x0800_0000 . I found "DCD
0x82000000, 0x08000000, 32 ; 32 MB SROM(SRAM/ROM) BANK 1" in the
map.a(PLATFORM\SMDK2410\KERNEL\HAL\ARM\map.a),so I write
"IoBase"=dword:82000000 ; in platform.reg(this is virtual address
after mmu,is that right?)
2) I added following code in cfw.c(platform\smdk2410\kernel\hal
\cfw.c)
2.1)in OEMInterruptEnable function:
case SYSINTR_16550:
s2410IOP->rEINTPEND = (1<<13);
s2410IOP->rEINTMASK &= ~(1<<13);
s2410INT->rSRCPND = BIT_EINT8_23;
if (s2410INT->rINTPND & BIT_EINT8_23) s2410INT-


>rINTPND = BIT_EINT8_23;


s2410INT->rINTMSK &= ~BIT_EINT8_23;
RETAILMSG(1,(TEXT("::: SYSINTR_COM4
OEMInterruptEnable\r\n")));
break;
2.2)in OEMInterruptDisable function£º
case SYSINTR_16550:
s2410INT->rINTMSK |= BIT_EINT8_23;
s2410INT->rINTSUBMSK |= (1<<13);
break;
2.3)in OEMInterruptDone function£º
case SYSINTR_16550:
s2410INT->rINTMSK &= ~BIT_EINT8_23;
s2410IOP->rEINTMASK &= ~(1<<13);
break;
3) I added the following code in arminit.c
in OEMInterruptHandler function:
else if (IntPendVal == INTSRC_EINT8_23) // EINT8 ~ 23
{
// ...............
if ( submask & (1 << 13))
{
s2410IOP->rEINTMASK |= 0x2000;
s2410IOP->rEINTPEND = 0x2000;

s2410INT->rSRCPND = BIT_EINT8_23;
if (s2410INT->rINTPND & BIT_EINT8_23)
s2410INT-



>rINTPND = BIT_EINT8_23;


RETAILMSG(1, (TEXT("INT:SYSINTR_16550
INT..........\r\n")));
return SYSINTR_16550;
}
// ...................
}
4) I add the code "#define SYSINTR_16550 (SYSINTR_FIRMWARE+20)" in
PLATFORM\SMDK2410\inc\oalintr.h
5)the code in platform.reg:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SERIAL4]
"DeviceArrayIndex" = dword:3
"SysIntr"=dword:24 ;SYSINTR_FIRMWARE+20 = 16 +20 = 36 =0x24
"Irq"=dword:14 ;20 = 0x14
;"MemBase" = dword:08000000
"IoBase" = dword:08000000
;"MemLen" = dword:10
"IoLen" = dword:2C
"Prefix"="COM"
"Dll" = "Com16550.Dll"
"Order"=dword:0
"Index"=dword:4
"Priority"=dword:0
"Port"="COM4:"
"Tsp"="Unimodem.dll"
"DeviceType"=dword:0
"FriendlyName"="Serial Cable on COM4:"
"DeviceConfig"=hex:10,00, 00,00, 05,00,00,00, 10,01,00,00, 00,4B,
00,00,00,00,08,00,00,00,00,00,00
"IsrDll" = "isr16550.dll"
"IsrHandler" = "ISRHandler"


;[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial4\Unimodem]
; "Tsp"="Unimodem.dll"
; "DeviceType"=dword:0
; "FriendlyName"="Serial Cable on COM4:"
; "DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 10,01,00,00, 00,4B,
00,00, 00,00, 08, 00, 00, 00,00,00,00

============================
I build the nk.nb0 and download it to board. and , see the COM4 in
<ACTIVE> key.

But when I send data,the program hangs after WriteFile function.The
dwBytesWritten is 0.

When I read data from com4,the return value of ReadFile is 1,but
dwLength is 0.


Sorry for my poor English.


Pls help me .

1/ Are these settings in flatform.reg ,such as,

"IoBase" = dword:08000000 ;or mmu virtual address dword:82000000 ??


right?

Maybe you can show me your code in platform.reg about these settings?



2/ Anythings that I missed or mistaked?

Thans a lot^_^

You can reply after my post or maybe you can give me a email.
My email: 91smile(a)163.com



From: 91smile on
Hi,Martin

First of all, I apologized for my precipitance.
Please allow me to ask you a question which is irrelated to this
post.
--------------------------------------------

I found your post in
http://groups.google.com/group/microsoft.public.windowsce.platbuilder/browse_thread/thread/420dd6c26470188c/991b3d22ffebe6c1?lnk=gst&q=com16550.dll&rnum=6&hl=zh-CN#

you said that I have ported the 16550 driver from MS to my ARM9
Platform (Mutiple UART EXAR 16C554) and it works fine.

I am doing the same work,but I have some problems.
===================================
I have a arm development baord(s3c2410 + wince5.0) with a ST16C550.
nGCS1 is connected to ST16C550's CS2 pin.EINT13 is connected to
ST16C550's INT pin.

I had did the following works:
1) nGCS1 is bank1,It's physical address is 0x0800_0000 . I found "DCD
0x82000000, 0x08000000, 32 ; 32 MB SROM(SRAM/ROM) BANK 1" in the
map.a(PLATFORM\SMDK2410\KERNEL\HAL\ARM\map.a),so I write
"IoBase"=dword:82000000 ; in platform.reg(this is virtual address
after mmu,is that right?)
2) I added following code in cfw.c(platform\smdk2410\kernel\hal
\cfw.c)
2.1)in OEMInterruptEnable function:
case SYSINTR_16550:
s2410IOP->rEINTPEND = (1<<13);
s2410IOP->rEINTMASK &= ~(1<<13);
s2410INT->rSRCPND = BIT_EINT8_23;
if (s2410INT->rINTPND & BIT_EINT8_23) s2410INT-


>rINTPND = BIT_EINT8_23;


s2410INT->rINTMSK &= ~BIT_EINT8_23;
RETAILMSG(1,(TEXT("::: SYSINTR_COM4
OEMInterruptEnable\r\n")));
break;
2.2)in OEMInterruptDisable function£º
case SYSINTR_16550:
s2410INT->rINTMSK |= BIT_EINT8_23;
s2410INT->rINTSUBMSK |= (1<<13);
break;
2.3)in OEMInterruptDone function£º
case SYSINTR_16550:
s2410INT->rINTMSK &= ~BIT_EINT8_23;
s2410IOP->rEINTMASK &= ~(1<<13);
break;
3) I added the following code in arminit.c
in OEMInterruptHandler function:
else if (IntPendVal == INTSRC_EINT8_23) // EINT8 ~ 23
{
// ...............
if ( submask & (1 << 13))
{
s2410IOP->rEINTMASK |= 0x2000;
s2410IOP->rEINTPEND = 0x2000;

s2410INT->rSRCPND = BIT_EINT8_23;
if (s2410INT->rINTPND & BIT_EINT8_23)
s2410INT-



>rINTPND = BIT_EINT8_23;


RETAILMSG(1, (TEXT("INT:SYSINTR_16550
INT..........\r\n")));
return SYSINTR_16550;
}
// ...................
}
4) I add the code "#define SYSINTR_16550 (SYSINTR_FIRMWARE+20)" in
PLATFORM\SMDK2410\inc\oalintr.h
5)the code in platform.reg:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SERIAL4]
"DeviceArrayIndex" = dword:3
"SysIntr"=dword:24 ;SYSINTR_FIRMWARE+20 = 16 +20 = 36 =0x24
"Irq"=dword:14 ;20 = 0x14
;"MemBase" = dword:08000000
"IoBase" = dword:08000000
;"MemLen" = dword:10
"IoLen" = dword:2C
"Prefix"="COM"
"Dll" = "Com16550.Dll"
"Order"=dword:0
"Index"=dword:4
"Priority"=dword:0
"Port"="COM4:"
"Tsp"="Unimodem.dll"
"DeviceType"=dword:0
"FriendlyName"="Serial Cable on COM4:"
"DeviceConfig"=hex:10,00, 00,00, 05,00,00,00, 10,01,00,00, 00,4B,
00,00,00,00,08,00,00,00,00,00,00
"IsrDll" = "isr16550.dll"
"IsrHandler" = "ISRHandler"


;[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial4\Unimodem]
; "Tsp"="Unimodem.dll"
; "DeviceType"=dword:0
; "FriendlyName"="Serial Cable on COM4:"
; "DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 10,01,00,00, 00,4B,
00,00, 00,00, 08, 00, 00, 00,00,00,00

============================
I build the nk.nb0 and download it to board. and , see the COM4 in
<ACTIVE> key.

But when I send data,the program hangs after WriteFile function.The
dwBytesWritten is 0.

When I read data from com4,the return value of ReadFile is 1,but
dwLength is 0.


Sorry for my poor English.


Pls help me .

1/ Are these settings in flatform.reg ,such as,

"IoBase" = dword:08000000 ;or mmu virtual address dword:82000000 ??


right?

Maybe you can show me your code in platform.reg about these settings?



2/ Anythings that I missed or mistaked?

Thans a lot^_^

You can reply after my post or maybe you can give me a email.
My email: 91smile(a)163.com

From: Catherine on
Hi Colin:
We just have one TV Tuner card which to receive Digital TV through USB, and
the driver is BDA driver. What is 'non-BDA tuner card' exactly?
BTW, I have download the latest WDK pakage and installed the DTM again, but
not any TV Tuner cases offered nither?

"Colin H" wrote:

> Yes it is an acknowledged bug (to be fixed in next release of DTM). The
> workaround is to also have a non-BDA tuner card present in the system - I
> use an old Pinnacle PC-TV PCI card.
> Note also that the Tuner tests are not required (i.e. won't be offered) on
> XP.
>
> "Martin" <Martin(a)discussions.microsoft.com> wrote in message
> news:982BCCD3-C1E3-443A-9D43-B77B32108A1B(a)microsoft.com...
> > Hi everyone,
> > I develop the driver for a USB Digital TV Tuner Card. I exactly followed
> > the
> > instruction of DTM to do the test on Vista. But after creating the
> > submission, I found I am not "offered" the TV Tuner Test and the USB Test.
> >
> > But if I select "View By Driver" in Device Console and select my device
> > in
> > the list, the right tests disappear.
> >
> > Is this a bug for DTM? And anybody knows how to deal with this? I am
> > appreciated to your reply.
>
>
>
From: Colin H on
In addition to the (digital) TV tuner you are trying to test, you need
another tuner card e.g. an old analogue tuner. I don't have full details on
the bug, but as I understand it, it has to be a driver which does not use
BDA interfaces i.e. one with a proprietary API - then DTM will find the card
you *do* want to test! As I said, I use an old (approx 3-4 yrs) Pinnacle PCI
card, and that corrects the problem.
There is no fix available yet for this bug - I'm told there will be a new
version of DTM soon which its claimed will fix it.

Colin

"Catherine" <Catherine(a)discussions.microsoft.com> wrote in message
news:5BBD0AA6-ABA3-42D9-91CB-0B9355785801(a)microsoft.com...
> Hi Colin:
> We just have one TV Tuner card which to receive Digital TV through USB,
> and
> the driver is BDA driver. What is 'non-BDA tuner card' exactly?
> BTW, I have download the latest WDK pakage and installed the DTM again,
> but
> not any TV Tuner cases offered nither?
>
> "Colin H" wrote:
>