基于imx8m plus开发板全体系开发教程3:Ubuntu 20.04 编译

news/2024/11/14 6:04:34/

前言:

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”


http://www.ppmy.cn/news/41141.html

相关文章

2022国赛32:NFS服务

大赛试题内容: (四)NFS 服务 【任务描述】 为了使局域网中的特定用户,能够访问共享文件夹内 的特定资源,请采用文件共享,实现共享资源的安全访问。 1.配置 linux2 为 KDC 服务器,负责 linux3 和 linux4 的验证。 2.在 linux3 上,创建用户,用户名为 tom,uid=222,gid=…

卫星物联网悄然崛起,万亿市场价值即将井喷

今天这篇文章,我们来聊聊卫星物联网。请大家注意,我说的是“物联网”,而不是“互联网”。物联网,Internet of Things众所周知,按使用对象,互联网可以分为“人联网”和“物联网”。我们普通消费者用户使用的…

永久免费内网穿透不限制速度

市面上的免费内网穿透大都有格式各样的限制,什么限制流量啊,每个月要签到打卡啊,还有更改域名地址等,只有神卓互联内网穿透是永久免费没有限制的,白嫖也可以。 这篇文章分享了3个方案,按照性能和综合指标排…

在 Rainbond 上使用在线知识库系统zyplayer-doc

zyplayer-doc 是一款适合企业和个人使用的WIKI知识库管理工具,提供在线化的知识库管理功能,专为私有化部署而设计,最大程度上保证企业或个人的数据安全,可以完全以内网的方式来部署使用它。 当然也可以将其作为企业产品的说明文档…

查理芒格投资原则清单

风险 所有投资评估应该从测量风险(尤其是信用的)开始 测算合适的安全边际 避免和道德有问题的人交易 坚持为预定的风险要求合适的补偿 永远记住通货膨胀和利率的风险 避免犯下大错,避免资本金持续亏损 ex:本金亏50…

在线绘制思维导图

思维导图是一种可视化的思维工具,它可以将放射性思考具体化为可视的图像和图表。 思维导图利用图文并重的技巧,把各级主题的关系用相互隶属与相关的层级图表现出来,把主题关键词与图像、颜色等建立记忆链接。 它运用图像和颜色等多种元素&…

Python 中 logging 的 setlevel 函数未生效

参考自: python 中logger setlevel没有生效logging — Python 的日志记录工具 问题分析 在官方文档中,对于 setLevel 的解释为: setLevel(level) 给记录器设置阈值为 level 。日志等级小于 level 会被忽略。严重性为 level 或更高的日志消…

OpenCV实战——尺度不变特征检测器

OpenCV实战——尺度不变特征检测器 0. 前言1. SURF 特征检测器2. SIFT 特征检测算法3. 完整代码相关链接0. 前言 特征检测的不变性是一个重要概念,虽然方向不变性(即使图像旋转也能检测到相同特征点)能够被简单特征点检测器(例如 FAST 特征检测器等)处理,但难以实现在图像尺…