Как создать devicetree.dtb для своего проекта на ZYNQ 7000.
В этой краткой демонстрации мы увидим, как сгенерировать devicetree (dts) из проекта SDK или Vitis. Затем мы скомпилируем это с помощью компилятора device-tree и получим devicetree.dtb
- Установка компилятора дерева устройств -- DTC:
apt install device-tree-compiler
- Coздание каталога my_dts и копирование в него файлов pcw.dtsi pl.dtsi skeleton.dtsi system-top.dts system.dts zynq-7000.dtsi из SDK (Vitis) , обычно эти файлы располагаются в директории "device_tree_bsp_0"
- Компиляция DTS с использованием DTC:
надо "встать над" каталогом my_dts и дать последовательно две команды:
gcc -I my_dts -E -nostdinc -undef -DDTS -x assembler-with-cpp -o my_dts/system-top.dts.tmp my_dts/system-top.dts
dtc -I dts -O dtb -o my_dts/devicetree.dtb my_dts/system-top.dts.tmp
Появится devicetree.dtb , готовый к работе.
Полезно преобразовать его в человекочитаемый вид:
dtc devicetree.dtb -o dt.dts ,
чтобы добавить в него то, что не генерируется автоматически, (например spidev), а затем придать ему машиночитаемый вид:
dtc dt.dts -o devicetree.dtb