Die Rocketboards.org-Dokumentation sollte als Referenz verwendet werden, deckt aber nicht die internen Boot-Abläufe ab, in denen die mainboardspezifische Anpassung enthalten ist.
Dieses Dokument ist ein Leitfaden auf höchster Ebene, der Ihnen zeigt, wo Sie nachschauen und welche Dateien Sie kopieren und anpassen möchten.
Weitere Hinweise Rocketboards.org zum Erstellen des Boot-Loaders für Intel® Arria® 10 FPGA SoC-Projekte finden Sie im Abschnitt Arria 10 SoC – Boot from SD Card im Building Bootloader für Cyclone® V und Arria 10 Webseiten.
Elemente in BOLD beziehen sich auf die Abschnitte der Richtlinien zum Erstellen von Bootloader für Cyclone V und Arria 10 Webseiten.
Anpassen von U-Boot und U-Boot-SPL für Ihr Mainboard
Die HPS-Einstellungen aus Ihrem Platform Designer-Projekt werden über die handverteilten Dateien mithilfe eines Skripts in u-boot-socfpga übernommen, das als Teil von u-boot-socfpga ausgeliefert wird:
Siehe: Konvertierung der Handoff-Datei hps.xml in eine Datei, die vom Gerätebaum verwendet werden soll
CD U-Boot-SoCFPGA
./arch/arm/mach-socfpga/qts-filter-a10.sh \
Standort des /hps_isw_handoff/hps.xml
arch/arm/dts/socfpga_arria10_socdk_sdmmc_handoff.h
Dadurch wird die socfpga_arria10_socdk_sdmmc_handoff.h-Datei erstellt, die dann während der Kompilierung abgerufen wird.
Andere mainboardspezifische Konfigurationselemente (Ethernet, Uart, Speichergröße usw.)
- u-Boot-Konfigurationsdatei: u-boot-socfpga/configs/socfpga_arria10_defconfig
Die meisten Elemente sind jetzt im U-Boot-Gerätebaum definiert. Wir empfehlen jedoch, eine benutzerdefinierte Version der u-Boot-Defconfig-Datei für Ihr Mainboard zu erstellen:
Die Konfigurationsdatei gibt Folgendes an:
- Aktiviert im U-Boot-Build
- Standard-Boot-Befehl
- Standard-Gerätebaum
- Einige Standardeinstellungen für die Umgebung
- Konfigurations-Include-Datei: include/configs/socfpga_arria10.h
- Speichergrößen
- Vordefinierte Adressen und Konfigurationselemente
- Namen der Gerätebaumdateien
- Standard-U-Boot-Laufzeitumgebung
- UART-Standardeinstellungen
- Einige Setup-Einstellungen werden freigegeben, siehe auch #include
- u-boot-Gerätebäume: arch/arm/dts/_.dts
Für jedes Boot-Ziel gibt es mehrere Dateisätze (NAND, SDMMC, QSPI). Es gibt eine Datei der obersten Ebene, und dies umfasst allgemeine Informationen und Mainboard-spezifische Überschreibungen. Einige Dateien haben Elemente für das Booten und einige für You-Boot-SPL
Arria 10 SoC DK SDMMC-Beispiel:
socfpga___.dts: Top-Level-Datei für ein Board- und Boot-Flash-Ziel
Welcher Flash-Speicher muss aktiviert werden usw.
socfpga__.dtsi: Mainboard-spezifische Dateien: Generische Dateien überschreiben oder erweitern
Exaktes IP-Setup: UART, ECONFIG, SPEICHER
socfpga_.dtsi: Allgemeine Dateien für das Gerät
Hinweis:
- socfpga_arria10_socdk_sdmmc-u-boot.dtsi
- Enthält den Namen der .itb-Dateien, die für FPGA Konfiguration verwendet werden sollen, und das korrekte Laden von uboot.
- Siehe die entsprechende .its-Datei
- Mainboard/altera/arria10socdk/*.its
&fpga_mgr {
u-boot,dm-pre-reloc;
altr,bitstream = "fit_spl_fpga.itb";
};
- .its-Dateien: zum Erstellen der .itb-Dateien versucht U-Boot zu laden: board/altera/arria10-socdk
Mainboard/altera/arria10-socdk/fit_uboot.its
u-boot SPL-Steuerungsdatei: Welches U-Boot-System muss geladen werden?
Mainboard/altera/arria10-socdk/fit_spl_fpga.its
FPGA Konfiguration von SPL: Pfade zu .rbf-Dateien für FPGA Konfiguration
Mainboard/altera/arria10-socdk/fit_kernel_qspi.its
Linux Kernel-Laden von QSPI
Mainboard/altera/arria10-socdk/fit_kernel_nand.its
Linux Kernel-Laden von NAND
Hinweis: Bei neueren Versionen der You-Boot-Distro boot wird für SDMMC-Boot keine .itb-Datei in die sdmmc geladen. Die entsprechenden Dateien werden auf die FAT-Partition geladen und direkt geladen.
Weitere Informationen finden Sie im Abschnitt C. Build SD Card Image des Building Bootloader für Cyclone® V und Arria 10 Webseiten.
Für Linux
- Die verwendete Kernel-Konfiguration ist jetzt Standard und kann normal hinzugefügt werden
- Standard laden: Defconfig erstellen
- Bearbeiten mit: make manuconfig
- Speichern Sie eine neue Konfigurationsdatei als Defconfig: make savedefconfig
- Kopieren Sie in das Konfigurationsverzeichnis, das später verwendet werden soll:
- cp defconfig arch/arm/configs/socfpga_myName
- Benutzerdefinierte Gerätebäume für ein benutzerdefiniertes Mainboard sollten durch Kopieren und Bearbeiten der Entwicklungskit-Versionen erstellt werden. Die Benennung und Struktur ist uboot ähnlich, mit Mainboard-spezifischen Dateien (.dts), die allgemeine Einstellungen überschreiben (.dtsi).