Sto provando ad installare un driver per una scheda PowerPC incorporata, e il modo corretto per farlo oggi è usare la struttura dei dati Tree Device OpenFirmware (il file .dtb, compilato da un .dts file). Creare un albero è abbastanza semplice, ma come faccio a ottenere il mio driver di dispositivo per trovare il suo nodo e i dati al suo interno? Non sono riuscito a trovare alcun riferimento valido su questo argomento, e libri come "Linux Device Drivers" sono troppo in x86 land per essere di grande aiuto per i device tree che riguardano principalmente le macchine basate su Power Architecture (arch powerpc nel kernel di Linux terminologia).Panoramica/manuale di riferimento per gli alberi di dispositivi Open Firmware
6
A
risposta
4
Sembra che ci sia molta poca documentazione disponibile, specialmente dal lato dei driver. ho parlato con uno sviluppatore di kernel Linux di lunga data che conosco, e il suo consiglio era essenzialmente quello di guardare il codice degli altri driver.
alcuni valori di fondo che ho trovato: Grant Likely presentation, Grant Likely Linux Symposium paper, a fairly good overview of the data structure
L'uso più diffuso del sistema firmware aperto è trovato nei driver fsl_x.c Freescale nel l'arco/PowerPC/albero nel kernel di Linux, più recente 2.6.16.
Problemi correlati
- 1. Comprendere l'algoritmo di Ukkonen per gli alberi di suffisso
- 2. Algoritmo Divide-And-Conquer per gli alberi
- 3. Fornire riferimento/guida per creare un'applicazione Web per la gestione di tutti i dispositivi/dispositivi IT
- 4. Come funzionano gli alberi Suffix?
- 5. Gli alberi AVL sono malvagi?
- 6. Algoritmo per l'attraversamento di alberi
- 7. Creazione di distinzione utilizzando gli alberi di espressione
- 8. Gli intervalli, i segmenti, gli alberi fenwick sono gli stessi?
- 9. Alberi di espressioni Java
- 10. A cosa servono gli alberi di sintassi astratti?
- 11. Costruire un gruppo LINQBy query utilizzando gli alberi di espressione
- 12. Lavorare con gli alberi di suffisso in python
- 13. Perché gli alberi di espressione sono più sicuri del riflesso?
- 14. parametro obbligatorio in tutti gli alberi di espressione
- 15. stampa di tutti gli alberi binari dall'inorder traversal
- 16. Come calcolare gli aggregati per i sotto-alberi in Gremlin?
- 17. Perché gli alberi binari sono importanti?
- 18. Prolog, ricostruire gli alberi BST dall'elenco interno
- 19. Le macro non espandono gli alberi di token interpolati?
- 20. Feedback: visualizzazione per gli alberi decisionali Apache Spark
- 21. Dispositivi di chiusura di chiusura
- 22. Metodo di dimensione per alberi binari
- 23. Utilizzo di alberi neri rossi per l'ordinamento
- 24. ANTLR4: costruzione di alberi
- 25. Applicazioni di alberi rosso-neri
- 26. Esiste un modo per mostrare gli alberi di dipendenza per i pacchetti pip?
- 27. In che modo gli alberi rosso-neri sono isomorfi a 2-3-4 alberi?
- 28. Esiste un buon riferimento per gli intrinsechi di ARM Neon?
- 29. Chi paga gli sviluppatori di software open source?
- 30. Creazione di Alberi con Neo4j
Dal momento che questa domanda è stata posta nel 2009, esiste una documentazione nel [collegamento ad albero del dispositivo Linux] (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings). Sfortunatamente, qualcuno ha simulato tutti chiamando header/source con ** di **. Vedi: [of.h] (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/linux/of.h) (con più in linux/di * .h) e [drivers/di] (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/of). –