2010-07-04 20 views
5

Estoy buscando crear una utilidad que valide archivos Embedded (PPC o ARM) Linux * .dts (origen del árbol del dispositivo) o * .dtb (binario) en un archivo de configuración XML de otra herramienta. Entonces, necesito analizar los archivos dts o dtb. Realmente me gustaría hacer esto con Python. ¿Alguien sabe de una biblioteca o herramienta de Python que analiza archivos dts o dtb? Una implementación de Python del compilador de árbol de dispositivo (dtc) sería perfecta, pero aún no he visto ninguna.Analizador de árbol de dispositivo Linux integrado en python?

Respuesta

1

Aún no existe un enlace de pitón para libfdt (la biblioteca de manipulación de árboles del dispositivo incluida con dtc), pero debería ser bastante sencillo crear uno.

Si le interesa hacer esto, Python tiene un poco de información acerca de la extensión de python usando módulos c: http://docs.python.org/release/2.6/extending/extending.html. La utilidad swig se puede usar para crear automáticamente la interfaz Python-to-C, por lo que acaba escribiendo un pequeño archivo de configuración de swig.

Si terminas haciéndolo, envía un correo electrónico a la gente de [email protected] ¡Estaremos encantados de escuchar cómo te va!

0

libfdt se usa para analizar el archivo dtb en lugar del archivo del árbol del dispositivo (dts/dtsi), por lo que puede no ser útil leer libfdt y no se puede usar SWIG para crear un enlace python del analizador del dispositivo existente. Dado que dtc usa lex/yacc como la herramienta de análisis y su definición de sintaxis está disponible en kernel, sugiero que podría usar lex/yacc en python ([PLY]: http://www.dabeaz.com/ply/) para componer su propio analizador de árbol de dispositivo.

Cuestiones relacionadas