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.
您好,
我正在设置自己的 EVM,使其作为 Linux SDK 之后的端点运行(我正在使用 SDK 8.0),但我遇到了一些问题。
1.输入时
ls /sys/class/pci_epc/
root@j7-evm:/sys/kernel/config/pci_ep# ln -s functions/pci_epf_test/func1 controllers/2900000.pcie-ep/
2.我根据7.x SDK (5.4内核)小节中的说明修改了 DTS 文件,并重建了内核,并根据 SDK 3.2.1中的说明复制了这些文件。 (我没有修改为 EP 启用所必需的驱动程序配置变量,因为默认情况下,这些变量都设置为=y)。 但是,在启动 EVM 时,如果将新映像和 DTB 文件复制到 rootfs/boot,则会显示以下错误:
Welcome to minicom 2.7.1 OPTIONS: I18n Compiled on Aug 13 2017, 15:25:34. Port /dev/ttyUSB0, 20:59:06 Press CTRL-A Z for help on special keys U-Boot SPL 2021.01-g53e79d0e89 (Aug 04 2021 - 23:32:00 +0000) Model: Texas Instruments K3 J721E SoC Board: J721EX-PM2-SOM rev E8 SYSFW ABI: 3.1 (firmware rev 0x0015 '21.5.0--v2021.05 (Terrific Llam') Trying to boot from MMC2 Starting ATF on ARM64 core... NOTICE: BL31: v2.5(release):08.00.00.004-dirty NOTICE: BL31: Built : 22:30:09, Aug 4 2021 U-Boot SPL 2021.01-g53e79d0e89 (Aug 04 2021 - 22:33:28 +0000) Model: Texas Instruments K3 J721E SoC Board: J721EX-PM2-SOM rev E8 SYSFW ABI: 3.1 (firmware rev 0x0015 '21.5.0--v2021.05 (Terrific Llam') Detected: J7X-BASE-CPB rev E3 Detected: J7X-VSC8514-ETH rev E2 Trying to boot from MMC2 U-Boot 2021.01-g53e79d0e89 (Aug 04 2021 - 22:33:28 +0000) SoC: J721E SR1.0 Model: Texas Instruments K3 J721E SoC Board: J721EX-PM2-SOM rev E8 DRAM: 4 GiB Flash: 0 Bytes MMC: sdhci@4f80000: 0, sdhci@4fb0000: 1 In: serial@2800000 Out: serial@2800000 Err: serial@2800000 Detected: J7X-BASE-CPB rev E3 Detected: J7X-VSC8514-ETH rev E2 Net: am65_cpsw_nuss_slave ethernet@46000000: K3 CPSW: nuss_ver: 0x6BA00101 cpsw_ver: 0x0 eth0: ethernet@46000000 Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc1 is current device SD/MMC found on device 1 Failed to load 'boot.scr' 483 bytes read in 7 ms (67.4 KiB/s) Loaded env from uEnv.txt Importing environment from mmc1 ... Running uenvcmd ... 1 bytes read in 9 ms (0 Bytes/s) Already setup. k3_r5f_rproc r5f@41000000: Core 1 is already in use. No rproc commands work k3_r5f_rproc r5f@41400000: Core 2 is already in use. No rproc commands work 2555068 bytes read in 120 ms (20.3 MiB/s) Load Remote Processor 2 with data@addr=0x82000000 2555068 bytes: Success! 506776 bytes read in 36 ms (13.4 MiB/s) Load Remote Processor 3 with data@addr=0x82000000 506776 bytes: Success! Failed to load '/lib/firmware/j7-main-r5f1_0-fw' Failed to load '/lib/firmware/j7-main-r5f1_1-fw' 1579120 bytes read in 77 ms (19.6 MiB/s) Load Remote Processor 6 with data@addr=0x82000000 1579120 bytes: Success! 1579120 bytes read in 80 ms (18.8 MiB/s) Load Remote Processor 7 with data@addr=0x82000000 1579120 bytes: Success! 10399672 bytes read in 444 ms (22.3 MiB/s) Load Remote Processor 8 with data@addr=0x82000000 10399672 bytes: Success! 19137024 bytes read in 780 ms (23.4 MiB/s) 73284 bytes read in 15 ms (4.7 MiB/s) 10737 bytes read in 13 ms (805.7 KiB/s) failed on fdt_overlay_apply(): FDT_ERR_NOTFOUND base fdt does did not have a /__symbols__ node make sure you've compiled with -@ ERROR: Did not find a cmdline Flattened Device Tree Could not find a valid device tree =>
我尝试重置环境,但不起作用。 我发现一些帖子存在类似问题,但它们与我的 EVM-issue 不匹配,因此我希望 TI 团队能就如何解决这两个问题提供一些反馈/建议。
请提前感谢。
您好,米歇尔,
您使用什么命令来构建 dtbs? 导致上述错误的原因是,生成的 DTB 缺少错误提示的__symbols__节点,并且在应用覆盖图时,需要使用此节点进行交叉引用。
此致
苏曼
苏门,你好,
我试过
make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- dtbs
make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- ti/k3-j721e-common-proc-board.dtb
在每个内核重建之间,我也使用进行了清理
make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- distclean
您好,米歇尔,
这是一个非常奇怪的错误,根本不应该发生。
ARCH/ARM64/BOOT/DTS/TI/Makefile 确实有以下行,这使 dtbs 可以使用符号构建。
DTC_FLAGS += -@
请确保在您的内部版本中不会删除此行。
您 也可以使用以下命令从内置 DTB 生成 DTS 文件,并检查_symbols_node (应位于文件的最底部)。
dtc -I dtb -O dts <k3-j721e-common-proc-board.dtb> -o <output.dts>
另外,请注意,如果您使用的是 Alpha EVM,则正确的 DTB 为 K3-j721e-proc-board-tps65917.DTB。
此致
苏曼
苏门,你好,
是的, “DTC_flags +=-@”作为 Makefile 的第一行出现。 我没有“Interim PMIC”标签,所以我假设我有一个测试版板。
我在 K3-j721e-commo-proc-board.dTB 所在的目录中尝试了该命令,并打开了 output.dts 以检查文件的最末尾。 我没有看到“_symbols_node”。 我是否应该在 K3-j721e-commo-proc-board.dts 中键入该命令并重建 DTS 文件?
此外,您是否对如何解决原始帖子中第一个问题有建议?
谢谢!
您好,米歇尔,
那么,您是在更改到 board-support/<linux>文件夹后构建内核的? 如果使用 make linux-dtbs 从 SDK 级别构建,您是否会看到不同?
此外,您能否提供 DTC 版本的输出?
此致
苏曼
您好,
是的,我正在主板支持/Linux 目录中构建。
版本为1.4.5
我确实 在 SDK 的顶层制作了 Linux-dtbs,并且 EVM 现在可以正确启动。 我的第一个关于 ls /sys/class/pci_EPC/未列出任何内容的问题现在似乎也已解决,因为显示了2900000。pcie-EP。
谢谢!