Hardware:CST:Anleitungen:U-Boot Flash
Inhaltsverzeichnis
Der Artikel ist noch in Arbeit
U-Boot Syntax
Oder wie mache ich mich dem U-Boot verständlich.
Hier gibt es eine komplette Dokumentation:
U-Boot Command Line Interface (English)
Speicheradressen
dev:size erasesize name
mtd0: 00060000 00020000 "U-Boot" phys.Adress 0xF0000000 - 0xF005FFFF = 384 KByte
mtd1: 00020000 00020000 "Splash" phys.Adress 0xF0060000 - 0xF007FFFF = 128 KByte
mtd2: 00400000 00020000 "kernel" phys.Adress 0xF0080000 - 0xF047FFFF = 4096 KByte
mtd3: 01b80000 00020000 "systemFS" phys.Adress 0xF0480000 - 0xF1FFFFFF = 28160 KByte
Berechnen der Länge (count)
Dieser Wert wird im Folgenden dringend benötigt, daher hier mal ein Beispiel wie man den Wert berechnet.
Nach Eingabe von 'usb start' kann man mit 'fatload usb 0 0 kernel.img' das Image laden, als Antwort erhält man dann z.B. '4133333 bytes read'.
Der Name muss natürlich nicht zwingend kernel.img lauten, jeder andere Dateiname ist ebenso möglich. Wichtig ist ja nur das Ergebnis.
Die 4133333 bytes werden durch 4 geteilt und das Ergebnis aufgerundet:
4133333 / 4 = 1033333,25 => 1033334
1033334 in HEX wandeln = FC476 => 0xFC476
Dieser Wert wird dann beim 'copy' benötigt.
Wichtigen Befehle richtig ausgesprochen
USB Stick mounten:
usb start
Hiermit wird das USB Device am USB Port aktiviert, von nun an kann auf die Dateien, z.B. auf dem USB Stick, zugegriffen werden.
Image/Datei von USB in den Speicher laden
'fatload usb 0 0 kernel.img'
Hiermit kopiert man die Datei von USB ins RAM, als Antwort erhält man die Anzahl der gelesenen Bytes. Der Wert ist im weiteren Verlauf noch sehr wichtig!
den Flash löschen:
Usage:
erase start end
Beispiel: erase 0xf0080000 0xf047ffff (kernel löschen)
Image kopieren:
Usage:
cp [.b, .w, .l] source target count
Beispiel: cp 0 0xf0080000 0xfc476
Wobei 0xfc476 die Größe (count) des Images ist.