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.

SK-AM64B: AM6x Linux Toolchain, use external or internal

Part Number: SK-AM64B

Hi all,

In the past when building images with Yocto and Buildroot we usually used the toolchain for our applications that was generated in the building process (e.g. aarch64-oe-linux-gnu- or aarch64-buildroot-linux-gnu-). With the current Linux SDK 9.x for the AM64x when building the image according to your instructions (https://software-dl.ti.com/processor-sdk-linux-rt/esd/AM64X/09_00_00_03/exports/docs/linux/Overview_Building_the_SDK.html) an external toolchain is used, which we also use so far building our own applications for the AM64.

Now we wanted to start using the internal toolchain from Yocto. When simply generating the sdk with the tisdk-core-bundle and meta-toolchain-arago-tisdk targets, the resulting toolchain after sourcing the environment (environment-setup-aarch64-oe-linux) is without the gnu (aarch64-oe-linux-) extension and does not work for the final applications. As I understand to use the internal toolchain the steps in this forum post would be necessary: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1202155/faq-am6x-am335x-am437x-using-a-yocto-internal-toolchain-for-target-image-builds-and-cross-development-sdk-installer-generation-with-yocto-dunfell-based-v8-x-sdks-for-sitara-mpus.

There are a couple of questions regarding the toolchain now:

1. In the above mentioned forum post from a couple months ago there is a note saying "Note: Upcoming Yocto Kirkstone-based Sitara SDKs v9.x will use a Yocto-internal toolchain by default, and this E2E FAQ is no longer applicable/needed.". What is the situation on this? As far as I can tell the current SDK v9.x is still using the external toolchain judging from your instructions for building the sdk?

2. What is the recommended way from your side? Using the external or internal toolchain? Do you have any resources/links on how to cross compile applications for the AM6x devices?

  • Internal arm tool chain that comes with yocto kirkstone is the recommended one. (Starting from 9.0). Will get the release document fixed for the next release timeframe.

    Arm external tool chain can still be used for building components like uboot and kernel standalone for someone who doesn't want to use yocto devkit

  • Thank you for your help.
    The internal toolchain including gnu is actually generated as expected with tisdk-core-bundle/meta-toolchain-arago-tisdk builds.The gnu is just omitted from the name of the tool as aarch64-oe-linux- instead of aarch64-oe-linux-gnu-.