Как скомпилировать исходные файлы дерева устройств DTS Linux в dtb?
У меня есть файл дерево устройств (.dts), и я хочу скомпилировать файл для моей платы на основе powerpc.
Как я могу это сделать на своей машине, которая не основана на powerpc?? Могу ли я сделать это с помощью DTC, установленного на моей системе Ubuntu? Или это будет больше похоже на использование отдельного компилятора и передачу информации ARCH (например, с помощью цепочки инструментов)?
3 ответов
деревья устройств не нужно компилировать с помощью инструментов, "учитывающих архитектуру". Компилятор dtc на вашей машине ubuntu, вероятно, достаточно актуален для компиляции дерева устройств. Или вы можете загрузить последний источник и скомпилировать его самостоятельно. Компилятор dtc можно найти здесь:
https://git.kernel.org/pub/scm/utils/dtc/dtc.git
в этом пакете есть несколько хороших документов, которые помогут вам лучше понять деревья устройств в генеральный.
довольно легко скомпилировать (и разобрать) деревья устройств. Например
$ dtc -O dtb -o p4080ds.dtb p4080ds.dts
чтобы получить дерево устройств в тексте из blob дерева устройств, сделайте следующее:
$ dtc -I dtb -O dts p4080ds.dtb
надеюсь, что это помогает!
make dtbs
из дерева ядра-еще один распространенный способ их компиляции, так как стандартное место для размещения dts находится под деревом ядра в каталогах вида ./arch/<arch>/boot/dts
.
это заканчивается вызовом dtc
, но могли бы работать лучше, потому что потенциал включает будет в нужном месте.
dtbs размещаются в том же каталоге, что и dts.
-
dtc
может быть установлен этой командой в linux:sudo apt-get install device-tree-compiler
-
вы можете compile
dts
илиdtsi
файлы по этой команде:dtc -I dts -O dtb -o devicetree_file_name.dtb devicetree_file_name.dts
-
вы можете преобразование
dts
todtb
по этого команда:dtc -I dts -O dtb -f devicetree_file_name.dts -o devicetree_file_name.dtb
-
вы можете преобразование
dtb
todts
С помощью этой команды:dtc -I dtb -O dts -f devicetree_file_name.dtb -o devicetree_file_name.dts