i. MX8QM Yocto 设置 eIQ

恩智浦 eIQ机器学习软件开发环境提供了一组库和针对 NXP MCU 和应用处理器的机器学习应用程序的开发工具。如果需要集成到 BSP,需要在 YOCTO 项目中增加 meta-imx-machinelearning 层。本文以 IMX8QM 平台为例,介绍了如何增加 meta-imx-machinelearning 层的方法。

 

  • Yocto 环境架设
  1. 安装 repo工具,该工具的下载需要登录外网:

$ mkdir ~/bin

$ PATH=~/bin:$PATH

$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

$ chmod a+x ~/bin/repo

 

  1. 设定 git 账号:

$ git config --global user.name "your name"

$ git config --global user.email your@example.com

 

  1. 安装工具包, Yocto 环境编译架设中,工具包要安装完整,否则会导致后面 BSP 编译时出错而中止编译:

$ sudo apt-get install gawk wget git-core diffstat unzip texinfo build-essential \

chrpath socat libsdl1.2-dev xterm sed cvs subversion coreutils texi2html \

docbook-utils python-pysqlite2 help2man make gcc g++ desktop-file-utils \

libgl1-mesa-dev libglu1-mesa-dev mercurial autoconf automake groff curl lzop asciidoc

 

  1. Yocto 项目设定:

$ cd ~

$ mkdir imx-yocto-bsp                                                                                                                                                       

$ cd imx-yocto-bsp

$ repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-sumo -m imx-4.14.98-2.0.0_ga.xml

$ repo sync

 

  1. 系统自动生成 Yocto 项目档案如下:
 

 

     ps: Yocto 项目生成的档案中,fsl-setuo-release.sh 、README 、README-IMXBSP 和 setup-environment 是链接文件,
需要自己使用命令 “ln -s” 实现链接。

 

二、 eIQ 层数据获取

  1. 通过 repo 工具获取 meta-imx-machinelearning 层数据:

$ mkdir eIQ

$ cd eIQ

$ repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-sumo -m imx-4.14.98-2.0.0_machinelearning.xml

 

此时会报有关 CAF 设置的错误,修改文件如下:

$ vim .repo/manifest/imx-4.14.98-2.0.0_machinelearning.xml

 

 

 

  1. 将获取得到的文件夹复制到第一节的 imx-yocto-bsp/sources 文件夹下:

$ repo sync

$ cd ~/imx-yocto-bsp

$ cp -r ~/eIQ/sources/meta-imx-machinelearning ./sources

 

三、 Yocto BSP 编译

  1. 设定编译参数,增加 meata-imx-machinelearning 层编译配置:

$ DISTRO=fsl-imx-x11 MACHINE=imx8qmmek source fsl-setup-release.sh -b imx8qmmek-xwayland

$ vim conf/bblayers.conf

 

 

 

  1. 设定编译效能,并且增加 eIQ 相关设置:

$ vim conf/local.conf

 

 




  1. 增加相关平台 tensorflow 的配置:

   修改 /yocto/sources/meta-imx-machinelearning/recipes-libraries/tensorflow.bb


  1. 执行编译命令:

$ bitbake fsl-image-qt5-validation-imx

 

           编译结果:在 imx8qmmek/tmp/deploy/image/imx8qmmek 目录下会生成文件

           u-boot:imx-boot-imx8qmmek-sd.bin-flash_linux_m4

       kernel:Image--4.14.98-r0-imx8qmmek-20200109095441.bin

       设备树:Image--4.14.98-r0-fsl-imx8qm-mek-20200109095441.dtb

           文件系统:fsl-image-qt5-imx8qmmek-20200110060031.rootfs.sdcard.bz2

 

四、 制作 SDcard 启动卡

  1. 将 SDcard 插入读卡器,再插入电脑开始制作:

$ cd tmp/deploy/image/imx8qmmek

$ sudo dd if=imx-boot-imx8qmmek-sd.bin-flash_linux_m4 of=/dev/sdb bs=1k seek=32 && sync

$ bunzip2 -dk -f fsl-image-qt5-imx8qmmek-20200110060031.rootfs.sdcard.bz2

$ sudo dd if= fsl-image-qt5-imx8qmmek-20200110060031.rootfs.sdcard of=/dev/sdb bs=1M && sync

 

  1. 将 SDcard 插入开发板,调整拨码开关至 SDcard 启动模式,将 USB Debug 数据口连接至电脑,打开 minicon 查看开发板启动 log:
 

 

参考文献:

         NXP eIQ™ Machine Learning Software Development Environment for i.MX Applications Processors.pdf

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论