This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/AM4378:更改自定义板 bevice 树文件后、内核在此处停止。

Guru**** 2604225 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/586169/linux-am4378-after-i-change-my-custom-board-bevice-tree-file-my-kernel-was-stopped-here

器件型号:AM4378

工具/软件:Linux

我有一个基于 AM437X-EVM 的定制板、我尝试使用 AM437X-EVM-GB.dTB 文件和 zImage、我可以在不修改内核 srec 文件(来自 ti-SDK)的情况下进入内核和 rootfs。但当我尝试通过/sys/class/gpio Direction 控制板上的 GPIO 引脚时、我无法执行此操作、没有任何错误或扭曲 GPIO 引脚值在我执行此操作后仍然不变、但我在定制电路板内核和定制电路板制造商提供的 DTB 文件上执行采样操作、 我可以成功更改引脚值。因此我将板和 AM437X-EVM 硼的差异加倍、因此我尝试使用自定义板 DTB 文件替换 AM437X-EVM-gp. dtb、但结果如下

它就在这里、它正在启动内核

然后、我将 am347x-EVM-gp (zImage)替换为电路板上的 uImage 文件、如下所示

它也在这里挂起、

为什么会有这样 的外观?对我来说是难以置信的…

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    原因有多种:
    1. dtb 不正确,因此 u-boot 无法加载它并启动内核。
    2.在 u-boot 和 Linux 阶段使用不同的 UART 来调试控制台
    3.检查 u-boot 环境中的加载地址。

    尝试启用低级调试消息、以查看启动内核后是否会获得更多的控制台输出。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如您所见、我可以使用 zImage 和 AM437X-gp-evm.dtb (I build from ti-processor-sdk-linux-AM437x-evm-03.02.00.05-linux-x86-64安装)启动成功、我可以使用 uImage 和 myir_ricoboard.dtb (由我的定制板制造商 myi_manufacturer-myco-boot (zir)启动成功、但 myco-mycopruir 成功(通过 myco-mycoir 和 myco-mycor)启动成功(通过 myco-mycopruImage 成功)启动)启动 和 AM437X-gp-evm.dtb (由 TI 提供)。

    我的定制板使用 uart0作为调试控制台、不是 AM437X-EVM-board?

    您的回复 加载地址在 u-boot 环境中的含义是什么?DTB 加载地址还是内核加载地址?