SDK版本:0806
开发板:AM64GPEVM
自行编译U-Boot和内核,使用官方的default文件系统,并更新了root/boot下的Image和设备树文件。
U-Boot使用的上一个实验编译的结果。
编译内核:
export PATH=/home/wzx/ti-processor-sdk-linux-am64xx-evm-08.06.00.42/linux-devkit/sysroots/x86_64-arago-linux/usr/bin:$PATH
make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- distclean
make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- tisdk_am64xx-evm_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- Image
make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- ti/k3-am642-evm.dtb
make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- modules
SD卡设置,SD卡共包含两个分区,boot和root
1.首先删除root目录下的所有文件及文件夹
2.在SDK filesystem文件夹下执行
wzx@ideapad:~/ti-processor-sdk-linux-am64xx-evm-08.06.00.42/filesystem$ sudo tar -xf tisdk-default-image-am64xx-evm.tar.xz -C /media/wzx/root/
模块安装到文件系统中:
sudo make ARCH=arm64 INSTALL_MOD_PATH=/media/wzx/root modules_install
cp arch/arm64/boot/Image /media/wzx/boot
cp arch/arm64/boot/dts/ti/k3-am642-evm.dtb /media/wzx/boot
启动开发板,进入u-boot,使用k3-am642-evm-icssg1-dualemac.dtbo进行设备树覆盖,启动报错,参考e2e
=> setenv bootcmd 'run findfdt; run envboot; run init_${boot}; run get_kern_${boot}; run get_fdt_${boot}; setenv name_overlays k3-am642-evm-icssg1-dualemac.dtbo; run get_overlay_${boot}; run run_kern'
=> boot
switch to partitions #0, OK
mmc1 is current device
SD/MMC found on device 1
Failed to load 'boot.scr'
1490 bytes read in 2 ms (727.5 KiB/s)
Loaded env from uEnv.txt
Importing environment from mmc1 ...
Running uenvcmd ...
1 bytes read in 1 ms (1000 Bytes/s)
Already setup.
19147264 bytes read in 790 ms (23.1 MiB/s)
42859 bytes read in 5 ms (8.2 MiB/s)
2089 bytes read in 3 ms (679.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
在e2e和百度上还未找到解决办法。接下来打算直接将k3-am642-evm-icssg1-dualemac中的pinctrl添加到k3-am643-evm.dts中。
按照邮件中的添加pin ctrl: