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.

[参考译文] AM6411:SDK-Linux-am64xx-EVM-10.00.07.04下的引导加载程序编译错误

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1430267/am6411-boot-loader-compilation-error-with-sdk-linux-am64xx-evm-10-00-07-04

器件型号:AM6411

工具与软件:

您好!

我要 编译 SDK-LINUX-AM64xx-EVM-10.00.07.04、首先  编译 tiboot3.bin、然后编译 tispl.bin 和 u-boot.img、但很遗憾我遇到了错误、好像是链接器错误。  

$ make am64x_evm_a53_defconfig O=BUILD/A53
make[1]:输入目录"git/build/a53"/home/admin/ti-processor-sdk-linux-am64xx-evm-10.00.07.04/board-support/ti-u-boot-2024.04
Gen Makefile
Generated_defconfig:201:warning:override:重新分配给符号 SPL_MTD
#
#配置写入.config
#
make[1]:离开目录"/home/admin/ti-processor-sdk-linux-am64xx-evm-10.00.07.04/board-support/ti-u-boot-2024.04 + git/build/a53"

$ make -j8 cross_compile=$cross_compile BINMAN_INDIRS=$(pwd)/../prebuilt-images BL31=../prebuilt-images/bl31.bin tee=../prebuilt-images/bl32.bin O=build/a53
make[1]:输入目录"git/build/a53"/home/admin/ti-processor-sdk-linux-am64xx-evm-10.00.07.04/board-support/ti-u-boot-2024.04
Gen Makefile
UPD 包含/生成/ timestamp_autogenerated.h
使用/home/admin/ti-processor-sdk-linux-am64xx-evm-10.00.07.04/board-support/ti-u-boot-2024.04 + git 作为 U-Boot 的源
CC common/version.o.
AR 通用/内置.o.
LD u-boot
/home/admin/ti-processor-sdk-linux-am64xx-evm-10.00.07.04/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/aarch64-oe-linux-ld.bfd:找不到-lgcc:没有此类文件或目录
make[1]:***[git/Makefile:1766:/home/admin/ti-processor-sdk-linux-am64xx-evm-10.00.07.04/board-support/ti-u-boot-2024.04 u-boot]错误1.
make[1]:离开目录"/home/admin/ti-processor-sdk-linux-am64xx-evm-10.00.07.04/board-support/ti-u-boot-2024.04 + git/build/a53"
make:***[Makefiles:177: sub-make]错误2.

我已从 TI 页面下载了 SDK: PROCESSOR-SDK-AM64X 软件开发套件(SDK)| TI.com 以及以下链接、

https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-yXgchBCk98/10.00.07.04/ti-processor-sdk-linux-am64xx-evm-10.00.07.04-Linux-x86-Install.bin

 并按照 TI 链接进行 u-boot 构建: 构建 U-Boot

谢谢!

Mukesh Prajapati

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

    您好!  

    变量 cross_compile 设置为什么?

    请查看 以下链接中的"设置工具链路径"部分:
    3.1.1.一般信息- Processor SDK AM64X 文档

    此致、
    Aparna

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

    您好!

    我已按照如下 AD 设置了 cross_compile 变量  Rules.make 源文件中找到。  

    TI_SDK_PATH=/home/admin/ti-processor-sdk-linux-am64xx-evm-10.00.07.04

    cross_compile=${Linux_Devkit_path}/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/aarch64-oe-linux-

    谢谢!

    Mukesh Prajapati

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

    您已经尝试过使用构建了 生成 u-boot 命令之间的区别吗?

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

    您好!  

    我没有使用 Makefile 顶级 SDK 目录来构建它、但使用了如下所示的 Makefile u-boot 顶层、

    设置工具链路径

    使用   Rules.make

    编译 R5映像

    $ CD /
    $ export ARCH=arm
    $ make cross_compile=$cross_compile_ARMV7 am64x_evm_r5_defconfig O=build/r5
    $ make -j8 cross_compile=$cross_compile_ARMV7 BINMAN_INDIRS=$(pwd)../prebuild-images O=build/r5 

    编译 ARM64映像

    $ CD /
    $ export ARCH=arm
    $ make am64x_evm_a53_defconfig O=BUILD/A53
    $ make -J8 BINMAN_INDIRS=$(pwd)/../prebuilt-images BL31=.../prebuilt-images/bl31.bin te=../prebuilt-images/bl32.bin O=BUILD/A53 

    谢谢!

    Mukesh Prajapati

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

    您好!  

    似乎缺少一些变量。  

    请参阅随附的文件并使用 AM64构建命令创建一个文件。

    此致、
    Aparna

    e2e.ti.com/.../U_2D00_boot_5F00_build_5F00_am62p

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

    您好!

    在看到您之前的回复后、我添加了如下所示的变量、编译工作正常。


    Export SDK_INSTALL_DIR=

    导出 cross_compile_64="${SDK_INSTALL_DIR}/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/aarch64-oe-linux-

    导出 sysROOT_64="${SDK_INSTALL_DIR}/linux-devkit/sysroots/aarch64-oe-linux

    导出 CC_64="${cross_compile_64}gcc --sysroot=${sysroot_64}"

    export ROSS_COMPILE_32="${SDK_INSTALL_DIR}/k3r5-Devkit/sysroots/x86_64-arago-linux/usr/bin/arm-oe-eabi/arm-oe-eabi-"

    导出 uBoot_DIR=${SDK_INSTALL_DIR}/board-support/ti-u-boot

    导出 TI_LINUX_FW_DIR=${SDK_INSTALL_DIR}/board-support/prebuilt-images/am64xx-evm

    导出 uBoot_ATF=${SDK_INSTALL_DIR}/board-support/prebuilt-images/am64xx-evm/bl31.bin

    导出 UBoot_TEE=${SDK_INSTALL_DIR}/board-support/prebuilt-images/am64xx-evm/bl32.bin

    cd $uBoot_DIR

    --- r5---------------
    使 ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" am64x_evm_r5_defconfig O=$uBoot_DIR/OUT/R5
    make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" O=$uBoot_DIR/OUT/R5 BINMAN_INDIRS=$TI_LINUX_FW_DIR

    --- A53-------
    make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_64" am64x_EVM_A53_defconfig O=$uBoot_DIR/OUT/A53 BINMAN_INDIRS=$TI_LINUX_FW_DIR
    make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_64" CC="$CC_64" BL31=$uBoot_ATF TEE=$uBoot_TEE O=$uBoot_DIR/OUT/A53 BINMAN_INDIRS=$TI_LINUX_FW_DIR

    谢谢!

    Mukesh Prajapati