Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:linux:devicetree [2014-09-30 12:11] grafsoftware:linux:devicetree [2023-04-11 08:47] (aktuell) Urs Graf
Zeile 2: Zeile 2:
  
 <box blue right 38% | **Quellen**> <box blue right 38% | **Quellen**>
-  * [[http://events.linuxfoundation.org/sites/events/files/slides/petazzoni-device-tree-dummies.pdf|Sehr gute Einführung in Device Tree ]] 
   * [[http://devicetree.org/Device_Tree_Usage|Detaillierte Beschreibung ]]   * [[http://devicetree.org/Device_Tree_Usage|Detaillierte Beschreibung ]]
   * [[https://wiki.freebsd.org/FlattenedDeviceTree|Weitere Beschreibung ]]   * [[https://wiki.freebsd.org/FlattenedDeviceTree|Weitere Beschreibung ]]
Zeile 12: Zeile 11:
   - Diese Source-Files können weitere Source-Files includieren (dtsi-Files). Solche Dateien beschreiben z.B. Eigenschaften, die für mehrere Boards gültig sind.   - Diese Source-Files können weitere Source-Files includieren (dtsi-Files). Solche Dateien beschreiben z.B. Eigenschaften, die für mehrere Boards gültig sind.
   - Der **Device Tree Compiler** (dtc) übersetzt die Source-Files in den **Device Tree Blob** (dtb-File).   - Der **Device Tree Compiler** (dtc) übersetzt die Source-Files in den **Device Tree Blob** (dtb-File).
-  - Beim Aufstarten erhält der Kernel eine Referenz auf diesen Blob und parst ihn.+  - Beim Aufstarten erhält der Kernel eine Referenz auf diesen Blob und parst ihn. Einzelne Kernel Treiber holen sich so ihre Konfiguration, z.B. Adressbereiche oder Interrupteinstellungen. 
 +Die Terminologie ist etwas verwirrend. Man spricht vom //Device Tree//. Der //Device Tree Blob// heisst auch //Flat Device Tree//. Das Ganze kommt aus der IBM Open Firmware Spezifikation, und deshalb spricht man oft auch vom //OF-Tree//.
  
 ===== Installation ===== ===== Installation =====
Zeile 19: Zeile 19:
 ===== Übersetzung ===== ===== Übersetzung =====
 Quellenfile übersetzen, wobei das Quellen- und das Zielformat angegeben wird: Quellenfile übersetzen, wobei das Quellen- und das Zielformat angegeben wird:
-<code># dtc -I dts -O dtb -p 0x40000 -o myDest.dtb mySource.dts</code>+<code># dtc -I dts -O dtb -S 0x10000 -o myDest.dtb mySource.dts</code> 
 +Die Option //-S// erweitert den Blob mit Padding auf die angegebene Grösse. 
 + 
 +===== Testen ===== 
 +Wenn der Kernel nach dem Booten den Device Tree erfolgreich geparst hat, ist der Inhalt unter ''/proc/device-tree'' vollständig abrufbar. Achtung: Zahlen sind binär abgelegt.