2010-07-04 1 views
5

Я ищу для создания утилиты, которая проверяет встроенные (PPC или ARM) Linux * .dts (источник дерева устройств) или * .dtb (двоичные) файлы в файле конфигурации XML из другого инструмента. Итак, мне нужно проанализировать файлы dts или dtb. Я бы очень хотел сделать это с Python. Кто-нибудь знает библиотеку или инструмент Python, который анализирует файлы dts или dtb? Реализация Python компилятора дерева устройств (dtc) была бы идеальной, но я еще не видел ее.Встраиваемый парсер дерева устройств в python?

ответ

1

Не существует привязки python для libfdt (библиотека обработки дерева устройств, поставляемая вместе с dtc), но создать ее достаточно просто.

Если вы заинтересованы в этом, документы Python имеют немного о расширении python с использованием c-модулей: http://docs.python.org/release/2.6/extending/extending.html. Утилиту swig можно использовать для автоматического создания интерфейса Python-to-C, поэтому вы просто вписываете небольшой конфигурационный файл swig.

Если вы это сделаете, отправьте людей по адресу [email protected] по электронной почте - мы будем рады услышать, как вы идете!

0

libfdt используется для разбора файла dtb вместо файла дерева устройств (dts/dtsi), поэтому может не помочь прочитать libfdt, и вы не можете просто использовать SWIG для создания привязки python к существующему парсеру устройств. Поскольку dtc использует lex/yacc в качестве инструмента синтаксического анализа и его определение синтаксиса доступно в ядре, я предлагаю вам использовать lex/yacc в python ([PLY]: http://www.dabeaz.com/ply/), чтобы составить собственный парсер дерева устройств.

Смежные вопросы