{"id":2607,"date":"2026-06-25T11:50:21","date_gmt":"2026-06-25T09:50:21","guid":{"rendered":"https:\/\/www.fabienm.eu\/wordpress\/?p=2607"},"modified":"2026-06-25T11:50:21","modified_gmt":"2026-06-25T09:50:21","slug":"debug-de-device-tree-linux-uboot","status":"publish","type":"post","link":"https:\/\/www.fabienm.eu\/wordpress\/2026\/06\/25\/debug-de-device-tree-linux-uboot\/","title":{"rendered":"Debug de device tree linux\/uboot"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Petit truc pour debuger un device tree.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour s&rsquo;assurer que l&rsquo;on a charg\u00e9 le bon dt, il est possible d&rsquo;ajouter des registres personnalis\u00e9s dans son dts\/dtsi. Il n&rsquo;y a pas de r\u00e8gle de nommage mais \u00e0 titre personnel j&rsquo;ajoute le nom du fichiers dts que je pr\u00e9fix avec debug  :<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code lang=\"\" class=\"hljs language-javascript \">debug_socfpga_agilex5_dts = <span class=\"hljs-string\">\"Message pour indiquer ce qui a chang\u00e9\"<\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Langage du code\u00a0:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Une fois compil\u00e9 puis d\u00e9marr\u00e9 on peut lire le registre.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sous uboot<\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code lang=\"\" class=\"hljs language-php \"><span class=\"hljs-comment\"># fdt addr $fdtcontroladdr<\/span>\nWorking FDT set to ffb02080\n<span class=\"hljs-comment\">#  fdt list \/                         <\/span>\n\/ {\n\tcompatible = <span class=\"hljs-string\">\"intel,socfpga-agilex\"<\/span>;\n\t<span class=\"hljs-comment\">#address-cells = &lt;0x00000002&gt;;<\/span>\n\t<span class=\"hljs-comment\">#size-cells = &lt;0x00000002&gt;;<\/span>\n\tmodel = <span class=\"hljs-string\">\"SoCFPGA Agilex5 SoCDK\"<\/span>;\n\tdebug_socfpga_agilex5_dts = <span class=\"hljs-string\">\"Message pour indiquer ce qui a chang\u00e9\"<\/span>;\n\tfit-images {\n\t};\n\treserved-memory {\n\t};\n\tcpus {\n\t};\n\tpmu {\n\t};\n\tpsci {\n\t};\n\tintc@fffc1000 {\n\t};\n\tsoc {\n\t};\n\taliases {\n\t};\n\tleds {\n\t};\n\tmemory {\n\t};\n\tbinman {\n\t};\n\tchosen {\n\t};\n};\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Langage du code\u00a0:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">On retrouve notre registre de debug parmis la liste des n\u0153uds s&rsquo;assurant ainsi que nous avons charg\u00e9 le bon dt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sous Linux<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sous Linux la liste des n\u0153uds est donn\u00e9e dans le r\u00e9pertoire \/proc\/device-tree et le contenu des registres se lit simplement avec cat:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code lang=\"\" class=\"hljs language-php \"><span class=\"hljs-comment\"># ls \/proc\/device-tree\/<\/span>\n...\n<span class=\"hljs-comment\"># cat \/proc\/device-tree\/debug_socfpga_agilex5_dts<\/span>\nMessage pour indiquer ce qui a chang\u00e9<span class=\"hljs-comment\"># <\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Langage du code\u00a0:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">M\u00e9thode tr\u00e8s utile pour s&rsquo;assurer qu&rsquo;on fait bien tourner le device tree que l&rsquo;on vient de modifier.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Petit truc pour debuger un device tree. Pour s&rsquo;assurer que l&rsquo;on a charg\u00e9 le bon dt, il est possible d&rsquo;ajouter des registres personnalis\u00e9s dans son dts\/dtsi. Il n&rsquo;y a pas de r\u00e8gle de nommage mais \u00e0 titre personnel j&rsquo;ajoute le &hellip; <a href=\"https:\/\/www.fabienm.eu\/wordpress\/2026\/06\/25\/debug-de-device-tree-linux-uboot\/\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":3,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"federated","footnotes":""},"categories":[1],"tags":[235,410,409,174,19,403],"class_list":["post-2607","post","type-post","status-publish","format-standard","hentry","category-non-classe","tag-debug","tag-device-tree","tag-devicetree","tag-embarque","tag-linux","tag-uboot"],"_links":{"self":[{"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/posts\/2607","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/comments?post=2607"}],"version-history":[{"count":7,"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/posts\/2607\/revisions"}],"predecessor-version":[{"id":2614,"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/posts\/2607\/revisions\/2614"}],"wp:attachment":[{"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/media?parent=2607"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/categories?post=2607"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/tags?post=2607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}