2010-07-04 19 views
5

Ich bin auf der Suche nach einem Dienstprogramm, das Embedded (PPC oder ARM) Linux * .dts (Gerät Baum Quelle) oder * .dtb (Binär) Dateien gegen eine XML-Konfigurationsdatei von einem anderen Tool validiert. Also, ich muss die dts oder dtb-Dateien analysieren. Ich würde das gerne mit Python machen. Kennt jemand eine Python-Bibliothek oder ein Tool, das dts- oder dtb-Dateien analysiert? Eine Python-Implementierung des Device Tree Compilers (dtc) wäre perfekt, aber ich habe noch keine gesehen.Embedded Linux Gerätebaum Parser in Python?

Antwort

1

Es gibt noch keine Python-Bindung für libfdt (die Gerätebaum-Manipulationsbibliothek, die mit dtc ausgeliefert wird), aber es sollte ziemlich einfach sein, eine zu erstellen.

Wenn Sie daran interessiert sind, haben die Python-Dokumente ein wenig über die Erweiterung von Python mit c-Modulen: http://docs.python.org/release/2.6/extending/extending.html. Das Dienstprogramm swig kann verwendet werden, um die Python-to-C-Schnittstelle automatisch zu erstellen, sodass Sie am Ende eine kleine Konfigurationsdatei für den Swig schreiben.

Wenn Sie dies tun, schicken Sie die Leute unter [email protected] eine E-Mail - wir würden gerne hören, wie Sie gehen!

0

libfdt wird verwendet, um die dtb-Datei anstelle der Gerätebaumdatei (dts/dtsi) zu parsen, sodass libfdt nicht gelesen werden kann und Sie SWIG nicht einfach zum Erstellen einer Python-Bindung des vorhandenen Geräteparsers verwenden können. Da dtc lex/yacc als Parsingtool verwendet und seine Syntaxdefinition im Kernel verfügbar ist, schlage ich vor, dass Sie lex/yacc in python ([PLY]: http://www.dabeaz.com/ply/) verwenden können, um einen eigenen Gerätebaumparser zu erstellen.