NXP

NXP(Freescale) QorIQ T2080 SDK使用

2019-07-12 12:42发布

class="markdown_views prism-dracula">

安装

安装SDK2.0, $ sudo mount -o loop QorIQ-SDK-<version>-<target>-<yyyymmdd>-yocto.iso /mnt/cdrom $ /mnt/cdrom/install 安装更新,安装过程中提示输入SDK安装路径, $ tar -xjf SDK-V2.0-1703.tar.bz2 $ ./SDK-V2.0-1703/install

编译

编译输出的镜像文件在build_t2080rdb-64b/tmp/deploy/images/t2080rdb-64b/中, $ . ./fsl-setup-env -m t2080rdb-64b $ bitbake fsl-image-core 打包内核,根文件系统和设备树, $ bitbake fsl-image-kernelitb

获取软件包源代码

获取u-boot源代码, $ bitbake -c cleansstate u-boot $ bitbake -c patch u-boot 此时可更改源代码并编译, $ bitbake -c compile -f u-boot $ bitbake u-boot 获取内核源代码, $ bitbake -c cleansstate virtual/kernel $ bitbake -c patch virtual/kernel 此时可更改源代码并编译, $ bitbake -c menuconfig virtual/kernel $ bitbake -c compile -f virtual/kernel $ bitbake virtual/kernel 获取软件源代码, $ bitbake usdpaa-apps -c patch -f 此时可更改源代码并编译, $ bitbake -c compile -f usdpaa-apps

定制根文件系统

使用Yocto定制根文件系统,缩小文件系统大小,放入Nor Flash后,加快启动速度, # Copyright (C) 2015 Qe.Ltd require fsl-image-minimal.bb SUMMARY = "Small image commonly used for manufacturing or other small image needs." DESCRIPTION = "Small image which only includes essential manufacturing packages to deploy other big images to large physical media, such as a USB stick or a hard drive." LICENSE = "MIT" IMAGE_FSTYPES += " ext4.gz ext4.gz.u-boot" IMAGE_INSTALL_append = " packagegroup-core-ssh-openssh packagegroup-fsl-mfgtools e2fsprogs-badblocks e2fsprogs-e2fsck e2fsprogs-tune2fs i2c-tools pciutils ethtool iperf3 " DPAA_PKGS = " eth-config fmc usdpaa usdpaa-apps dpa-offload hypervisor-partman " DPAA_PKGS_e500v2 = "" DPAA_PKGS_remove_e6500 = "hypervisor-partman" DPAA_PKGS_append_e6500 = " lib64-hypervisor-partman" PMETOOLS ?= "pme-tools" PMETOOLS_e500v2 = "" RDEPENDS_${PN}_append_qoriq = " merge-files ${DPAA_PKGS} " RDEPENDS_${PN}_append_qoriq-ppc = " apptrk asf ${PMETOOLS} " # NOTE: Remove the conditional pkc-host inclusion and all traces of c29x_pkc # DISTRO_FEATURE if pkc-host no longer requires customized cryptodev patches RDEPENDS_${PN}_append_qoriq-ppc = " ${@base_contains('DISTRO_FEATURES', 'c29x_pkc', 'pkc-host', '', d)} " RDEPENDS_${PN}_append_e500v2 = " cantest fsl-pme libppc testfloat " RDEPENDS_${PN}_append_e500mc = " libppc " RDEPENDS_${PN}_append_e6500-64b = " ceetm" 每次编译的镜像都带了时间了,被坑过,用SDK提供的链接, $ cp tmp/deploy/images/t2080rdb-64b/fsl-image-zc-t2080rdb-64b.ext2.gz ~/program/fdk/bsp/t2080/rootfs-v2.0.ext2.gz $ cp tmp/deploy/images/t2080rdb-64b/fsl-image-zc-t2080rdb-64b.ext2.gz ~/program/fdk/bsp/t2080/rootfs-raw-v2.0.ext2.gz $ cp tmp/deploy/images/t2080rdb-64b/fsl-image-zc-t2080rdb-64b.ext4.gz ~/program/fdk/bsp/t2080/rootfs-raw-v2.0.ext4.gz 改进一下, # Copyright (C) 2015 Qe.Ltd # Released under the MIT license (see COPYING.MIT for the terms) SUMMARY = "Freescale Package group for zc tools" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" inherit packagegroup PACKAGES = "${PN}" RDEPENDS_${PN} = " e2fsprogs e2fsprogs-badblocks e2fsprogs-e2fsck e2fsprogs-tune2fs i2c-tools pciutils ethtool iperf3 " DPAA_PKGS = " eth-config fmc usdpaa usdpaa-apps dpa-offload hypervisor-partman " DPAA_PKGS_e500v2 = "" DPAA_PKGS_remove_e6500 = "hypervisor-partman" DPAA_PKGS_append_e6500 = " lib64-hypervisor-partman" PMETOOLS ?= "pme-tools" PMETOOLS_e500v2 = "" RDEPENDS_${PN}_append_qoriq = " merge-files ${DPAA_PKGS} " RDEPENDS_${PN}_append_qoriq-ppc = " apptrk asf ${PMETOOLS} " # NOTE: Remove the conditional pkc-host inclusion and all traces of c29x_pkc # DISTRO_FEATURE if pkc-host no longer requires customized cryptodev patches RDEPENDS_${PN}_append_qoriq-ppc = " ${@base_contains('DISTRO_FEATURES', 'c29x_pkc', 'pkc-host', '', d)} " RDEPENDS_${PN}_append_e500v2 = " cantest fsl-pme libppc testfloat " RDEPENDS_${PN}_append_e500mc = " libppc " RDEPENDS_${PN}_append_e6500-64b = " ceetm" 加上, # Copyright (C) 2015 Qe.Ltd require fsl-image-mfgtool.bb SUMMARY = "Small image commonly used for manufacturing or other small image needs." DESCRIPTION = "Small image which only includes essential manufacturing packages to deploy other big images to large physical media, such as a USB stick or a hard drive." LICENSE = "MIT" IMAGE_INSTALL_append = " packagegroup-fsl-tools-zc " IMAGE_FSTYPES += " ext4.gz ext4.gz.u-boot"

编译工具链

可以直接到官网下载QorIQ Linux SDK v2.0 PPC64E6500 IMAGE.iso文件中包含工具链,也可以自己编译, $ bitbake fsl-toolchain $ cd build_t2080rdb-64b/tmp/deploy/sdk $ ./fsl-qoriq-glibc-x86_64-ppc64e6500-toolchain-2.0.sh $ ./fsl-qoriq-glibc-x86_64-ppce6500-toolchain-2.0.sh $ ./fsl-qoriq-glibc-x86_64-ppc64e6500-toolchain-2.0.sh -h Usage: fsl-qoriq-glibc-x86_64-ppc64e6500-toolchain-2.0.sh [-y] [-d <dir>] -y Automatic yes to all prompts -d <dir> Install the SDK to <dir> ======== Extensible SDK only options ============ -n Do not prepare the build system ======== Advanced DEBUGGING ONLY OPTIONS ======== -S Save relocation scripts -R Do not relocate executables -D use set -x to see what is going on $ ./fsl-qoriq-glibc-x86_64-ppc64e6500-toolchain-2.0.sh -y -d ./ppc64