Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Zugriff auf Hardware Speicher

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
14.05.2011, 15:08 Uhr
Marder



Hallo,

ich möchte gerne von C/C++ Code aus Auf Speicher zugreifen der in einem Treiber festgelegt ist.

Es handelt sich hierbei um eine PCI-Karte die auf das Dual-Port Memory eines Microcontrollers zugreift.

Es gibt ein Programm (exe) womit ich auf diesen Speicher zugreifen kann
AcmeView welches man hier finden kann:

www.softlookup.com/display.asp?id=7087
Die Hersteller seite gibt es nicht mehr wirklich und Sourcen schon garnicht.
Das Programm ist ein allgemeiner "Speicher-Viewer"

Hier ein Bild aus meinem Gerätemanager der die Adresse 0xF0200000 als startadresse Angibt: (der Andere Adressbereich funzt net)
http://imageshack.us/f/708/nxpcidriver.png/


Hier ein Bild von AcmeView mit dem ich diesen Bereich auslesen kann:

http://imageshack.us/f/822/acmview.png/

Den Text "Hallo ich bin da" schreibt der Microcontroller in diesen Speicher.
Man kann mit AcmeView auch dort reinschreiben und das reingeschrieben im Microcontroller auslesen

Ich möchte jetzt also in C-Code auf diesen Speicher zugreifen.
Diese Speicher liegt ausserhalb des Addressraums des Arbeitsspeichers.
Der Rechner hat 2GB Arbeitsspeicher.

Ich habe schon die WinIO.dll ausprobiert, damit kann ich allerdings nur innhalb des Arbeitspeichers lesen und schreiben.

Irgendwie muss ja AcmeView auch programmiert worden sein um einfach auf diesen Speicher zugreifen zu können, also muss es ja in C/C++ möglich sein dieses auch lesen zu können.

Hat jemand Ideen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
15.05.2011, 11:30 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


hi, vielleicht ist das hier ja was für dich:

www.zealsoftstudio.com/memaccess/

aber ka ob das taugt.

Du bräuchtest im Prinzip einen Treiber für dein Gerät, welches dir über eine API den Speicherraum des Mikrocontrollers in deiner Anwendung verfügbar macht.

Denke da solltest du dich mal mit dem Windows DDK (Driver Development Kit) auseinander setzen.

AcmeView läd effektiv auch nur einen Treiber, der ihm dann den zugriff auf den Kernelspace erlaubt.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
21.05.2011, 17:53 Uhr
~Marder
Gast


Hallo,

wollt nur mal sagen dass www.zealsoftstudio.com/memaccess/ ein super Tipp war. Damit kann ich PCI-Speicher auslesen. Kost zwar Geld, aber das ist es auch Wert. Die kostenlose version hat ein 5 Sekunden Timer, der beim Debuggen ziehmlich nervt.

Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: