我们的定制板不具有 SDCard、但使用 eMMC 进行文件存储。 我需要一种初始引导至 Linux 的方法、以便可以对 eMMC 进行分区和格式化、因为 u-boot 不支持此功能。 在我们的情况下、USB MSC 引导是理想的、但无法进入 u-boot 提示符。
我将使用为 R5内核提供的 configs/am65x_evm_r5_usbmsc_defconfig 从 TI SDK 08_00_00_02构建 u-boot。 configs/am65x_EVM_A53_defconfig 能够正确支持从存储器件进行 USB 引导。
我设置 AM65 EVM 自举 SW3[4:1]=b1000 (USB 引导) SW2[1]=B1 (MSC 模式)。
tibooot3.bin、sysfw.itb、tispl.bin、u-boot.img 复制到 FAT 格式的 USB 大容量存储设备(ID 0951:168A Kingston Technology DataTraveler Micro)。 USB 存储还具有第二个用于 Linux 的分区。
在 USB 存储设备 连接到 USB0 (PCIe 子板上的 J13)上电后、我 在 R5串行控制台上看到以下内容:
Bus usb@10000: Register 2001040 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb@10000 for devices... 2 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
然后、A53内核串行控制台显示:
U-Boot SPL 2021.01-08231-g563e4c8613-dirty (Nov 23 2021 - 21:07:53 +0100)
SYSFW ABI: 3.1 (firmware rev 0x0015 '21.5.0--v2021.05 (Terrific Llam')
Trying to boot from USB
scanning usb for storage devices... 1 Storage Device(s) found
WARN halted endpoint, queueing URB anyway.
Unexpected XHCI event TRB, skipping... (41c72530 00000000 13000000 01008400)
BUG at drivers/usb/host/xhci-ring.c:500/abort_td()!
BUG!
resetting ...
该 R5和 A53控制台输出由于复位而重复。
我在 A53内核上执行了一些 printf 调试、在 common/spl/spl_fat.c 中调用 file_fat_read()、尝试从分区1读取 tispl.bin。 有趣的是、R5 SPL 代码以前成功读取 sysfw.it b.
您能帮我从 MSC 引导吗?