主题:AM67 中讨论的其他器件
工具/软件:
我正在使用 TI SDK 11.00.10.01 对基于 AM67 (J722S) EVM 的定制电路板执行系统引导验证
目前、我正在 UART 引导模式下实现以下引导序列、并遇到错误:
1.通过 XMODEM 传输 tiboot3.bin
2.通过 Ymodem 传输 tispl.bin 和 u-boot.img
但是、执行 tiboot3.bin 后、系统不会转换到 Ymodem 传输等待状态、引导序列会停止。
在跟踪 tiboot3.bin 的操作时、我确认了以下内容:
-执行 k3_sysfw_loader() 后、UART 输出正常工作(系统固件已由 ROM 加载)
随后,当 get_ti_sci_handle () 被执行时,它返回 NULL
-inside get_ti_sci_handle ()、uclass_get_device_by_driver (UCLASS_firmware、DM_driver_get (ti_sci)、&dev) 被调用、但无法获取 dev
-因此,k3_sysfw_print_ver () 中的版本显示失败,因为 ti_sci 为 NULL
作为一种变通方法,我尝试调用 k3_sysfw_loader () 中的 get_ti_sci_handle () 来检查 ti_sci 的初始化状态,但这无法解决问题。
这似乎在很大程度上依赖于 TI SDK 中包含的 u-boot-ti-staging 中的 SPL 实现和 TI 系统固件初始化。
怀疑有以下原因:
-ti_sci 驱动程序在 SPL 执行期间尚未初始化
-在 SPL 配置中,即使系统固件已由 ROM 加载,在 SPL 端初始化完成前也会调用 get_ti_sci_handle ()
-在 SPL 阶段未启用 UART 引导中的 Ymodem 传输等待过程
关于 k3_sysfw_loader () 和 ti_sci 的初始化过程,我想知道以下内容。
在 k3_sysfw_loader() 中、是否需要显式执行 ti_sci 客户端初始化(等价于 ti_sci_initialize ())、即使在 ROM 加载的状态下也是如此?
-get_ti_sci_handle () 在 SPL 执行期间是否返回 NULL ? 如果是、应该将 ti_sci 初始化在哪里?
-关于 Ymodem 接收 tispl.bin 和后续文件不是在 UART 引导模式下启动的问题,应该在 SPL 中检查什么设置或代码?