Hallo, Wie der Titel schon sagt möchte ich eine Standard Festplatte mit SCSI Befehlen ansteuern. Kann mir jemand Tipps geben wie ich das bewerkstellige oder kennt eine library?
Verwechselst du da evtl. SATA und SAS.( seriell attached SCSI )
Prinzipiell kann man ja an einen SAS Controller beides anschließen. Kann aber gut sein, dass das für SATA keine SCSI Kommandos mehr sind. Dann einfacher. Gibt's da was für Windows und SAS?
Fangen wir doch mal am anderen Ende an: Was willst Du erreichen? Und mit welchem Betriebssystem?
Win7 und lesen und schreiben auf bestimmten Adressen. Unter SCSI programming konnte ich schon was finden. Drdobbs ASPI scheint auch über Win7 zu gehen. Scheint aber über Windows nicht so trivial zu sein wegen protected Mode Umgehung. Alternativ gibt es noch von tldp für Linux. Interessant wäre jetzt, ob jemand noch andere Alternative kennt oder Erfahrungen damit berichten kann.
Tim schrieb: > Win7 und lesen und schreiben auf bestimmten Adressen. Dafür aber musst Du keine SCSI-Kommandos an die Festplatte senden, das kann Windows auch so - indem Du die Festplatte als sogenanntes "Rawdevice" ansprichst. Siehe https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858%28v=vs.85%29.aspx, im Abschnitt Remarks unter "Physical Disks and Volumes". Und wozu willst Du auf einer nichtformatierten Festplatete "bestimmte Adressen" beschreiben und lesen? Was bezweckst Du damit?
Mit PLSCSI kann man SCSI mit der Platte sprechen. Sogar USB-Stifte hoeren da zu. Den Downloadlink musst Dir selber suchen, ich bin ja nicht Uggel.
Rufus Τ. F. schrieb: > Dafür aber musst Du keine SCSI-Kommandos an die Festplatte senden, das > kann Windows auch so - indem Du die Festplatte als sogenanntes > "Rawdevice" ansprichst. > Siehe > https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858%28v=vs.85%29.aspx, > im Abschnitt Remarks unter "Physical Disks and Volumes". Danke das klingt interessant. Rufus Τ. F. schrieb: > Und wozu willst Du auf einer nichtformatierten Festplatete "bestimmte > Adressen" beschreiben und lesen? Was bezweckst Du damit? Zum Debuggen einer embedded Hardware die auf die Festplatte schreibt. Diese hat kein Betriebssystem drauf was ein Dateisystem mitbringt. Also hab ich die Wahl, entweder kann der PC roh drauf zugreifen oder meine Hardware bring ich ein Dateisystem bei. Ich habe mich für ersteres vorläufig entschieden. ./. schrieb: > Mit PLSCSI kann man SCSI mit der Platte sprechen. > Sogar USB-Stifte hoeren da zu. > > Den Downloadlink musst Dir selber suchen, > ich bin ja nicht Uggel. Klingt auch interessant. Find ich sicher schon. Danke erstmal. Das klingt nach guten Alternativen. Ich werde mich erstmal darin einlesen.
Tim schrieb: > Diese hat kein Betriebssystem drauf was ein Dateisystem mitbringt Also das Embedded System ist von dir, und man soll das Zeug auf dem PC lesen können? Für einfache Dateisysteme, hauptsächlich für FAT, gibt es Libraries für Controller. Das wäre bei weitem vorzuziehen vor einer Eigenkonstruktion. Georg
Tim schrieb: > Zum Debuggen einer embedded Hardware die auf die Festplatte schreibt. > Diese hat kein Betriebssystem drauf was ein Dateisystem mitbringt. Also > hab ich die Wahl, entweder kann der PC roh drauf zugreifen OK, das ist 'ne Erklärung. Mit der beschrieben Methode solltest Du Erfolg haben, das funktioniert bei allen Massenspeichern (d.h. auch bei USB-Sticks) -- nur nicht bei vom System selbst genutzten Laufwerken. Du kannst das so geöffnete Dateihandle auch als "memory mapped file" ansprechen, auf einem 32-Bit-System allerdings nur scheibchenweise (weil die Platte ziemlich sicher größer sein dürfte als die ca. 2 GB, die sich in einem Rutsch in den Adressraum von 32-Bit-Prozessen mappen lassen). Viel Erfolg. Tim schrieb: > Was meinst du damit genau? Damit meint er, daß Du Deine "embedded Hardware" dazu befähigen solltest, ein Dateisystem zu verwenden, und so den "raw"-Zugriff auf die Festplatte überflüssig machen. Kommt natürlich auf die Art und Menge der Daten an, die die "embedded Hardware" auf die Platte schreibt, und welche anderen Designvorgaben da noch existieren. FAT32 aber ist selbst auf 8-Bit-Microcontrollern implementierbar.
Tim schrieb: > Was meinst du damit genau? Eine Library mit Routinen für FAT32, ohne ein Betriebssystem zu verwenden. Man mag es kaum glauben, das gibt es sogar hier im Forum: http://www.mikrocontroller.net/articles/AVR_FAT32 Georg
Auch sehr interessant. Toller Artikel. Dass die Problematik bei Speicherkarten sehr ähnlich ist, daran habe ich gar nicht gedacht. Schau ich mir definitiv mal an. Wenn meine Hardware FAT32 kann, dann sollte die ebenso im Windows sichtbar sein? Klingt praktisch.
Ich habe als mit HxD gearbeitet: https://mh-nexus.de/de/hxd/ Das ist ein Hex und Disk Editor. Da kann man Byteweise auf Festplatten (bei mir SD Karten) zugreifen.
Danke für die Hilfe und Anregungen. Habe nun die CreateFile Funktion verwendet. Läuft sogar richtig schnell. Nachteilig ist natürlich der permanente Admin Modus und die Gefahr ausversehen auf C zu schreiben.
Tim schrieb: > Nachteilig ist natürlich der permanente Admin Modus und die Gefahr > ausversehen auf C zu schreiben. wieso permanent? Du kannst auch nur eine Anwendung als Admin ausführen.
./. schrieb: > Mit PLSCSI kann man SCSI mit der Platte sprechen. > Sogar USB-Stifte hoeren da zu. Von SATA-HDDs/SSDs abgesehen arbeiten ohnehin viele Massenspeicher von Haus aus mit SCSI-Kommandos. Auch SATA-DVDs und die USB-Medien.
:
Bearbeitet durch User
A. K. schrieb: > Von SATA-HDDs/SSDs abgesehen arbeiten ohnehin viele Massenspeicher von > Haus aus mit SCSI-Kommandos. Auch SATA-DVDs und die USB-Medien. Auch "IDE" CD/DVD Drives. (ATAPI/MMC)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.