Atmel ARM Boot von MicroSD-Karte

Ich studiere das ATSAME70Q19-Datenblatt von Atmel und bin etwas verwirrt über den Boot-Betriebsmodus von HSMCI.

Auf Seite 892, „38.11 HSMCI Boot Operation Mode“ gibt es eine Referenz, die besagt:

Im Boot-Betriebsmodus kann der Prozessor Boot-Daten vom Slave (MMC-Gerät) lesen, indem er die CMD-Leitung nach dem Einschalten niedrig hält, bevor er CMD1 ausgibt. Die Daten können je nach Registereinstellung entweder aus dem Boot-Bereich oder aus dem User-Bereich gelesen werden.

  1. Was sind die "Bootdaten"? Binärdatei? Hex-Datei? oder etwas anderes?
  2. Wo ist "Boot-Bereich" und "Benutzerbereich" auf der microSD-Karte?

Mir ist klar, dass eine Binärdatei auf der microSD-Karte gespeichert werden muss, aber wie? Auf formatierter Karte (zB FAT) oder wie eine Rohdatendatei?

weil ich es nicht weiß, füge ich das als Kommentar hinzu, also nimm das mit einer Tasse Salz. Was sind die "Bootdaten"? Binärdatei? Hex-Datei? oder etwas anderes? Ich vermute, dass dies der boot.ini-Datei für Windows ähnelt.
Ich vermute das auch, aber ich möchte nicht raten, ich suche nach einer offiziellen Referenz.
Nun, nachdem sie die Atmels-Website nach Informationen durchforstet haben, haben sie wirklich nichts darüber. Ich wollte dies als Antwort geben, aber es wäre einfach nicht gut genug. Der Chip verfügt über 2 MB eingebetteten Flash, sodass Sie in der Lage sein sollten, jeden Initialisierungscode in diesen zu laden und danach alles andere, was Sie benötigen, von einer SD-Karte zu laden. Der Boot-Code wird normalerweise sowieso in den eingebetteten Flash geschrieben, alles andere wie ein Betriebssystem wird auf die SD-Karte gelegt und danach geladen. Boot-Daten wären nur ein Stück Binärdaten mit einem richtigen Header, der vom Programmierer dort abgelegt wird. Tut mir leid, dass ich nicht mehr helfen konnte
Programmierer wie in der Software und dem Gerät, nicht der Entwickler
Es sind Rohdaten, die in den RAM geladen werden sollen

Antworten (1)

Die Dokumentation scheint davon auszugehen, dass Sie wissen, worum es bei diesem Boot-Betriebsmodus geht und warum es aus funktionaler Sicht sinnvoll ist, dort zu sein. Wahrscheinlich wird es in einigen Atmel-Schulungen erklärt und besprochen.

Dies kann auch ein historisches Merkmal sein. Schauen Sie sich AT91SAM ARM-basierte Flash-MCU an , Seite 30 - es zeigt die Speicherzuordnung, der allererste Codeblock heißt "Boot-Speicher". Wie in 9.1.4 „Boot-Strategien“ beschrieben, bootet das System immer vom Boot-Speicher, und dann kann das Boot-ROM weitere Boot-Aktionen von verfügbaren Geräten und Optionen ausführen.

In Ihrem Fall wette ich, dass die SD-Karte nur eine der Optionen zum Laden von Startdaten ist. Beachten Sie, dass das Datenblatt, auf das Sie verweisen, keinen Startcode angibt, sondern stattdessen über Daten spricht. Wahrscheinlich können Sie aus Daten Code machen , damit MCU ihn ausführen kann. Aber es ist sicherlich Sache des Programmierers, ob er diese Boot-Funktion verwendet, wie er Daten auf dem externen Gerät (SD-Karte) verwendet und wo es sich befindet - und all diese Informationen sollten durch den Boot-Speichercode geliefert werden, auf dem ausgeführt wird Einschalten (oder Reset).