Direkte Speicheradressierung unter Proteced Mode?

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From German to

Threaded View
Hallo,

ich bin gerade am verzweifeln. Ich versuche den Speicher einer
Einsteckkarte direkt zu adressieren. (Borland 4.5, Dos Extender)

int *Steckkarte;
Steckkarte=(int *)0x000d0000;
*Steckkarte=0x33;

Beim Speicherzuweisen schmeisst mich der Extender mit der Meldung "The
instruction referenced illegal adress 000d0000" raus.

Hat jemand schon mal sowas gelöst?

danke im voraus
     Werner



Re: Direkte Speicheradressierung unter Proteced Mode?
Hallo Werner,


Quoted text here. Click to load it

Verraetst Du uns noch das Betriebssystem? Unter Win2k aufwaerts vergiss
den direkten IO-Zugriff.

Gruss, Kurt



Re: Direkte Speicheradressierung unter Proteced Mode?
gmbh.com says...

Hallo,

das hatte ich vergessen. Ich arbeite noch unter DOS:-) Das Problem habe
ich über die beigelegten Beispiele aber gelöst. (DPMI Aufrufe)

danke
    Werner

Quoted text here. Click to load it

Re: Direkte Speicheradressierung unter Proteced Mode?


Quoted text here. Click to load it

Das ist normal im PM und sollte auch so sein, sonst waere
das Schutzkonzept fuer die Katz.

Es ist lange her und ich habe vornehmlich mit WATOM und
Rationals 4GW Extender gearbeitet. In der Regel musst Du
Dir fuer den physischen Speicherbereich (Adresse, Laenge)
ein Fenster zuweisen lassen.

Das kann je nach Hardwarekompatibelitaet beim 286er ein
Farpointer fuer ein Segment sein und ab 386er ein 32 Bit
near pointer wenn paging verwendet wird.
Beachte dabei, dass im Segmentierungsfall Deine Adresse
u.U. 4-Byte aligned sein muss und im Pagingfall auf jeden
Fall 4096-Byte aligned sein muss.

Ich denke mal Borland hat da aehnliches.
Aufmerksam Doku lesen, ich bin mir sicher, dass ich das
bei BC auch schon gesehen habe.

Gruesse,
Christian

PS: Wie der Vorposter schon erwaehnt kann Dir das OS natuerlich
auch nen Strich durch die Rechnung machen. Aber ich gehe auf
Grund von "DOS Extender" mal von DOS aus.

Re: Direkte Speicheradressierung unter Proteced Mode?
On Mon, 14 Jul 2003 16:46:01 +0200, Christian Kahlo

Quoted text here. Click to load it

Bei Win muß man einen Treiber schreiben. Hab ich noch nicht gemacht,
aber wenn mir jemand einen netten Link auf was brauchbares postet, immer
her damit.

Grüße, Holger


Re: Direkte Speicheradressierung unter Proteced Mode?
snipped-for-privacy@gmx.de (Holger Bruns) wrote in message

Quoted text here. Click to load it
Ob's brauchbar ist, kann ich nicht beurteilen. Ich hab mir mal vor
einiger Zeit von "http://www.driverlinx.com /" die Port IO Treiber
geladen, aber bis heute noch nicht ausprobiert.

Mein Programm läuft unter DOS (Win9x) und Linux ohne spezielle
Treiber, was mir im Augenblick völlig reicht. Unter Linux muß man als
Superuser angemeldet sein und vor dem Portzugriff mit einem
ioperm-Aufruf den Port freigeben. Klappt sehr gut.

Michael

Re: Direkte Speicheradressierung unter Proteced Mode?
On 15 Jul 2003 04:52:22 -0700, snipped-for-privacy@yahoo.com
 
Quoted text here. Click to load it

Da werd ich auch nicht so ohne weiteres schlau draus. Ist eher was für
den beinharten C-Programmierer, nicht für solche Pascal-Flaschen wie
mich.

Quoted text here. Click to load it

Du greifst unter Windows 98 ohne Wimpernzucken auf die Ports zu? Das
hätte ja was ... nicht ganz sauber, aber ...

Viele Grüße, Holger


Re: Direkte Speicheradressierung unter Proteced Mode?
Quoted text here. Click to load it

Genauso sauber wie unter DOS, nur daß Windows mit seinen eigenen
Treibern dazwischenfunken könnte. Man darf halt nicht gleichzeitig
versuchen, über diesen Port zu drucken. Weder in Win9x noch in
XT/2K/XP ist der direkte Zugriff sauber gelöst. Win9x schert sich
überhaupt nicht darum, was ein Programm macht und die anderen Systeme
verbieten einfach alles (ohne speziellen Treiber). Unter Linux
reserviert man sich die I/O Adressen, sichert sich so den exklusiven
Zugriff und legt los, was ich für deutlich besser halte (ich hoffe,
daß ich mit diesem Statement keinen Glaubenskrieg Win/Linux lostrete).

Michael

Site Timeline