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
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!
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.
- 1. LVDS-Bildschirm für Embedded Linux
- 2. Embedded Linux: Speicherfragmentierung
- 3. Embedded Pig in Python
- 4. Embedded Linux, Anwendungszustand Freeze, Relaunch
- 5. Leichtes Debugging unter Embedded Linux
- 6. Logging-Frameworks für Embedded Linux?
- 7. coredump nicht in der Lage - Embedded Linux
- 8. Parser lernen in Python
- 9. SGML Parser in Python
- 10. JavaScript-Parser in Python
- 11. USB 3G Modem für Embedded Linux
- 12. Build-Mono auf Embedded Linux (ARM7)
- 13. Rich-Benutzeroberfläche auf Embedded Linux Gerät
- 14. Shutdown (embedded) Linux vom Kernel-Space
- 15. Upstart verursacht Kernel-Panik auf Embedded Linux
- 16. Welche aktiven Linux/Embedded Linux Foren sind online verfügbar?
- 17. Embedded Linux Kernel und Desktop Linux Kernel-Unterschied
- 18. Wie konfiguriere ich Embedded-Linux USB?
- 19. Ist Qt-Embedded-Linux Zeichnungsbibliothek Fixpunkt?
- 20. Tipps zum Lernen von Embedded Linux
- 21. Safe Expression Parser in Python
- 22. Sovren Resume Parser - Python
- 23. Microsoft Powerpoint Python Parser
- 24. Python Regex Parser
- 25. Python 3.1 RSS Parser?
- 26. Python SVG-Parser
- 27. Welcher "kompatible" Schlüssel wird im Gerätebaum verwendet?
- 28. Verwenden von Mono in Embedded Linux für Hardware
- 29. Login und Management über Telnet in Embedded Linux
- 30. Latenzspitzen während der Datenprotokollierung in Echtzeit Embedded Linux