Plattformreferenz zur ArmSoM-Anpassung, vollständig auf Grundlage der einzigen bereitgestellten chinesischen Datei Rockchip_Developer_Guide_SD_Boot_CN.pdf (RK-KF-YF-171, V1.3.1, 17 Seiten). Ein englisches PDF fehlt; Englisch, Russisch und Deutsch wurden vollständig aus dem Chinesischen übersetzt. Alle Ausgaben verwenden chinesische Originalabbildungen; Deutsch verwendet exakt die englischen Bild-URLs. Das Produktversionsfeld der Vorlage ist leer; SDK/BSP- und Kernelversion sind nicht festgelegt. Abschnitt 4 nennt lediglich die IDB-/BCB-Unterstützung der SoCs, keine bestätigte Unterstützung aller ArmSoM-Boards. Board-SoC, SD-Verdrahtung und Versorgung, Boot-Priorität, SDK/BSP, pre-loader/SPL/U-Boot, Recovery und SDDiskTool prüfen. Es erfolgte keine Hardwarevalidierung; sämtliche Verfahren und Beispiele stammen aus der Vorlage, nicht aus ArmSoM-Tests.
Kartenerstellung und Upgrades überschreiben die ausgewählte SD-Karte bzw. den Gerätespeicher. Zuerst sichern und das Ziel prüfen. Es wurden weder Karten erstellt noch Datenträger formatiert oder aktualisiert. Die Screenshots mit v1.53 belegen nicht die Erfüllung der BCB-Anforderung v1.67.
Redaktionelle Hinweise · ArmSoM Docs · Rockchip U-Boot
Überblick
Dieser Artikel beschreibt die SD-Kartennutzung bei Rockchip: Firmware-Erstellung, Karten für unterschiedliche Funktionen, Firmware-Verteilung auf der Karte und Boot-Ablauf. Er unterstützt die Fehlersuche bei der SD-Kartennutzung.
1. Kartentypen
Rockchip unterscheidet normale SD-Karten, Upgrade-Karten, Boot-Karten und Reparaturkarten. Das Rockchip-Werkzeug zur Erstellung von Upgrade-Datenträgern schreibt update.img auf die SD-Karte und erstellt damit den gewünschten Kartentyp.
| Kartentyp | Funktion |
|---|---|
| Normale SD-Karte | Gewöhnliches Speichergerät |
| SD-Upgrade-Karte | Startet Recovery von SD; Recovery aktualisiert den Gerätespeicher mit der SD-Firmware |
| SD-Boot-Karte | Gerät startet direkt von SD |
| SD-Reparaturkarte | Kopiert Firmware ab pre-loader von SD in den Gerätespeicher |
2. Firmware erstellen
update.img ist Rockchips Paket für einen vollständigen Firmware-Satz. Es enthält neben der Firmware zusätzliche Daten wie Integritätsprüfungen und erleichtert die Aktualisierung der gesamten Firmware.
Rockchip stellt ein spezielles Werkzeug zur Erstellung von update.img bereit. Im Rockchip SDK das Verzeichnis RKTools/linux/Linux_Pack_Firmware/rockdev/ öffnen, wie nachfolgend dargestellt.

Verzeichnis zur Firmware-Paketierung — Chinesisches Original, PDF-S. 4
backupimage/
Image/
AFPTool.exe
baseparamer.img
mkupdate.bat
package-file
recover-script
RKImageMaker.exe
update.img
update-script
package-file anpassen, um das gewünschte update.img zu paketieren. Nachfolgend der Inhalt; der auf PDF-Seiten 4–5 verteilte Code wurde zusammengeführt.
# NAME Relative path
#
#HWDEF HWDEF
package-file package-file
bootloader Image/MiniLoaderAll.bin
parameter Image/parameter.txt
uboot Image/uboot.img
trust Image/trust.img
misc Image/misc.img
resource Image/resource.img
kernel Image/kernel.img
boot Image/boot.img
#recovery Image/recovery.img
#system Image/system.img
#vendor Image/vendor.img
#oem Image/oem.img
# baseparamer Image/baseparamer.img
# 要写入backup分区的文件就是自身(update.img)
# SELF 是关键字,表示升级文件(update.img)自身
# 在生成升级文件时,不加入SELF文件的内容,但在头部信息中有记录
# 在解包升级文件时,不解包SELF文件的内容。
# RESERVED不打包backup
backup backupimage/backup.img
update-script update-script
recover-script recover-script
Die Codekommentare erläutern: SELF bezeichnet für backup die Upgrade-Datei update.img selbst. Beim Erzeugen wird ihr Inhalt nicht aufgenommen, jedoch im Header vermerkt; beim Entpacken wird SELF nicht extrahiert. RESERVED paketiert backup nicht.
Zum Hinzufügen einer Datei ihren Namen und Firmware-Pfad angeben. Ein # vor einem Eintrag schließt die betreffende Firmware aus. mkupdate.bat ausführen, um update.img zu erzeugen.
3. Werkzeug verwenden
3.1 Normale SD-Karten
Eine normale SD-Karte wird wie am PC verwendet. Sie dient in U-Boot und im Kernel als gewöhnlicher Speicher; eine Bearbeitung mit dem Werkzeug ist nicht erforderlich.
3.2 SD-Upgrade-Karten
Eine SD-Upgrade-Karte wird mit dem RK-Werkzeug erstellt und aktualisiert das System im lokalen Speicher, etwa eMMC oder NAND-Flash, ohne PC oder Netzwerk. Der Boot-Code wird in den reservierten Kartenbereich geschrieben, die Firmware auf die sichtbare Partition kopiert. Startet der Controller von der Karte, schreiben Boot- und Upgrade-Code die Firmware in den lokalen Hauptspeicher. Upgrade-Karten unterstützen außerdem PCBA-Tests und das Kopieren von Demo-Dateien. Das ermöglicht PC-unabhängige Updates und erhöht die Produktionseffizienz. Nachfolgend die Erstellungsschritte.

Dialog zur Erstellung einer Upgrade-Karte — Chinesisches Original, PDF-S. 6
- Den Wechseldatenträger auswählen.
- Funktionsmodus wählen: Firmware-Upgrade.
- Die zu installierende Firmware auswählen.
- Auf „Erstellung starten“ klicken.
Die Konfiguration ist in der Abbildung dargestellt.
Die Abbildung dient als Konfigurationsreferenz. Existiert bereits eine Upgrade-Karte und müssen nur Firmware und Demo-Dateien aktualisiert werden, wie folgt vorgehen:
- Die Firmware ins Stammverzeichnis der SD-Karte kopieren und in
sdupdate.imgumbenennen. - Demo-Dateien in das Verzeichnis
Demoim Kartenstamm kopieren.
Upgrade-Karte — Nicht-GPT
| Offset | Datenbereich |
|---|---|
| Sektor 0 | MBR |
| Sektor 64-4M | IDBLOCK(Boot-Kennzeichnung = 0) |
| 4M-8M | Parameter |
| 12M-16M | uboot |
| 16M-20M | trust |
| …… | misc(BCB enthält recovery\n–rk_fwupdate\n) |
| …… | resource |
| …… | kernel |
| …… | recovery |
| Restlicher Platz | Fat32 enthält update.img |
Upgrade-Karte — GPT
| Offset | Datenbereich |
|---|---|
| Sektor 0 | MBR |
| Sektor 1-34 | GPT-Partitionstabelle |
| Sektor 64-4M | IDBLOCK(Boot-Kennzeichnung = 0) |
| 4M-8M | Parameter |
| …… | uboot |
| …… | trust |
| …… | misc |
| …… | resource |
| …… | kernel |
| …… | recovery |
| Restlicher Platz | Fat32 enthält update.img |
3.3 SD-Boot-Karten
Eine mit dem RK-Werkzeug erstellte Boot-Karte startet das Gerätesystem direkt von SD. Neu kompilierte Firmware lässt sich dadurch ohne Flashen des Gerätespeichers austauschen; die Karte kann auch als Hauptspeicher dienen. Hauptanwendungen sind SD-Boot und PCBA-Tests. PCBA-Tests sind lediglich eine Recovery-Funktion und sowohl mit Upgrade- als auch mit Boot-Karten möglich. Nachfolgend die Erstellungsschritte.

Dialog zur Erstellung einer Boot-Karte — Chinesisches Original, PDF-S. 8
- Den Wechseldatenträger auswählen.
- Funktionsmodus wählen: SD-Boot.
- Die zu installierende Firmware auswählen.
- Auf „Erstellung starten“ klicken.
Die Konfiguration ist in der Abbildung dargestellt.
Boot-Karte — Nicht-GPT
| Offset | Datenbereich |
|---|---|
| Sektor 0 | MBR |
| Sektor 64-4M | IDBLOCK(Boot-Kennzeichnung = 1) |
| 4M-8M | Parameter |
| 8M-12M | uboot |
| 12M-16M | trust |
| …… | misc |
| …… | resource |
| …… | boot |
| …… | kernel |
| …… | recovery |
| …… | system |
| …… | user |
Boot-Karte — GPT
| Offset | Datenbereich |
|---|---|
| Sektor 0 | MBR |
| Sektor 1-34 | GPT-Partitionstabelle |
| Sektor 64-4M | IDBLOCK(Boot-Kennzeichnung = 1) |
| …… | uboot |
| …… | Boot |
| …… | trust |
| …… | resource |
| …… | kernel |
| …… | recovery |
| …… | system |
| …… | vendor |
| …… | oem |
| …… | user |
| Letzte 33 Sektoren | GPT-Sicherung |
3.4 SD-Reparaturkarten
Eine Reparaturkarte arbeitet ähnlich wie eine Upgrade-Karte; das Firmware-Update erfolgt jedoch im SD-Upgrade-Code des pre-loader (miniloader). Das Werkzeug schreibt zunächst Boot-Code in den reservierten Bereich und kopiert anschließend die Firmware auf die sichtbare Partition. Beim SD-Start aktualisiert der Upgrade-Code den lokalen Hauptspeicher. Dies dient vor allem der Reparatur von Geräten mit beschädigter Firmware. Nachfolgend die Erstellungsschritte.

Dialog zur Erstellung einer Reparaturkarte — Chinesisches Original, PDF-S. 10
- Den Wechseldatenträger auswählen.
- Funktionsmodus wählen: SD-Boot und Reparatur.
- Die zu installierende Firmware auswählen.
- Auf „Erstellung starten“ klicken.
Die Konfiguration ist in der Abbildung dargestellt.
Reparaturkarte — Nicht-GPT
| Offset | Datenbereich |
|---|---|
| Sektor 0 | MBR |
| Sektor 64-4M | IDBLOCK(Boot-Kennzeichnung = 2) |
| 4M-8M | Parameter |
| 8M-12M | uboot |
| 12M-16M | trust |
| …… | misc |
| …… | resource |
| …… | boot |
| …… | kernel |
| …… | recovery |
| …… | system |
| …… | user |
Reparaturkarte — GPT
| Offset | Datenbereich |
|---|---|
| Sektor 0 | MBR |
| Sektor 1-34 | GPT-Partitionstabelle |
| Sektor 64-4M | IDBLOCK(Boot-Kennzeichnung = 2) |
| …… | uboot |
| …… | Boot |
| …… | trust |
| …… | resource |
| …… | kernel |
| …… | recovery |
| …… | system |
| …… | vendor |
| …… | oem |
| …… | user |
| Letzte 33 Sektoren | GPT-Sicherung |
4. Kartenkennzeichnungen
SD-Karten enthalten Kennzeichnungen für ihre Funktion. Die magische Zahl 0xFCDC8C3B am Anfang von Sektor 64 kennzeichnet eine spezielle Karte, deren Firmware zum Gerätestart gelesen wird; andernfalls gilt sie als normale Karte. Bei „Sektor 64 + 616bytes“ liegt die Kartentypkennung mit drei möglichen Werten:
| Kennzeichnung | Kartentyp |
|---|---|
| 0 | Upgrade- oder PCBA-Testkarte |
| 1 | Boot-Karte |
| 2 | Reparaturkarte |
Das Schreiben eines idb block flag hat folgende Nachteile:
- Es ist eine RK-spezifische, inkompatible Lösung.
- Es besteht ein Sicherheitsproblem: Das Schreiben der Kennzeichnung bei der Kartenerstellung verletzt die Integrität des idb block.
- Neuere idb blocks reservieren keinen Platz dafür. Eine Reservierung würde weiterhin die genannten Probleme verursachen.
RK verwendet stattdessen Android BCB und trägt recovery\n--rk_fwupdate\n in dessen recovery-Feld als Kennzeichnung für ein SD-Upgrade ein. Die Unterstützung beider Verfahren ist nachfolgend aufgeführt.
| Plattform | idb block flag | Android BCB |
|---|---|---|
| rk3588 | ✓ | |
| rk3568/rk3566 | ✓ | |
| rv1126/rv1109 | ✓ | ✓ |
| rk3399 | ✓ | ✓ |
| rk3368 | ✓ | ✓ |
| rk3328 | ✓ | ✓ |
| rk3326 | ✓ | ✓ |
| rk3308 | ✓ | ✓ |
| rk3288 | ✓ | ✓ |
| rk3229 | ✓ | ✓ |
| rk3128 | ✓ | ✓ |
| rk3126 | ✓ | ✓ |
Mit Plattform- und Werkzeugaktualisierungen soll das Schreiben des idb block flag schrittweise entfallen. Das Android-BCB-Verfahren erfordert SDDiskTool v1.67 oder neuer.
5. Analyse des Boot-Ablaufs
Der SD-Boot-Ablauf umfasst pre-loader/SPL und U-Boot. Sowohl pre-loader als auch U-Boot erkennen die SD-Karte und prüfen das Startup Flag in ihrem IDB Block, um die entsprechende Funktion auszuführen. SPL gibt der SD-Karte dagegen die höchste Boot-Priorität: Enthält sie bootfähige Firmware, wird diese bevorzugt geladen und gestartet.
5.1 Boot-Ablauf des pre-loader

Originalablauf des pre-loader — Chinesisches Original, PDF-S. 13
Kopierbare Erläuterung: maskrom → pre-loader → Speichergeräte suchen. Ohne SD-Karte oder bei einer anderen magischen Zahl als 0xFCDC8C3B in Sektor 64 erfolgt der normale Start. Andernfalls entscheidet die Kennzeichnung bei „Sektor 64 + 616bytes“: 0 für Upgrade-/PCBA-Testkarte, 1 für Boot-Karte. Beide lesen Firmware von SD und starten UBOOT. Bei 2 handelt es sich um eine Reparaturkarte; die Firmware wird im Loader aktualisiert.
5.2 SPL-Boot-Ablauf

Aus der Vektorvorlage extrahierter SPL-Ablauf — Chinesisches Original, PDF-S. 14
Start → SPL → Speichergeräte suchen. Ohne SD-Karte werden andere Speichergeräte gesucht. Dasselbe gilt bei vorhandener SD-Karte ohne bootfähige Firmware. Ist bootfähige Firmware vorhanden, die nächste Stufe starten → End.
5.3 U-Boot-Ablauf

U-Boot-Ablauf, erster Teil — Chinesisches Original, PDF-S. 16

U-Boot-Ablauf, Fortsetzung auf der nächsten PDF-Seite — Chinesisches Original, PDF-S. 17
Knoten und Verzweigungen der Abbildung:
- Start → Uboot → Speichergeräte suchen. Ohne SD werden andere Speichergeräte geprüft.
- Mit SD prüfen, ob die magische Zahl am Anfang von Sektor 64
0xFCDC8C3Bist. Falls ja, prüfen, ob die Kennzeichnung bei 616bytes gleich 0 ist; andernfalls andere Speichergeräte prüfen. - Bei einer anderen Zahl als
0xFCDC8C3Bauf0x534e4b52oder0x534e5252prüfen. Trifft keines zu, andere Speichergeräte prüfen. - Bei alter magischer Zahl und Kennzeichnung 0 oder einer der neuen Zahlen SD als aktuelles Gerät setzen.
sdfwupdatezu cmdline hinzufügen → Recovery-Boot-Modus aus misc ermitteln → prüfen, ob recovery im BCBrecovery\n--rk_fwupdate\nentspricht. Andernfalls andere Speichergeräte prüfen.- Bei Übereinstimmung fügt die Fortsetzung erneut
sdfwupdatezu cmdline hinzu, lädt Recovery und wechselt in den Recovery-Modus → End. Der doppelte Knoten bleibt wie in der Vorlage erhalten; das tatsächliche Verhalten anhand des verwendeten U-Boot-Zweigs prüfen.
5.4 recovery und PCBA
Für Einzelheiten verweist die Vorlage auf Rockchip Recovery 用户操作指南 V1.03.pdf (Rockchip-Recovery-Benutzerhandbuch). Dieses Dokument gehörte nicht zu den Eingabedateien dieses Artikels.
6. Wichtige Hinweise
- Für das Nicht-GPT-Format benötigt U-Boot
CONFIG_RKPARM_PARTITION. - Bei Erstellung einer Upgrade-Karte muss
update.imgdie DateienMiniloaderAll.bin,parameter.txt,uboot.img,trust.img,misc.img,resource.imgundrecovery.imgenthalten. Andernfalls wird beim Flashen ein Fehler beim Schreiben des MBR gemeldet.MiniloaderAll.binunterscheidet sich in der Groß-/Kleinschreibung vonMiniLoaderAll.binin Abschnitt 2. Beide Schreibweisen der Vorlage bleiben erhalten; den tatsächlichen Dateinamen prüfen.
