PCI-Karte schreiben und lesen

Hardware- und Elektronikbasteleien, Ansteuerung von Schnittstellen und Peripherie.
Fragen zu "Consumer"-Problemen kommen in Offtopic.
gbalzarek
Beiträge: 38
Registriert: 06.07.2006 22:18
Wohnort: D-Südwest

PCI-Karte schreiben und lesen

Beitrag von gbalzarek »

Hallo,

ich habe eine PCI-Karte für die ich eine PB-Software zur Ansteuerung geschrieben habe.
Das funktionierte bisher immer anstandslos (PB5.44, winXP und Win7 32-Bit).

Jetzt habe ich einen Rechner, der eine Fehlermeldung liefert: Invalid memory access (read error at address 0)

Ich habe da Versuche gemacht. Im einen Rechner funktioniert alles, im anderen kommt der Fehler.
So einen Effekt hatte ich früher zu DOS-Zeiten auch schon mal. Da lag es daran, dass neue Rechner plötzlich eine andere PCI-Bus-Nummer nutzten. Das habe ich hier jetzt mal geprüft und es ist so, dass in dem Rechner in dem alles funktioniert PCI-Bus 0 benutzt wird, in dem anderen, in dem es nicht funktioniert, wird PCI-Bus 1 benutzt.
Leider habe ich keinen Zugriff auf den Sourcecode des sys-Treibers.
Die aktuelle PB-Version habe ich auch getestet, da gibt es keine Änderung.

Hat hier jemand dieses Problem schon mal gelöst und kann mir Tipps geben?

Hier im Forum gibt es einen anderen Thread (PCI-Bus suchen), der wohl ein ähnliches Problem behandelt. Das will ich die Tage mal checken.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: PCI-Karte schreiben und lesen

Beitrag von NicTheQuick »

Das sind viel zu wenige Informationen um damit etwas anfangen zu können. Ich wüsste nicht mal, was ich jetzt googeln könnte um die helfen zu können.

Geht's etwas genauer?
Bild
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: PCI-Karte schreiben und lesen

Beitrag von DarkDragon »

Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
gbalzarek
Beiträge: 38
Registriert: 06.07.2006 22:18
Wohnort: D-Südwest

Re: PCI-Karte schreiben und lesen

Beitrag von gbalzarek »

Ja, das Thema ist komplex.

Ich bekomme die Basisadresse eines IO-Bereichs auf der PCI-Karte aus der Registry. Dort ist die Karte eingetragen. Die Daten schreibe und lese ich mit Funktionen, die sich in einer DLL befinden, sowas wie z.B. antwort=init(basisadresse).

Mein Verdacht hinsichtlich des DOS-Programms hat sich nicht bestätigt. Die korrigierte Version liefert die richtige Basisadresse und damit ist die Karte ansteuerbar. Das habe ich auf dem "Problemrechner" getestet.

Somit scheint der sys-Treiber die Wurzel des Übels zu sein, denn mein PB-Programm ist korrekt, meine DLL ist korrekt, meine DOS-Software auch.

Die Programmroutine aus dem anderen Thread werde ich auch noch testen, obwohl ich nicht glaube, dass das den Fehler behebt.
Antworten