PCI kartya interrupt
Kovács András
andras at sdktech.com
Fri Aug 8 15:33:12 CEST 2003
Koszi a valaszt, szerencsere azota megoldodott, vagy legalabbis egy
masik feladvany lett belole. Roviden: van ket kartya, lenyegileg
egyformak. Mindketton van egy led az 5V es a PCI INTA# laba kozott. Az
egyiken, ha megszakitast kerek vilagit folyamatosan, de nem hivja meg a
rutint, a masikon csak egy pillanatra kicsit erosebben vilagit es
meghivja. Eddig csak az elsovel probaltuk a keszulo drivert es mar ket
napja semmi otletunk nem volt ra, nem gyanakodtunk a HW-re (csak a
software-es kollega), vegul kiprobaltuk a masik kartyaval es mukodik.
Udv!
Andras
-----Original Message-----
From: elektro-bounces at tesla.hu [mailto:elektro-bounces at tesla.hu] On
Behalf Of tiszaii
Sent: Thursday, August 07, 2003 4:44 PM
To: elektro at tesla.hu
Subject: RE:PCI kartya interrupt
>
>
>Sikerult mar valakinek sajat keszitesu PCI kartya altal interruptot
>kivaltani es kezelni windows alatt? Illetve nem kell, hogy sajat
>keszitesu legyen, a hw valszeg jo, a kezeles nem megy.
>
Kicsit zavaros a kérdésed, de megpróbálok válaszolni rá.
Eddig NT-re és Win2000-re irtam drivet, a Win2000/
XP/Win98-ban a WDM DDK rendszert használjuk, itt fel
kell ismerni az OS pnp-jének a kártyádat, ehhez
fel kell installálnod egy általad készitett inf kiterjesztésű text
fájllal, meg irnod kell egy betöltő pnp source driver részt. Utána, ha
elinditod a pc-t, a control panel/system/hardver-ek között látod a
kártyádat, akkor oké minden: a driver device inditó pnp részénél az
IoGetCurrentIrpStackLocation(Irp)->MinorFunction==
IRP_MN_START_DEVICE-nél beágyazod a hardvered PCI interfacét a rendszer
logikai/virtuális
memóriájába a
IrpStack->Parameters.StartDevice.AllocatedResourcesTranslated
segitségével, itt
van egy type dolog, amivel megállapithatod, hogy az OS io-nak,
memóriának, interrupt
résznek, dma résznek látja a hardvered bizonyos részeit, ezt nem irom
le, ehhez ott van a DDK helpje, majd io-t:MmUnmapIoSpace(..)-el, az
interruptot:
IoConnectInterrupt(...) fg., benne a az interrupt callback ISR, amit
meghiv az OS, ha
a kártya INT-et ad, persze a kártya regisztereit is be kell állitani,
kell csinálni egy DPC rendszert is, aminek átadja az ISP a feldolgozást,
tehát az ISP-ból
rögtön kilép, az ISP IRQ a legmagasabb, és egy DPC Dispatch IRQ szinten
feldolgozza, igy
igy nincsen int feltorlódás.Stb.
Tehát kell a DDK help, a DDK-ban van minta is, ha nincs akkor keress az
interneten.
üdv
TI
---------------------------------------
Legyszi ezentul az elektro at tesla.hu
cimre kuldd a leveleket
More information about the Elektro
mailing list