Prev: Calling CreateFile / DeviceIOControl from a limited user accou
Next: Issue with IoGetDeviceInterfaces()
From: Jeff Henkels on 14 Mar 2007 08:03 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 14 Mar 2007 08:10 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 14 Mar 2007 08:13 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 21 Mar 2007 01:56 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 26 Mar 2007 07:22 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: >
First
|
Prev
|
Next
|
Last
Pages: 1 2 3 Prev: Calling CreateFile / DeviceIOControl from a limited user accou Next: Issue with IoGetDeviceInterfaces() |