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:可通过 Linux SDK9.1进行32位应用程序交叉编译

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1326555/am625-32bit-application-cross-compile-with-linux-sdk9-1

器件型号:AM625

您好!

我的客户希望使用 SDK9.1交叉编译32位应用程序。

它们使用以下设置执行了与 SDK9.0 32位交叉编译。

Fullscreen
1
2
3
4
5
6
export PATH=$PATH:$SDK_PATH/external-toolchain-dir/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin
export CPATH=$SDK_PATH/external-toolchain-dir/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/libc/usr/include
export LD_LIBRARY_PATH=$SDK_PATH/external-toolchain-dir/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/libc/usr/lib:$SDK_PATH/external-toolchain-dir/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/libc/lib
Added below to CFLAGS in Makefile
CFLAGS += --sysroot=$SDK_PATH/external-toolchain-dir/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/libc/
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


但在 SDK9.1中、32位应用没有"external-toolchain-dir"或交叉编译器。

谢谢。此致、
田代浩一郎

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

    尊敬的 Tashiro-San:

    请查看 SDK 安装目录中的文件 Rules.make、其中列出了32位和64位工具链的位置:

    Fullscreen
    1
    2
    export CROSS_COMPILE=$(LINUX_DEVKIT_PATH)/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/aarch64-oe-linux-
    export CROSS_COMPILE_ARMV7=$(K3_R5_LINUX_DEVKIT_PATH)/sysroots/x86_64-arago-linux/usr/bin/arm-oe-eabi/arm-oe-eabi-
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

    您好、Bin、

    但在用户指南中:https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/09_01_00_08/exports/docs/linux/Foundational_Components U2-Boot/UG-General-Info.html

    从命令行构建使用  arm-none-linux-gnueabihf、而不是 arm-oe-eabi- 、正确

    生成$uBoot_DIR
    
     R5
    以构建 tiboot3.bin。 保存在$uBoot_DIR/out/R5中。 
    
    对于 AM62X
     $ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- am62x_EVM_R5_defconfig O=$uBoot_DIR/OUT/R5
     $ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- O=$uBoot_DIR/OUT/R5 BINMAN_INDIRS=$DIRS= 

    在用户指南中:

    1.1.5.  GCC 工具链

    host#导出路径=" /linux-devkit/sysroots/x86_64-arago-linux/usr/bin:$path" 

    上半部分应该是错误的? 如何导出工具链以构建 uboot 和内核?


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

    尊敬的 Tony:

    我在最近的 SDK 版本中看到、工具链名称不断变化。 我想这是由于与开放源代码项目保持一致。

    但在用户指南中:https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/09_01_00_08/exports/docs/linux/Foundational_Components U2-Boot/UG-General-Info.html

    从命令行构建使用  arm-none-linux-gnueabihf、而不是 arm-oe-eabi- 、正确

    [/报价]

    它应该是 arm-or-eabi-、因为这是 SDK 软件包中提供的32位工具链。 我认为文档已经过时了。 我将为此向我们的开发团队提交一个请求单。

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

    尊敬的 Tony:

    SDK 文档已经过内部更新、以更正工具链信息。 该文档将在 SDK9.2版本中公开发布。