2010-07-04 10 views
5

Sto cercando di creare un'utilità che convalida i file Linux * .dts (origine albero dispositivo) o * .dtb (binario) di Linux (ARM) contro un file di configurazione XML da un altro strumento. Quindi, ho bisogno di analizzare i file dts o dtb. Mi piacerebbe davvero farlo con Python. Qualcuno sa di una libreria Python o di uno strumento là fuori che analizza i file dts o dtb? Un'implementazione Python del compilatore dell'albero dei dispositivi (dtc) sarebbe perfetta, ma non ne ho ancora vista una.Analizzatore di albero di dispositivo Linux incorporato in python?

risposta

1

Non esiste ancora il collegamento Python per libfdt (la libreria di manipolazione dell'albero dispositivo fornita con dtc), ma dovrebbe essere abbastanza semplice crearne uno.

Se sei interessato a farlo, i documenti Python hanno un po 'di estensione di Python usando i moduli c: http://docs.python.org/release/2.6/extending/extending.html. L'utilità swig può essere utilizzata per creare automaticamente l'interfaccia Python-to-C, quindi basta scrivere un piccolo file di configurazione swig.

Se lo fai, manda un'email a [email protected] - saremo lieti di sapere come stai!

0

libfdt viene utilizzato per analizzare il file dtb invece del file dell'albero del dispositivo (dts/dtsi), quindi potrebbe non essere di aiuto leggere libfdt e non è possibile utilizzare semplicemente SWIG per creare un collegamento python del parser di dispositivo esistente. Dato che dtc usa lex/yacc come strumento di analisi e la sua definizione di sintassi è disponibile nel kernel, suggerisco di usare lex/yacc in python ([PLY]: http://www.dabeaz.com/ply/) per comporre il proprio parser dell'albero del dispositivo.

Problemi correlati