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.

[参考译文] AM625:如何使用 meta-toolchain-arago-tisdk 从 Yocto 生成处理器 SDK Linux AM62x

Guru**** 2553260 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1346770/am625-how-to-generate-a-processor-sdk-linux-am62x-from-yocto-using-meta-toolchain-arago-tisdk

器件型号:AM625

您好!

我需要为 AM62x 生成 Linux SDK、包括编译 Linux 内核所需的工具链和所有源代码。

我在构建食谱 tisdk-default-image 后、使用 SDK 09.02.01.02并构建食谱 meta-toolchain-arago-tisdk。

我使用脚本 deploy-ti/sdk/arago-2023.10-aarch64-linux-tisdk.sh 安装了它。

获得源文件/opt/arago-2023.10/environment-setup 后、未找到工具链。

/opt/arago-2023.10目录中没有前缀为 aarch64-none-linux-gnu-的文件。

如何生成 ti-processor-sdk-linux-am62xx-evm-09.02.01.09-linux-x86-Install.bin 等安装文件。

此致、

Alexis。

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

    尊敬的 Alexis:

    我刚启动一个构建来进行调查、需要一点时间才能完成。 工具链应该是安装程序目标中假定的"工具链"安装程序的一部分。

    此致、Andreas

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

    尊敬的 Alexis:

    我刚刚构建了  meta-toolchain-arago-tisdk 针对 AM62x SDK v9.2从零开始实施目标、然后在以下位置安装生成的工具链安装程序:  deploy-ti/sdk/ arago-2023.10-aarch64-linux-tisdk.sh

    然后、在根据 SDK 文档获取所提供的环境后、我可以使用`哪个`命令找到64位二进制工具链、如下所示:

    a0797059@dasso:~/tmp/arago-2023.10
    $ source environment-setup
    [linux-devkit]:~/tmp/arago-2023.10> echo $CC
    aarch64-oe-linux-gcc --sysroot=/home/a0797059/tmp/arago-2023.10/sysroots/aarch64-oe-linux
    [linux-devkit]:~/tmp/arago-2023.10> which $CC
    /home/a0797059/tmp/arago-2023.10/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/aarch64-oe-linux-gcc
    [linux-devkit]:~/tmp/arago-2023.10> $CC --version
    aarch64-oe-linux-gcc (GCC) 11.4.0
    Copyright (C) 2021 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    [linux-devkit]:~/tmp/arago-2023.10>

    您可以看到编译器二进制文件的相对路径为  sysroots/x86_64-arago-linux/usr/bin/aarch64-oE-linux/aarch64-oE-linux-gcc 。 编译器二进制可执行文件本身的命名与您寻找的文件略有不同(反映出它是由 OE 构建的工具链)、但重点是这是用于 SDK v9.2的正确工具链。

    此致、Andreas

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

    尊敬的 Andreas:

    我在 TI 网站上发现工具链前缀、ti 应该错误。

    但是,如果我使用 SDK 09.02.01.02文档:

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/09_02_01_09/exports/docs/linux/Foundational_Components_Kernel_Users_Guide device.html?highlect=device%20tree#compiling-the-device-tree-binaries

    我无法编译内核源代码、因为 cross_compile_64不是由设置环境脚本定义的。

    我完成:

    $ cross_compile_64="$cc"

    $ make ARCH=ARM64 CROSS_COMPILE="$CROSS_COMPILE_64" distclean

    $ make ARCH=ARM64 CROSS_COMPILE="$CROSS_COMPILE_64" defconfig ti_ARM64_prune.config

    但我得到了错误:  

    HOSTCC scripts/basic/fixdep
    在/storage/opt/arago-2023.10/sysroots/aarch64-oe-linux/usr/include/features-time64.h:21:0包含的文件中、
                    来自/storage/opt/arago-2023.10/sysroots/aarch64-oe-linux/usr/include/features.h:392、
                    来自/storage/opt/arago-2023.10/sysroots/aarch64-oe-linux/usr/include/sys/types.h:25、
                    从 scripts/basic/fixdep.c:92中:
    /storage/opt/arago-2023.10/sysroots/aarch64-oe-linux/usr/include/bits/timesize.h:23:10:致命错误:bits/timesize-32.h:没有这样的文件或目录
     #包含
             ^~~~~~~~~~~~~~~~~~~~
    编译终止。
    Scripts/Makefile.host:111:目标'scripts/basic/fixdep'的食谱失败
    make[2]:***[scripts/basic/fixdp]错误1
    Makefile:639:目标'scripts_basic'的食谱失败
    make[1]:***[scripts_basic]错误2
    Makefile:369:目标"__build_one_by_one"的配方失败
    制造:***[__build_one_by_one]错误2

    您能否为我提供使用 SDK 生成的 SDK 构建 SDK 09.02.01.02内核和器件的正确方法。

    此致、

    Alexis。

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

    您好!

    我还按如下方式设置变量、但误差相同。

    导出 cross_compile_64="${sdk_path_native}/usr/bin/aarch64-oe-linux /${target_prefix}"
    导出 SYSROOT_64="${SDK_PATH_Native}"
    Export CC_64="${cross_compile_64}gcc --sysroot=${SYSROOT_64}"

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

    尊敬的 Alexis:

    我无法构建内核源代码,因为 cross_compile_64不是由 setup-environment 脚本定义的。

    如果要编译内核、您应注意寻找环境脚本源、而只需直接使用工具链二进制文件。 您可以设置 cross_compile_64、如此处页面顶部所示: https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/09_02_01_09/exports/docs/linux/Overview/GCC_ToolChain.html#yocto-toolchain (该文档页面上也有关于构建内核的说明)。

    但我得到了错误:  

    HOSTCC scripts/basic/fixdep
    在/storage/opt/arago-2023.10/sysroots/aarch64-oe-linux/usr/include/features-time64.h:21:0包含的文件中、
                    来自/storage/opt/arago-2023.10/sysroots/aarch64-oe-linux/usr/include/features.h:392、
                    来自/storage/opt/arago-2023.10/sysroots/aarch64-oe-linux/usr/include/sys/types.h:25、
                    从 scripts/basic/fixdep.c:92中:
    /storage/opt/arago-2023.10/sysroots/aarch64-oe-linux/usr/include/bits/timesize.h:23:10:致命错误:bits/timesize-32.h:没有这样的文件或目录
     #包含

    [/报价]

    这可能是因为在采购交叉工具链环境时、已(重新)定义$CC。 再说一次、不要对内核构建这么做。 它需要按原样访问主机工具链。 如果事情被重新定义,这就不再起作用了。

    此致、Andreas

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

    尊敬的 Andreas:

    我构建内核和器件树时没有出现任何错误。

    谢谢。

    Alexis。

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

    尊敬的 Alexis:

    很高兴听到您在这里关闭环路。

    此致、Andreas