Debug de device tree linux/uboot

Petit truc pour debuger un device tree.

Pour s’assurer que l’on a chargé le bon dt, il est possible d’ajouter des registres personnalisés dans son dts/dtsi. Il n’y a pas de règle de nommage mais à titre personnel j’ajoute le nom du fichiers dts que je préfix avec debug :

debug_socfpga_agilex5_dts = "Message pour indiquer ce qui a changé";Langage du code : JavaScript (javascript)

Une fois compilé puis démarré on peut lire le registre.

Sous uboot

# fdt addr $fdtcontroladdr
Working FDT set to ffb02080
#  fdt list /                         
/ {
	compatible = "intel,socfpga-agilex";
	#address-cells = <0x00000002>;
	#size-cells = <0x00000002>;
	model = "SoCFPGA Agilex5 SoCDK";
	debug_socfpga_agilex5_dts = "Message pour indiquer ce qui a changé";
	fit-images {
	};
	reserved-memory {
	};
	cpus {
	};
	pmu {
	};
	psci {
	};
	intc@fffc1000 {
	};
	soc {
	};
	aliases {
	};
	leds {
	};
	memory {
	};
	binman {
	};
	chosen {
	};
};
Langage du code : PHP (php)

On retrouve notre registre de debug parmis la liste des nœuds s’assurant ainsi que nous avons chargé le bon dt.

Sous Linux

Sous Linux la liste des nœuds est donnée dans le répertoire /proc/device-tree et le contenu des registres se lit simplement avec cat:

# ls /proc/device-tree/
...
# cat /proc/device-tree/debug_socfpga_agilex5_dts
Message pour indiquer ce qui a changé# Langage du code : PHP (php)

Méthode très utile pour s’assurer qu’on fait bien tourner le device tree que l’on vient de modifier.

Ce contenu a été publié dans Non classé, avec comme mot(s)-clé(s) , , , , , . Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *