前言:
i.MX8M Plus 开发板是一款拥有 4 个 Cortex-A53 核心,运行频率 1.8GHz;1 个 Cortex-M7 核心,运行频率 800MHz;此外还集成了一个 2.3 TOPS 的 NPU,大大加速机器学习推理。
全文所使用的开发平台均为与NXP官方合作的FS-IMX8MPCA开发板(华清远见imx8mp开发板),支持Weston、ubuntu20.04、Android11 等操作系统;同时支持 Xenomai 硬实时内核、EtherCAT 总线、TSN 时间敏感网络、ROS1.0、ROS2.0 等工业与机器人领域应用;可以用于工业互联网、人工智能、边缘计算、多屏异显等应用方向。华清远见研发中心编写了大量开发教程并录制了丰富视频教学资源免费提供给大家!
开发板更多资料可在评论区下方留言索取~~ ~~ ~~
Ubuntu 20.04 编译
本章节将介绍如何对 I.MX8M Plus 开发进行第 4 章 Ubuntu 20.04 系统编译与烧录。
系统源码编译
本小节主要讲述如何使用 Yocto 构建系统编译 Ubuntu 20.04 的源码。
建立源码目录
⚫ Yocto 源码导入
首先我们在 ubuntu“家”中建立 imx8mp 文件夹,用于存放 imx8mp 源码
linux@ubuntu:$ cd ~
linux@ubuntu:$ mkdir imx8mp
下面将【华清远见-I.MX8M Plus 开发资料\程序源码\imx-linux-gatesgarth】该目录下的 imxlinux-gatesgarth.tar.xzxx 文件全部导入虚拟机中刚创建好的 imx8mp 目录下。使用如下命令解压缩
linux@ubuntu:$ cat imx-linux-gatesgarth* | tar Jxvf -
解压缩完成后会得到 imx-linux-gatesgarth 目录,该目录有如下文件。
该目录下的 bsp_source 目录中主要存放了,系统源码包括 tf-a、u-boot、kernel 等,后面
的 linux 系统开发部分会重点讲述。sources 文件夹下主要存放 Yocto 构建系统与 ubuntu 20.04相关的配置文件。
由于 imx-linux-gatesgarth 在编译过程中会依赖很多外部源码包,我们可以在编译过程中
通过编译程序自行下载,也可以使用我们提供好的完整依赖包。
因为依赖包较大,因此将此部分单独制作成了依赖包镜像【华清远见-I.MX8M Plus-ubuntu
依赖包】将该 ISO 文件中所有的 downloads.tar.xz*文件导入到 imx-linux-gatesgarth 源码目录下,并解压。
linux@ubuntu:$ cd ~/imx8mp/imx-linux-gatesgarth
linux@ubuntu:$ cat downloads.tar.xz* | tar Jxvf -
解压完成后会在 imx-yocto-bsp 目录下得到 downloads 目录。
Ubuntu 20.04 编译
开发板 ubuntu20.04 的编译环境需要在 ubuntu18.04 linux 发行版进行编译,并且编译前请- 106 -确保 ubuntu 中以安装本文档前面提到的《Yocto 开发环境搭建》开发工具。
5) 将当前工作目录切换到 imx-linux-gatesgarth 文件夹下
linux@ubuntu:$ cd ${HOME}/workdir/imx8mp/imx-linux-gatesgarth
6) 导入编译配置
linux@ubuntu:$ DISTRO=imx-desktop-xwayland MACHINE= imx8mpairobotdesktop source imxsetup-desktop.sh -b build-ai-robot-desktop
7) 如果是第一次配置,需要同意一些协议
之后按空格到协议最后
输入 y 会如下如下界面
8) 编译源码
编译 ubuntu 20.04 镜像
linux@ubuntu:$ bitbake imx-image-desktop
注意:在编译 Ubuntu 20.04 系统时确保 ubuntu 主机可以连接互联网由于涉及到的源码
较多,因此编译会比较耗时。
编译完成后所生成的镜像文件保存在 tmp/deploy/images/imx8mp-ai-robot 目录下。这里的
imx-image-desktop-imx8mp-ai-robot.wic.bz2 即为整体的烧录镜像。
Ubuntu20.04 烧录
在烧录镜像之前我们需要先按照下图连接必要的数据线:
按照上图分别连接 USB 数据线、电源线、以及调试串口(由下向上分别为 5V、M4_TX、
M4_RX、A53_TX、A53_RX、GND)。这里我们只连接 GND、A53_RX、A53_TX 三条线。
在上电之前我们还需要按住开发板上的红色烧录按钮,让开发板进入烧录模式。
imx8m plus ubuntu20.04 支持 emmc 启动。在进行烧录之前要确保 uuu 工具可以正常连接开发板。
将前面《ubuntu20.04 编译》小节编译生成的“ubuntu 镜像”导出到 Windows 主机中进行烧录。
如果没有编译 ubuntu20.04 可以使用我们【华清远见-I.MX8M Plus 开发资料\系统镜像
\imx8mp-ai-car-ubuntu20.04】目录下的镜像文件进行烧录。
该文件中包含启动镜像,rootfs 等镜像,我们可以通过不同的命令来烧写相关的镜像文件。
在进行烧录之前需要先打开 cmd 窗口,并且将工作命令切换到该目录下进行烧录。
⚫ eMMC 烧录
当使用 uuu 工具烧录镜像时,可以使用如下命令进行 Weston 镜像烧写。
dos@windows:$ uuu -b emmc_all .\imx-boot-imx8mp-ai-robot-sd.bin-flash_ddr4_evk .\im
x-image-desktop-imx8mp-ai-robot.wic.bz2
烧录成功如下图
烧录完成后使开发板完全断电重启即可。ubuntu 默认账户和密码均为“user”