• [^] # Re: Explications...

    Posté par (site web personnel) . En réponse au message C'est quoi le problème des plate-formes ARM ?. Évalué à 4.

    device tree, qui permet au noyau de découvrir de façon générique le matériel disponible ;

    Non, un device tree c'est un listing du matériel disponible, plateforme par plateforme. Cela ne permet pas de découvrir magiquement ce qu'il y a sur la carte (car il est écrit à la main, il n'y a pas de procédure d’énumération ou de découverte du matériel).

    Le device tree en fait remplace les fichiers .c et .h qui abondaient dans la section arch/arm pour décrire le matériel. Chaque plateforme avait du code source pour dire que sur cette carte, l'I2C a tels périphériques à telles adresses, l'adresse de base de la RAM est de tant, il y a de l'Ethernet avec tel pilote associé, etc.

    Le device tree a l'avantage par rapport à l'ancienne méthode d'être plus simple et élégant qu'un code équivalent en C. En plus il est plutôt souple, on peut facilement faire un device tree générique qui sera étendu par des cartes semblables mais pas identiques.

    Mais le device tree, comme avant, nécessite qu'un développeur renseigne ces éléments à la main. Parfois il est généré automatiquement pour certaine plateforme via des programmes adaptés mais c'est un humain qui renseigne les champs suivant la carte cible.