www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB: Verfiy-Call und Write-Ablaufdiagramm


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

hab mal zwei Fragen zum USB Mass Storage Device.

Beim Endpoint-OUT (Bulk-Transfer) gibt es auch die Möglichkeit eines 
Verfiys 0x2F - allerdings wird dieser beim Schreiben einer Datei auf den 
MSC nicht aufgerufen; weiß jmd wann diese Verfiy Funktion aufgerufen 
wird???

#define SCSI_WRITE10                    0x2A
#define SCSI_VERIFY10                   0x2F
#define SCSI_READ12                     0xA8
#define SCSI_WRITE12                    0xAA

//endpoint-out function call 
void MSC_BulkOut (void)
{
  //daten holen vom Endpoint  
  BulkLen = USB_ReadEP(MSC_EP_OUT, BulkBuf);

  switch(BulkBuf)
  {
     case SCSI_WRITE10:
     case SCSI_WRITE12:
        MemoryWrite();
        break; 

     case SCSI_VERIFY10:
        MemoryVerfiy();     //<- never called
        break;
    
    //usw
  }
}

Beim MemoryWrite ist mir aufgefallen, dass zuerst das Stammverzeichnis 
komplett überschrieben wird - allerdings ohne einem Size-Eintrag (ist 
0x00) für die neu zu speichernede Datei. Dann wird die FAT geändert, 
dann nochmal das Stammverzeichnis überschrieben (jetzt mit size Eintrag) 
und danach werden die Daten geschrieben.

Gibt es hierfür irgendwo eine genaue Beschreibung - im MSC Dokument von 
usb.org hab ich leider kein Ablaufdiagramm gefunden. Da werden nur die 
SCSI etc. Sachen erklärt...

Gruß
Michael

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.