SK-AM62A-LP: SK-AM62A-LP E3开发板

Part Number: SK-AM62A-LP

您好,

      我正在参考《1.2. Building the SDK with Yocto》,其中,我的docker pull ghcr.io/texasinstruments/ubuntu-distro:latest这个步骤是可以运行成功的!

  1.5. Processor SDK Technical Support — Processor SDK AM62Ax Documentation

搭建yocto的开发环境,我想知道下面的这个1.2.2和1.2.3是不是可以选择的?选一种就行的意思?那么优先推荐哪一种?

如果参考1.2.2章节,那么docker环境搭好后,需要运行

./oe-layertool-setup.sh -f configs/processor-sdk/<oe-config-file>,我们想知道
<oe-config-file>这个文件对于我们的SK-AM62A-LP开发板应该选择哪一个文件?
我们参考了


所以,按照下面的执行对么?
./oe-layertool-setup.sh -f configs/processor-sdk-analytics/processor-sdk-analytics-10.00.00-config.txt 

希望能够尽快回复,非常感谢!!!

  • 您好,

    我想知道下面的这个1.2.2和1.2.3是不是可以选择的?选一种就行的意思?那么优先推荐哪一种?

    是的,它是基于容器(1.1.2)或基于主机(1.2.3)的。 什么是更好的真正取决于. 传统的方法是使用基于主机的方法,我也更喜欢这种方法,因为所涉及的层次较少。 但是,基于容器的方法对主机设置本身的依赖性较低,并且在某些非标准环境(例如,我们正式支持的其他Linux发行版本除外)中可能更好地工作。 最终支持这两种方法。

    所以,按照下面的执行对么?

    是的。 此外,请确保您不要忘记按照SDK文档中涉及修改conf/local.conf 的"branding step"。 

  • 您好,

            我们使用的是下面这块板子(

    SK-AM62A-LP E3开发板

    ),那么编译的时候该怎么样配置?

    这两部分我该如何配置?MACHINE我应该设置为什么?实际板子上面使用的是哪个版本?

  • 您好,     

    您需要使用前面发布的配置:

    ./ oe-layertool-setup.sh -f configs/processor-sdk-analytics/processor-sdk-analytics-10.00.00-config.txt

    此外,当前文档中的品牌推广步骤不正确,它会导致conf/local.conf中出现额外字符。 然后,不再需要克隆/导出安全开发包。 这两个问题都是已知的文档问题,将在下一个版本中得到解决。

    总之,对于SDK v10.0,正确步骤如下: 

    git clone git.ti.com/.../oe-layersetup.git tisdk
    cd tisdk
    ./oe-layertool-setup.sh -f configs/processor-sdk-analytics/processor-sdk-analytics-10.00.00-config.txt
    cd build
    . conf/setenv
    echo 'ARAGO_BRAND = "edgeai"' >> conf/local.conf
    MACHINE=am62axx-evm bitbake -k tisdk-edgeai-image

  • 您好,

          我们想知道TI发布的是基于docker和主机的方式编译?那么如果不适用yocto的方式构建,有没有其他办法单独编译uboot和kernel?这样来快速的修改驱动,适配屏幕或者摄像头。

           比如我下载对应版本的uboot代码和对应版本的内核代码。如果有的话,可否分享一下,谢谢啦!

  • 您好,

         您可以在 Yocto 之外单独构建 U-Boot 和 Kernel;事实上,这就是作为标准 SDK 的一部分完成的方式。

        3.1.1.1. General Information — Processor SDK AM62Ax Documentation

        3.2.1. Users Guide — Processor SDK AM62Ax Documentation

  • 您好,

          我使用Ubuntu22.04.4,先在部署yocto之前,只更新了源,安装了虚拟机工具(选择xorg)方便复制粘贴~安装了git。按照如下步骤:

    1.安装Docker

    Ubuntu | Docker Docs

    for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

    # Add Docker's official GPG key:
    sudo apt-get update
    sudo apt-get install ca-certificates curl
    sudo install -m 0755 -d /etc/apt/keyrings
    sudo curl -fsSL download.docker.com/.../gpg -o /etc/apt/keyrings/docker.asc
    sudo chmod a+r /etc/apt/keyrings/docker.asc

    # Add the repository to Apt sources:
    echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] download.docker.com/.../ubuntu \
    $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
    sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt-get update

    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

    sudo -i

    docker pull ghcr.io/texasinstruments/ubuntu-distro:latest

    2.部署yocto,参考1.2.3.2的步骤,

    1.2. Building the SDK with Yocto — Processor SDK AM62Ax Documentation

    # On Host
    host# export WORK_DIR=/home/testing
    host# docker run --privileged -it -v ${WORK_DIR}:/home/tisdk -v /dev:/dev -v /media/:/media/ -w /home/tisdk ghcr.io/texasinstruments/ubuntu-distro:latest

    # Inside Container Now
    tisdk@9b297a000db9~$
    tisdk@9b297a000db9:~$ pwd
    /home/tisdk

    sudo chown -R tisdk /home/tisdk

    # Clone oe-layersetup
    tisdk@9b297a000db9:~$ git clone git.ti.com/.../oe-layersetup.git tisdk
    tisdk@9b297a000db9:~$ cd tisdk
    tisdk@9b297a000db9:~$ ./oe-layertool-setup.sh -f configs/processor-sdk/<oe-config-file>
    tisdk@9b297a000db9:~$ cd build
    tisdk@9b297a000db9:~$ . conf/setenv
    改local.conf如下:添加
    BB_NUMBER_THREADS = "8"
    PARALLEL_MAKE = "-j 8"
    tisdk@9b297a000db9:~$ export TI_SECURE_DEV_PKG_K3=`pwd`/core-secdev-k3
    tisdk@9b297a000db9:~$ MACHINE=am62axx-evm bitbake -k tisdk-edgeai-image

    3.编译结果:

    问题一:我现在装到了这么多97%,重新bitbake -c clean tisdk-edgeai-image,在重新编译MACHINE=am62axx-evm bitbake -k tisdk-edgeai-image也不行~请帮忙检查下我上面的详细步骤是否有问题。

    问题二:如果此时Ubuntu关机、重启的话(暂时保持了虚拟机的“挂起”状态),输入正确的账号密码Xorg的桌面就进不去了,反复卡在登录的图形界面~只能进到命令行的,这个可能什么原因啊?

    以上问题,期待能尽早回复,非常感谢!

  • 您好,

          需要时间确认,请等待后续回复。

  • 您好,
    我们正在使用SK-AM62A-LP这个板子,参考了1.2.3.2章节和2.2章节编译了yocto系统,那么,交叉编译器是自带的么?还是需要参考1.1.4自己安装?以及yocto编译出那么多文件夹,那么每个文件夹及其里面的内容代表什么,我应该参考哪部分?
    https://software-dl.ti.com/processor-sdk-linux/esd/AM62AX/10_00_00/exports/docs/linux/Overview/GCC_ToolChain.html

    还有下面这两个章节里面的uboot和kernel的代码在yocto的具体什么位置?需要怎么单独编译,可否帮忙详细写下步骤,

        3.1.1.1. General Information — Processor SDK AM62Ax Documentation

        3.2.1. Users Guide — Processor SDK AM62Ax Documentation

    还有yocto的我们已经编译过一次,那么是不是该有的包都有了,为什么每次编译都联网么?

    请帮忙看看,非常感谢!

  • 您好,

         请参考  Customizing a Yocto-Based Linux Distribution for Production: Building Processor SDK Linux | Video | TI.com

         Yocto作为i一个嵌入式系统的定制工具,此SDK编译后输出tisdk-edgeai-image文件。

         您可以不使用Yocto直接编译 uboot(3.1.1.1.2. Build U-Boot和kernel,SDK用户手册提供了具体的说明。

        3.1.1.1. General Information — Processor SDK AM62Ax Documentation

  • 您好,

      1.1.3. Run Setup Scripts — Processor SDK AM62Ax Documentation

       这个作用是什么?我参考安装了脚本,更改了文件夹的名字为ti-processor-sdk-linux,以普通用户运行.setup.sh最后阶段需要识别板子么?这个1.1.3节的步骤是必须的么?

           以上请帮忙看看,非常感谢!

  • 您好,

          是为了开发所需的一些配置。

          

  • 您好,

           1.1.3中安装时用的root权限( (sudo access) 0是吧?如下面截图,编译也用root权限试一下。

         

  • 您好,

           我们参考1.2.3章节,

           software-dl.ti.com/.../Overview_Building_the_SDK.html

           Yocto编译的是否自动生成了交叉编译器、uboot、kernel,如果生成了分别在什么路径?如果没有生成,接下来需要如何操作?

            非常感谢!

  • 您好,

           参考3.1.1.1章节,

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62AX/10_00_00/exports/docs/linux/Foundational_Components/U-Boot/UG-General-Info.html

           

           我在编译uboot时候,按照如下步骤:

           export SOC=am62a
    export SDK_INSTALL_DIR=/home/vmuser/ti-processor-sdk-linux-edgeai-am62a-evm-10_00_00_08
    export CROSS_COMPILE_64="${SDK_INSTALL_DIR}/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/aarch64-oe-linux-"
    export SYSROOT_64="${SDK_INSTALL_DIR}/linux-devkit/sysroots/aarch64-oe-linux"
    export CC_64="${CROSS_COMPILE_64}gcc --sysroot=${SYSROOT_64}"
    export CROSS_COMPILE_32="${SDK_INSTALL_DIR}/k3r5-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-oe-eabi/arm-oe-eabi-"

    因为我看在安装的SDK里面只有这3个包

    所以我使用的自己下载的包,

    export UBOOT_DIR=/home/vmuser/UbootTest/ti-u-boot
    export TI_LINUX_FW_DIR=/home/vmuser/UbootTest/ti-linux-firmware
    export TFA_DIR=/home/vmuser/UbootTest/trusted-firmware-a
    export OPTEE_DIR=/home/vmuser/UbootTest/optee_os

    按照如下指令编译,

    cd $UBOOT_DIR
    
    R5
    To build tiboot3.bin. Saved in $UBOOT_DIR/out/r5.
    $ make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" am62ax_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
    To build tispl.bin and u-boot.img. Saved in $UBOOT_DIR/out/a53. Requires bl31.bin, tee-pager_v2.bin.
    $ make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_64" am62ax_evm_a53_defconfig O=$UBOOT_DIR/out/a53
    $ make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_64" CC="$CC_64" BL31=$TFA_DIR/build/k3/lite/release/bl31.bin TEE=$OPTEE_DIR/out/arm-plat-k3/core/tee-pager_v2.bin O=$UBOOT_DIR/out/a53 BINMAN_INDIRS=$TI_LINUX_FW_DIR

           遇到如下报错,

           

    请帮忙看看,感谢!

  • 您好,

         请重新检查下面问题回复。

          tisdk@9b297a000db9:~$ export TI_SECURE_DEV_PKG_K3=`pwd`/core-secdev-k3

          ------如前所述,请勿使用此步骤,因为文档中的此步骤不正确。 SDK v10.x内部版本已经内置了安全签名软件包/进程。 此步骤仅适用于较旧的SDK。

    问题一:我现在装到了这么多97%,重新bitbake -c clean tisdk-edgeai-image,在重新编译MACHINE=am62axx-evm bitbake -k tisdk-edgeai-image也不行~请帮忙检查下我上面的详细步骤是否有问题。

    问题二:如果此时Ubuntu关机、重启的话(暂时保持了虚拟机的“挂起”状态),输入正确的账号密码Xorg的桌面就进不去了,反复卡在登录的图形界面~只能进到命令行的,这个可能什么原因啊?

    您的计算机可能会出现内存不足(RAM)的情况,这可能是因为AM62A EdgeAI映像构建得非常大/繁重。

    请在此处尝试一下AM62文档(software-dl.ti.com/.../Overview_Building_the_SDK.html 尝试将两个变量设置为`4`作为起点。