基于yacto构建am5728 SDK

  1. 构建SDK
    1.1 介绍
    本页面提供了从源代码构建处理器SDK和各个组件的步骤。 ProcessorSDK构建基于Arago项目,Arago项目为OpenEmbedded和Yocto项目提供了一组面向TI平台的层。
    本页面将提供重新创建处理器SDK所需的基本步骤,以及处理器SDK特定配置、构建目标和目标设备的参考。此外,还提供了提示和建议以及更深入信息的链接。
    1.2 快速启动
    1.2.1 先决条件(一次性设置)
    主机设置- Ubuntu(推荐)
    推荐的Linux发行版为Ubuntu 16.04或Ubuntu 18.04。
    Ubuntu需要以下构建主机包。下面的命令将在Ubuntu Linux发行版上安装所需的工具。
    对于Ubuntu 16.04和18.04,请执行以下命令:
$ sudo apt-get install git build-essential python diffstat texinfo gawk chrpath dos2unix wget unzip socat doxygen libc6:i386 libncurses5:i386 libstdc++6:i386 libz1:i386

Ubuntu默认使用“dash”作为/bin/sh的默认shell。您必须通过运行以下命令重新配置才能使用

bash:
sudo dpkg-reconfigure dash

当要求使用dash作为默认系统shell时,请确保选择“No”。
交叉编译工具链
运行以下命令以安装ARM工具链。

$ wget https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz
$ tar -Jxvf gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz -C $HOME
$ wget https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz
$ tar -Jxvf gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz -C $HOME

Yocto层配置
Processor SDK使用以下oe-layersetup配置来配置meta层。以下是命令中使用的:

$ ./oe-layersetup.sh -f <config>

以下配置文件位于oe-layersetup git repo的 configs/processor-sdk目录中

Config File  Description Supported machines/platforms
processor-sdk-06.03.00.106-config.txt   Processor SDK 6.3.0.106 Release am335x-evm, am437x-evm, am57xx-evm, am65xx-evm, k2hk-evm, k2e-evm, k2l-evm, k2g-evm, omapl138-lcdk

1.2.2. 构建步骤
有关处理器SDK Linux的特定版本的层配置,请参阅Yocto层配置。下面的最后一个命令将构建arago-base-tisdk-image,这是最小处理器SDK文件系统。有关其他目标的列表,请参见构建选项。

$ git clone git://arago-project.org/git/projects/oe-layersetup.git tisdk
$ cd tisdk
$ ./oe-layertool-setup.sh -f configs/processor-sdk/processor-sdk-<version>-config.txt
$ cd build
$ . conf/setenv
$ export TOOLCHAIN_PATH_ARMV7=$HOME/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf
$ export TOOLCHAIN_PATH_ARMV8=$HOME/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu
$ MACHINE=am57xx-evm bitbake arago-base-tisdk-image

1.3 处理器SDK构建参考
下面几节提供有关Processor SDK的配置、构建选项和支持平台的信息。
1.3.1 层配置
关于处理器SDK Linux特定版本的层配置,请参阅这里。
1.3.2。构建选项
映像
除了各个组件包之外,下表还提供了支持的构建目标列表。以下是命令中使用的:

MACHINE=<machine> bitbake <target>

“Build Output”是相对于 arago-tmp-[toolchain]/deploy目录给出的。

Target   Build Output    Description
arago-core-tisdk-bundle images/<machine>/processor-sdk-linux-bundle-<machine>.tar.xz    Full SDK
tisdk-rootfs-image  images/<machine>/tisdk-rootfs-image-<machine>.tar.xz    Target Filesystem
arago-base-tisdk-image  images/<machine>/arago-base-tisdk-image-<machine>.tar.xz    Minimal Target Filesytem
meta-toolchain-arago-tisdk  sdk/arago-<arago-version>-<architecture>.sh Devkit

平台
Processor SDK支持以下平台。以下是命令中的:

MACHINE=<machine> bitbake <target>
MACHINE Supported EVMs
am335x-evm  AM335x EVM, AM335x Starter Kit, Beaglebone Black
am437x-evm  AM437x GP EVM, AM437x Starter Kit
am57xx-evm  AM572x GP EVM, AM572x Industrial Development Kit, AM571x Industrial Development Kit
am65xx-evm  AM65x Evaluation Module, AM65x Industrial Development Kit, DRA80xM Evaluation Module
k2hk-evm    66AK2Hx EVM , K2K EVM
k2e-evm     K2Ex EVM
k2l-evm     66AK2L06 EVM
k2g-evm     K2G EVM
omapl138-lcdk   OMAP-L138 LCDK

RT支持
处理器SDK Linux支持以下machines/EVMs的RT Linux内核。使用下面的命令进行RT构建:

MACHINE=<machine> ARAGO_RT_ENABLE=1 bitbake <target>
MACHINE  Supported EVMs
am335x-evm  AM335x EVM, AM335x Industrial Communications Engine
am437x-evm  AM437x GP EVM, AM437x Industrial Development Kit
am57xx-evm  AM572x GP EVM, AM574x Industrial Development Kit, AM572x Industrial Development Kit, AM571x Industrial Development Kit
am65xx-evm  AM65x Evaluation Module, AM65x Industrial Development Kit, DRA80xM Evaluation Module
k2hk-evm    66AK2Hx EVM , K2K EVM
k2e-evm K2Ex EVM
k2l-evm 66AK2L06 EVM

使用源代码包快照
当外部URLs不可用时,使用arago源程序包的快照可以避免构建过程中的获取错误。要使用给定处理器SDK发行版中分发的源代码快照,必须从SDK下载页面下载一个脚本,然后在主机上执行该脚本以从TI服务器获取所有包。例如,请参阅:“ti-processor-sdk-linux-[platform]--Linux-x86-Install.bin”在AM57xx-Linux-SDK-Download-page.
下载了这个包之后,构建过程中只需要几个额外的步骤就可以获取所有相应的包。额外的步骤如下红色所示:

$ git clone git://arago-project.org/git/projects/oe-layersetup.git tisdk
$ cd tisdk
$ ./oe-layertool-setup.sh -f configs/processor-sdk/processor-sdk-<version>-config.txt
$ mkdir downloads
$ cd downloads
$ # Assuming src file downloaded to $HOME/Downloads
$ tar xvf $HOME/Downloads/<target-board>-linux-sdk-arago-src-##.##.##.##.tar.xz
$ <target-board>-linux-sdk-arago-src-##.##.##.##/get_build_sources.sh <target-board>-linux-sdk-arago-src-##.##.##.##/source_pkg_list.txt
$ cd ..</span>
$ cd build
$ . conf/setenv
$ export TOOLCHAIN_PATH_ARMV7=$HOME/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf
$ export TOOLCHAIN_PATH_ARMV8=$HOME/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu
$ MACHINE=<target-board> bitbake arago-core-tisdk-bundle

1.3.3. 食谱
配方基础知识
可以为指定一个或多个配方,以提高配方开发和调试的粒度。指定一个配方名称,_版本(如果名称后面附加了版本),将生成配方及其所有依赖项。
例如,下面的命令只构建opencl配方及其定义的所有依赖项。
MACHINE=am57xx-evm bitbake opencl
bitbake命令成功完成后, arago-tmp-[toolchain]/work/am57xx_evm-linux-gnueabi/opencl 目录将可用,包括git文件夹下的原始源代码、packages-split文件夹下的独立共享对象(.so文件)和deploy-ipks文件夹下的IPKs。。
请注意,根据配方的定义,配方的输出可以位于“arago-tmp-[toolchain]/work”目录下的另一个文件夹中,具体取决于配方的定义。
强制重新编译
如果需要,可以修改工作目录下的源代码(例如: arago-tmp-[toolchain]/work/am57xx_evm-linux-gnueabi/opencl/git)。修改完成后,运行以下命令用新代码强制重新编译并重新构建菜谱,

e.g, MACHINE=am57xx-evm bitbake opencl --force -c compile
MACHINE=am57xx-evm bitbake opencl

安装包
要安装修改和重建的包,从deploy-ipks文件夹(例如,arago-tmp-[toolchain]/work/am57xx_evm-linux-gnueabi/opencl/[version]/deploy-ipks)复制新的IPKs到目标系统,然后运行以下命令安装IPKs:
opkg install [package_ipk].ipk
清理构建的配方
可以使用以下方法清理已构建的配方:

MACHINE=<machine> bitbake <target> -c cleansstate

cleansstate任务将清理配方的工作目录,并从编译期间其他配方使用的依赖树中删除配方的输出。
1.4. 常见变体
不使用SGX重建
在今天提供的处理器SDK中,图形硬件加速默认为SGX设备系列(如AM335x、AM437x、AM57xx)启用。因此,一些依赖于图形的应用程序将不能在那些不包含SGX加速器的系列设备变体上正常运行(例如AM3352、AM4372等)。处理器SDK已经得到了增强,以提供与QT5/Weston提供的软件渲染相同的OOB体验。在调用bitbake之前,通过在conf/local.conf文件的底部添加以下内容来启用非sgx软件渲染构建。

MACHINE_FEATURES_remove="sgx"
PACKAGECONFIG_remove="wayland-egl"

没有Wayland重建
如果不需要一个完整的窗口系统,例如,如果你只是想让应用程序使用EGLFS全屏运行,那么你可以通过在调用bitbake之前在conf/local.conf的底部添加以下内容来删除Wayland:

DISTRO_FEATURES_remove = "wayland"

X11构建说明
X11已经作为一个构建选项在ProcessorSDK4.1版本之上进行了验证。为了使用X11而不是Wayland构建,请使用配置processor-sdk-04.01.00.06-x11-config.txt进行oe-layer-setup。这个配置文件和processor-sdk-04.01.00.06配置文件之间的一个关键区别是来自meta-processor-sdk的分支。对于X11构建,使用morty-x11-experimental分支,其中DISTRO_CONFIG被设置为X11,而不是wayland。
X11文件系统
所有与X11相关的组件都由IMG DDK X11包提供,它们位于/usr/local/XSGX目录下,而不是/usr/include和/usr/lib目录下。使用X11构建并验证了以下应用程序和演示:
• SGX unitest程序: xgles1tests, xgles2test1等
• PVR SDK 3D演示程序: ChameleonMan, ExampleUI等
•eglfs上的qt5示例和演示程序。x11包括matrix-gui-browser
在X11构建中,xorg (Xserver)在默认情况下运行并拥有DSS资源。为了支持在X11应用程序和非X11应用程序(如DRM modetest和gstreamer管道)之间进行切换,提供了以下shell文件来停止和启动Xserver。

/etc/init.d/xorg<start | stop>;

1.5 另请参阅
使用Arago项目构建TI sdk的一般信息可以在Arago Project: Setting Up the Build Environment找到。此页面包含构建主机先决条件的信息,例如安装工具链、所需的主机包和配置,以及完全从源代码创建SDK所需的基本步骤。熟悉了Arago项目信息后,请阅读下一节,以获取层配置、构建目标和处理器SDK支持的平台的参考资料。
• Yocto Project
• OpenEmbedded
• Arago Project

基于yacto构建am5728 SDK相关推荐

  1. dubbo k8s 服务发现_工商银行基于 Dubbo 构建金融微服务架构的实践-服务发现篇

    作者 | 张远征来源|阿里巴巴云原生公众号 导读:Dubbo 作为分布式微服务框架,众多公司在实践中基于 Dubbo 进行分布式系统架构.重启开源后,我们不仅看到 Dubbo 3.0 最新的 Road ...

  2. 付力力: 基于 ImpalaS 构建实时用户行为分析引擎

    本文来自神策数据联合创始人&首席架构师付力力在 QCon 北京 2017 年全球软件开发者大会上的精彩分享,主题是"基于 ImpalaS 构建实时用户行为分析引擎". 付力 ...

  3. 视频私有云实战:基于Docker构建点播私有云平台

    私有云是为一个客户单独使用而构建的,因而提供对数据.安全性和服务质量的最有效控制.前置条件是客户拥有基础设施,并可以使用基础设施在其上部署应用程序.其核心属性是专有的资源.本篇文章将会结合网易云信的实 ...

  4. 技术干货| 阿里云基于Hudi构建Lakehouse实践探索

    简介:阿里云高级技术专家王烨(萌豆)在Apache Hudi 与 Apache Pulsar 联合 Meetup 杭州站上的演讲整理稿件,本议题介绍了阿里云如何使用 Hudi 和 OSS 对象存储构建 ...

  5. 技术干货| 阿里云基于Hudi构建Lakehouse实践探索「内附干货PPT下载渠道」

    简介: 阿里云高级技术专家王烨(萌豆)在Apache Hudi 与 Apache Pulsar 联合 Meetup 杭州站上的演讲整理稿件,本议题介绍了阿里云如何使用 Hudi 和 OSS 对象存储构 ...

  6. mpvue 微信小程序api_基于mpvue构建微信和支付宝小程序(1)

    基于mpvue构建微信和支付宝小程序(1) (1)----- 基础架构篇 why?为啥会有这个系列? 无论是百度和google,关于mpvue构建小程序的项目讲的都是管中窥豹,没有一个系统的讲解. 本 ...

  7. 【华为云技术分享】使用CloudIDE快速体验基于华为云ModelArts SDK的AI开发

    华为云ModelArts一站式AI开发与管理平台,能够支撑开发者从数据到AI应用的全流程开发过程,包含数据处理.算法开发.模型训练.模型管理.部署等,支持图像分类.图像检测.视频分析.语音识别.产品推 ...

  8. 快手基于 Flink 构建实时数仓场景化实践

    摘要:本文整理自快手数据技术专家李天朔在 5 月 22 日北京站 Flink Meetup 分享的议题<快手基于 Flink 构建实时数仓场景化实践>,内容包括: 快手实时计算场景 快手实 ...

  9. 数据运营时代,如何基于AnalyticDB构建企业实时数仓?

    摘要:万事万物每时每刻都在产生大量的数据,数据无处不在,数据化运营在今天的物流.零售.电商.金融等等行业中都有诸多成功的实践,但是如何降低企业大数据的建设门槛,使得大数据分析成为一种人人都可以获得的普 ...

最新文章

  1. 7-5 二分法求多项式单根 (20分)
  2. 关于python编码的问题
  3. 将DataSet中的操作更新到Access数据库
  4. USACO-Section1.5 Arithmetic Progressions(枚举)
  5. 我遇到了Hibernate异常
  6. 编写一个计算机程序用来计算一个文件的 16 位效验和(Java实现)
  7. symfony ajax,如何在php或symfony中使用jQuery ajax上传文件
  8. Android框架之AsyncHttpClient
  9. [NOI2018]你的名字(68pts)
  10. 自动化检测工具助力GJB 8114-2013 C/C++语言编程安全子集标准落地应用
  11. PHP:A mono-alphabetic cipher 单字母密码加解密算法(附完整源码)
  12. 模糊神经网络应用实例,神经网络与模糊控制
  13. 生动理解java接口
  14. android控件翻书效果,android ViewPager实现滑动翻页效果实例代码
  15. linux时间间隔计算
  16. (八)JVM成神路之GC分区篇:G1、ZGC、ShenandoahGC高性能收集器深入剖析
  17. wpa supplicant
  18. 前端系列之实战(城市医院预约挂号平台2.基本样式编写)
  19. 模块化多电平变换器载波移相与电容电压平衡控制MATLAB仿真
  20. 《运营之光》-- 学习笔记(三)

热门文章

  1. 劳务派遣与劳务外包的主要区别
  2. 高翔orbslam_高翔Slambook第七讲代码解读(特征点提取)
  3. bmp图片灰度化和二值化
  4. 程序员如何写好技术简历 —— 实例、模板及工具
  5. 学术英语理工(第二版)Unit4课文翻译
  6. QT开发MQTT 之 MQTT 编译
  7. ubuntu桌面幻灯片_如何在Ubuntu中创建墙纸幻灯片
  8. fastjsonfastjson 1.2.24 反序列化导致任意命令执行
  9. 优酷视频如何登录优酷账号?
  10. 随笔-给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和