Hardware:CST:Anleitungen:U-Boot Flash: Unterschied zwischen den Versionen

Aus TuxBoxWIKI
Zur Navigation springen Zur Suche springen
(review Vorlage eingefügt, evtl. auch {{Inuse}} verwenden falls nötig)
Keine Bearbeitungszusammenfassung
 
(9 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
[[Category:U-Boot]]
[[Category:Hardware:Coolstream]]
{{review}}
{{review}}


Zeile 6: Zeile 7:


Hier gibt es eine komplette Dokumentation:
Hier gibt es eine komplette Dokumentation:
[http://www.denx.de/wiki/view/DULG/UBootCommandLineInterface  U-Boot Command Line Interface (English)]
[http://www.denx.de/wiki/view/DULG/UBootCommandLineInterface  U-Boot Command Line Interface (English)]




== Speicheradressen ==
== Speicheradressen ==
dev:size erasesize name


mtd0: 00060000 00020000 "U-Boot" phys.Adress 0xF0000000 - 0xF005FFFF = 384 KByte
{| class="wikitable" style="float:left; margin-right:1em"
|+ Coolstream HD1
|-
! Device !!Größe (hex) !!Löschgröße (hex) !!Name !!Start - Endadresse (hex) !!absolute Größe
|-
|mtd0
|0x80000
|0x20000
|"U-Boot"
|0xF0000000 - 0xF007FFFF
|512 KByte
|-
|mtd1
|0x400000
|0x20000
|"kernel"
|0xF0080000 - 0xF047FFFF
|4096 KByte
|-
|mtd2
|0x1b80000
|0x20000
|"systemFS"
|0xF0480000 - 0xF1FFFFFF
|28160 KByte
|}


mtd1: 00020000 00020000 "Splash" phys.Adress 0xF0060000 - 0xF007FFFF = 128 KByte
{| class="wikitable" style="float:left"
 
|+ Coolstream Zee, Neo, Neo²
mtd2: 00400000 00020000 "kernel" phys.Adress 0xF0080000 - 0xF047FFFF = 4096 KByte
|-
 
! Device !!Größe (hex) !!Löschgröße (hex) !!Name !!Start - Endadresse (hex) !!absolute Größe
mtd3: 01b80000 00020000 "systemFS" phys.Adress 0xF0480000 - 0xF1FFFFFF = 28160 KByte
|-
|mtd0
|0x60000
|0x20000
|"U-Boot"
|0xF0000000 - 0xF005FFFF
|384 KByte
|-
|mtd1
|0x20000
|0x20000
|"Splash"
|0xF0060000 - 0xF007FFFF
|128 KByte
|-
|mtd2
|0x400000
|0x20000
|"kernel"
|0xF0080000 - 0xF047FFFF
|4096 KByte
|-
|mtd3
|0x1b80000
|0x20000
|"systemFS"
|0xF0480000 - 0xF1FFFFFF
|28160 KByte
|}


<!--to clear previous style="float:left" -->
<div style="clear:both" ></div>


== Berechnen der Länge (count)==
== Berechnen der Länge (count)==
Zeile 38: Zeile 92:




== Wichtigen Befehle richtig ausgesprochen ==
== Wichtige Befehle richtig benutzt ==
 
''USB Stick mounten:''


usb start
''USB Geräte einbinden:''


Hiermit wird das USB Device am USB Port aktiviert, von nun an kann auf die Dateien, z.B. auf dem USB Stick, zugegriffen werden.
usb start


Hiermit wird das USB Subsystem im U-Boot gestartet, ein Zugriff auf USB Geräte am USB Port ist dadurch erst möglich. Sofern der USB Stick z.B. vom U-Boot erkennt und unterstützt wird kann auf die Dateien auf diesem zugegriffen werden.


''Image/Datei von USB in den Speicher laden''
''Image/Datei von USB in den Speicher laden''


'fatload usb 0 0 kernel.img'
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!


Dadurch kopiert man die Datei von USB in den RAM, als Antwort erhält man die Anzahl der gelesenen Bytes. Der Wert ist im weiteren Verlauf noch sehr wichtig!


''den Flash löschen:''  
''den Flash löschen:''  


Usage:
erase [start] [end]
 
erase start end
 
Beispiel: erase 0xf0080000 0xf047ffff (kernel löschen)


Beispiel: <code>erase 0xf0080000 0xf047ffff</code> #um dem Flashbereich löschen in dem der Kernel liegt


''Image kopieren:''
''Image kopieren:''


Usage:
cp [.b, .w, .l] source target count  
 
cp [.b, .w, .l] source target count  
 
Beispiel: cp 0 0xf0080000 0xfc476


Wobei 0xfc476 die Größe (count) des Images ist.
Beispiel: <code>cp 0 0xf0080000 0xfc476</code> #kopiert von Adresse <code>0</code> an in die Adresse <code>0xf0080000</code> und das mit einer Länge von <code>0xfc476</code><br/>
Wobei <code>0xfc476</code> die Größe (count) des Images ist.

Aktuelle Version vom 4. Oktober 2014, 07:21 Uhr


Review-KandidatDieser Artikel befindet sich derzeit im Reviewprozess. Hilf mit, ihn zu verbessern! Falls du bei weiteren Artikeln helfen willst, findest du hier eine Auswahl offener Artikel.

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

Coolstream HD1
Device Größe (hex) Löschgröße (hex) Name Start - Endadresse (hex) absolute Größe
mtd0 0x80000 0x20000 "U-Boot" 0xF0000000 - 0xF007FFFF 512 KByte
mtd1 0x400000 0x20000 "kernel" 0xF0080000 - 0xF047FFFF 4096 KByte
mtd2 0x1b80000 0x20000 "systemFS" 0xF0480000 - 0xF1FFFFFF 28160 KByte
Coolstream Zee, Neo, Neo²
Device Größe (hex) Löschgröße (hex) Name Start - Endadresse (hex) absolute Größe
mtd0 0x60000 0x20000 "U-Boot" 0xF0000000 - 0xF005FFFF 384 KByte
mtd1 0x20000 0x20000 "Splash" 0xF0060000 - 0xF007FFFF 128 KByte
mtd2 0x400000 0x20000 "kernel" 0xF0080000 - 0xF047FFFF 4096 KByte
mtd3 0x1b80000 0x20000 "systemFS" 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.


Wichtige Befehle richtig benutzt

USB Geräte einbinden:

usb start

Hiermit wird das USB Subsystem im U-Boot gestartet, ein Zugriff auf USB Geräte am USB Port ist dadurch erst möglich. Sofern der USB Stick z.B. vom U-Boot erkennt und unterstützt wird kann auf die Dateien auf diesem zugegriffen werden.

Image/Datei von USB in den Speicher laden

fatload usb 0 0 kernel.img

Dadurch kopiert man die Datei von USB in den RAM, als Antwort erhält man die Anzahl der gelesenen Bytes. Der Wert ist im weiteren Verlauf noch sehr wichtig!

den Flash löschen:

erase [start] [end]

Beispiel: erase 0xf0080000 0xf047ffff #um dem Flashbereich löschen in dem der Kernel liegt

Image kopieren:

cp [.b, .w, .l] source target count 

Beispiel: cp 0 0xf0080000 0xfc476 #kopiert von Adresse 0 an in die Adresse 0xf0080000 und das mit einer Länge von 0xfc476
Wobei 0xfc476 die Größe (count) des Images ist.