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.

[参考译文] PROCESSOR-SDK-AM64X:自定义电路板无法引导 u-boot

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1034783/processor-sdk-am64x-custom-board-fails-to-boot-u-boot

器件型号:PROCESSOR-SDK-AM64X

大家好、我正在尝试在基于 AM64 GPEVM 的定制板上启动处理器 SDK 8.0 Linux。

根据我的日志、我认为 SPL 正在加载、U-boot 开始加载、但最终会挂起以下日志(通过启用调试消息获取):

clk_set_defaults(flash@0)
clk_set_default_parents: could not read assigned-clock-parents for 802399b0
ofnode_read_prop: assigned-clock-rates: <not found>
cadence_qspi_apb_config_baudrate_div: ref_clk 166666666Hz sclk 25000000Hz Div 0x3, actual 20833333Hz
cadence_spi_set_speed: speed=25000000
cadence_qspi_apb_chipselect : chipselect 0 decode 0
cadence_qspi_apb_chipselect : chipselect 0 decode 0
size=x, ptr=40, limit=640: aligned to 81f00600
cadence_qspi_apb_chipselect : chipselect 0 decode 0
cadence_qspi_apb_chipselect : chipselect 0 decode 0
jedec_spi_nor flash@0: Unknown command extension type
cadence_qspi_apb_chipselect : chipselect 0 decode 0
cadence_qspi_apb_chipselect : chipselect 0 decode 0
cadence_qspi_apb_chipselect : chipselect 0 decode 0
cadence_qspi_apb_chipselect : chipselect 0 decode 0
cadence_qspi_apb_chipselect : chipselect 0 decode 0
cadence_qspi_apb_chipselect : chipselect 0 decode 0
cadence_qspi_apb_chipselect : chipselect 0 decode 0
spi_get_bus_and_cs: bus=80239828, slave=81f00598
fdtdec_get_config_int: u-boot,spl-payload-offset
jedec_spi_nor flash@0: from 0x00280000, len d
cadence_qspi_apb_chipselect : chipselect 0 decode 0
Found FIT
jedec_spi_nor flash@0: from 0x00280000, len d
cadence_qspi_apb_chipselect : chipselect 0 decode 0
fit read sector 280000, sectors=1300, dst=807ffac0, count=1300, size=0x514
Selecting config 'k3-am642-evm'
firmware: 'firmware-1'
jedec_spi_nor flash@0: from 0x00280514, len d
cadence_qspi_apb_chipselect : chipselect 0 decode 0

我正在尝试从 QSPI 引导、已删除最后4个引脚、并已在 ospi DTS 文件(K3-am642-EVM.dts)中将 TX、Rx 总线宽度设置为4。 由于 QSPI 基于 Winbond、我已在 drivers/MTD/SPI/SPI-NOR IDs.c 中添加以下条目{info ("w25q01jv"、0xef4021、0、64 * 1024、2048、 sect_4K | SPI_NOR_DUAL_READ | SPI_NOR_Quad_READ)}、并在 A53和 R5 defconfig 中添加了 CONFIG_SPI_FLASH_Winbond=y。

如何继续调试并解决此问题?

感谢您的任何帮助  

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

    尊敬的 ABIN:
    我们可以在附件中上传完整的引导日志吗?
    我将在下周四(9月16日)回到办公室后做进一步的介绍。
    最棒的
    -香港

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

    Hong 已附上日志。 您能尽快查看一下吗? 我们的日程安排有点紧张。

    e2e.ti.com/.../26880.log.txt

    我们使用的是 WinbondW25Q01JVSFIQ QSPI 芯片。 参考文献: https://www.winbond.com/resource-files/W25Q01JV%20SPI%20RevC%2005032021%20Plus%20dummy.pdf

    使用 Dediprog 软件在0x0处刷写 tidoot3、在0x80000处刷写 tisl、在0x280000处刷写 u-boot

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

    尊敬的 ABIN:

    很抱歉耽误您的回答。 一周的休假后、我会收到电子邮件。 您是否在客户电路板上的 QSPI 引导方面取得了进展?

    我在下面添加了一些一般性说明:
    (a)。 每个引导二进制文件始终有一个特定的 DTB 文件,如下所示:
    tiboot3.bin:R5 SPL 和 DTB 构建在“/r5_build_folder/spl/dts/”下
    tispl.bin:A53 SPL 和 DTB 构建在“/a53_build_folder/spl/dts/”下
    3. u-boot.img:A53 u-boot,在“/a53_build_folder/arch/arm/dts/”下使用 DTB 构建

    (b)。 下面以“K3-am642-R5-EVM.dTB”为例列出了解析/解码生成的二进制 DTB 文件的一个选项。
    “DTC -I DTB K3-am642-R5-EVM.dTB > K3-am642-R5-EVM.dtb_decode”。
    我建议对与最后一步中记下的三个引导二进 制文件关联的三个 DTB 文件进行解码,以检查修改后的 QSPI 设备节点是否与客户电路板上使用的 QSPI 闪存设备匹配。

    (c)。 在 TI Linux SDK 软件包中、为了支持 TI 电路板、多个 DTB 文件与引导二进制文件捆绑在一起、用作拟合映像。
    在引导期间、引导二进制文件通过读取预编程的 EEPROM 来检测 board_ID、然后从 FIT 映像加载匹配的 DTB 文件。
    例如,“K3-am642-R5-EVM.dTB”和“K3-am642-R5-SK.dTB”打包到 tiboot3.bin 文件中,“K3-am642-R5-EVM.dTB”在引导期间加载到 AM64x GP EVM 上。

    最棒的
    -香港

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

    谢谢洪、我将检查上述文件。

    由于日志显示它正在引导 u-boot、我认为它不是 QSPI。 日志仅指向 QSPI?

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

    尊敬的 ABIN:
    日志显示 R5 SPL、A53 SPL 已引导、A53 SPL 正在加载 u-boot.img (拟合图像)、并以某种方式卡住。
    让我们检查与每个引导二进制文件关联的所有 DTB 文件是否正确移植与您的板匹配。
    最棒的
    -香港

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

    您好 DTB 文件与定制板的文件相匹配

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

    尊敬的 ABIN:
    在我先前的答复中:
    "(c)。 在 TI Linux SDK 软件包中、为了支持 TI 电路板、多个 DTB 文件与引导二进制文件捆绑在一起、用作拟合映像。
    在引导期间、引导二进制文件通过读取预编程的 EEPROM 来检测 board_ID、然后从 FIT 映像加载匹配的 DTB 文件。
    例如,“K3-am642-R5-EVM.dTB”和“K3-am642-R5-SK.dTB”打包到 tiboot3.bin 文件中,“K3-am642-R5-EVM.dTB”在引导期间加载到 AM64x GP EVM 上。
    我记得、没有 EEPROM 用于在您的电路板上存储 board_ID。 我们是否知道如何确定 board_ID?以及如何从 u-boot.img fit 映像将板 DTB 文件加载到 DDR?
    最棒的
    -香港

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

    您好 我不确定在 EEPROM 中没有 board_ID 时如何加载它。 可能是因为我正在为 EVM 构建?

    我们还可以看到、SDK 7.3 u-boot 随更改引导、但 SDK 8.0 u-boot 因问题所附的日志而失败。 由于客户要求是最新的 u-boot、我们需要找出并解决此问题。

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

    Hong 、您能进一步了解这个问题吗?

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

    尊敬的 ABIN:
    从日志文件中、当 A53 SPL 加载 u-boot.img (FIT 图像)时出现问题。
    我建议将调试工作集中在 u-boot.img 加载、其中 u-boot.img 是适合的映像、而 DTB 加载取决于检测到的 board_ID。
    最棒的
    -香港