¿Cuáles son los pros y los contras de habilitar Device Tree en Raspberry Pi?

Algunas de las ventajas incluyen:

  1. Fácil de cambiar la configuración del sistema sin tener que volver a compilar ningún código fuente.
  2. Puede agregar fácilmente soporte para hardware nuevo (por ejemplo, si tiene una nueva revolució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 placa. archivo dts en el nuevo tablero …)
  3. Puede reutilizar archivos .dts existentes con declaraciones de inclusión y puede anular la funcionalidad definida previamente. Por ejemplo, si incluye un dtsi (archivo de inclusión del árbol de dispositivos) que define un componente de hardware, pero lo tiene deshabilitado, puede crear un nuevo nodo en su archivo dts de nivel superior que no haga nada más que habilitar ese componente.
  4. (Pueden) proporcionar descripciones fáciles de leer y comprender del hardware, y pueden dar nombres descriptivos a los componentes del 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 utilizará para expresar lo que desea hacer … (es decir, la documentación carece de muchos aspectos)

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