resource missing compatible category_name linux linux-kernel embedded-linux device-tree

linux - missing - device tree compatible



¿Qué es Device Tree? Ventajas y desventajas? (1)

El árbol de dispositivos es una descripción de los componentes de hardware en un sistema, aquí está la lista de archivos de árbol de dispositivos en Linux para el brazo arco:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts?id=refs/tags/v3.10

De aquí:

http://devicetree.org/Device_Tree_Usage

El árbol de dispositivos es una estructura de árbol simple de nodos y propiedades. Las propiedades son pares clave-valor, y el nodo puede contener tanto propiedades como nodos secundarios

Los nodos del árbol describen los parámetros que usa el kernel de Linux u otros sistemas de software como u-boot para iniciar el hardware.

Algunas de las ventajas incluyen:

  1. Simple de cambiar la configuración del sistema sin tener que volver a compilar ningún código fuente.
  2. Puede agregar fácilmente compatibilidad para hardware nuevo (por ejemplo, si tiene una nueva versión de una placa que solo cambia algunos componentes menores, puede ejecutar la misma carga de software que las revoluciones anteriores de la placa, con solo pequeños cambios en la. archivo dts en la nueva placa ...)
  3. Puede reutilizar archivos .dts existentes con sentencias include y puede anular la funcionalidad previamente definida. Por ejemplo, si incluye un dtsi (archivo de inclusión de árbol de dispositivo) que define un componente de hardware, pero lo tiene deshabilitado, puede simplemente crear un nuevo nodo en su archivo dts de nivel superior que no hace más que habilitar ese componente.
  4. Ellos (pueden) proporcionar descripciones fáciles de leer y comprender del hardware, y pueden dar nombres descriptivos a los componentes de hardware.

Algunas de las desventajas incluyen:

  1. No es tan fácil escribir un nuevo archivo .dts, ya que requiere un conocimiento muy detallado del hardware.
  2. Incluso si conoce todos los detalles del hardware, puede ser difícil determinar la sintaxis exacta que se usará para expresar lo que quiere hacer ... (es decir, falta la documentación en muchos aspectos).

Para mí, escribir un archivo .dts es casi un 100% de prueba y error, extraer ejemplos de otros archivos .dts y ver qué hace y si se acerca más a lo que deseo ... Muchas veces los ejemplos son todos con los que tengo que trabajar , y no hay mucho en el camino de una explicación de lo que está sucediendo.

¿Qué es Device Tree en Linux? ¿Cuáles son las ventajas y desventajas del árbol de dispositivos?

Si alguien conoce Device Tree en detalle, por favor ayude a responder las preguntas anteriores.