Как скомпилировать исходные файлы дерева устройств (dts)?
У меня есть файл дерева устройств (.dts), и я хочу скомпилировать файл для моей платы на базе powerpc.
Как я могу сделать это на своей машине, которая не основана на powerpc? Могу ли я сделать это с DTC, установленным в моей системе Ubuntu? Или это будет больше похоже на использование отдельного компилятора и передачу ARCH-информации (например, с помощью инструментальной цепочки)?
Ответы
Ответ 1
Деревья устройств не нужно компилировать с помощью инструментов, ориентированных на архитектуру. Компилятор 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
Надеюсь, это поможет!
Ответ 2
make dtbs
из дерева ядра является еще одним распространенным способом их компиляции, поскольку стандартное место для размещения dts находится под деревом ядра в каталогах формы ./arch/<arch>/boot/dts
.
Это заканчивается вызовом dtc
, но может работать лучше, потому что потенциальные возможности будут в нужном месте.
dtbs помещаются в тот же каталог, что и dts.