NXP imx8mp学习记录

本文档详细介绍了如何使用Yocto项目构建针对i.MX8M Plus的系统,并通过U-Boot固件进行更新。首先,介绍了设置开发环境所需的依赖项,包括安装必要的软件包和下载Yocto构建工具。接着,通过git和repo工具初始化和同步源代码,并设置DISTRO和MACHINE变量以匹配硬件平台。在编译过程中,如果遇到网络问题,可以修改repo文件中的URL。最后,文章提到了uuu工具用于下载和烧录镜像,并提供了连接和配置NXP i.MX8M Plus EVK板上WiFi的步骤。

1.带有系统的imx8mp测试

将8mp micro USB与宿主机连接到一起,连接第二个串口/dev/ttyUSB2,boot mood 选择 0 0 1 0,115200 8  N 1 ,建议用Minicom,显示为终端,root 密码直接回车。

https://www.nxp.com/docs/en/user-guide/IMX_YOCTO_PROJECT_USERS_GUIDE.pdf i.MX 8M Plus | Cortex-A53/M7 | NXP Semiconductors

依赖:

sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat cpio python python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint3 xterm rsync curl
mkdir ~/imx-yocto-bsp
cd imx-yocto-bsp
mkdir  bin 
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/imx-yocto-bsp/bin/repo #下载repo
chmod a+x ~/imx-yocto-bsp/bin/repo #给repo权限
export PATH=~/imx-yocto-bsp/bin:$PATH #设置访问
cd ~/imx-yocto-bsp
git config --global user.name "Your Name"  #名字随意
git config --global user.email "Your Email" #邮箱不限
git config --list
./bin/repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-hardknott -m imx-5.10.35-2.0.0.xml
./bin/repo sync
######https://source.codeaurora.org/external/imx/imx-manifest
######https://source.codeaurora.org/external/imx/imx-manifest/tree/?h=imx-linux-hardknott 打开网址查看是否有添加的系统

DISTRO=fsl-imx-wayland MACHINE=imx8mp-lpddr4-evk source imx-setup-release.sh -b standalone

如果 repo sync 过程过长

修改repo文件
打开~/bin/repo文件并修改google地址
# vi ~/bin/repo
From
REPO_URL = 'https://gerrit.googlesource.com/git-repo'
To
REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'

2.yocto工程创建

uuu下载image

sudo ~/Desktop/uuu -b emmc_all imx-boot imx-image-full-imx8mp-lpddr4-evk.wic.bz2

yocto交叉编译工具使用

yocto交叉編譯工具連

./fsl-imx-xwayland-glibc-x86_64-imx-image-full-cortexa53-crypto-imx8mp-lpddr4-evk-toolchain-5.10-hardknott.sh
 . /opt/fsl-imx-xwayland/5.10-hardknott/environment-setup-cortexa53-crypto-poky-linux

CC rs-hello-realsense.cpp  -o rs-realsense -O1 -lstdc++ -lpthread -lm -ldl -lrt -lrealsense2

yocto工程創建:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
知乎imx8m plus yocto project compile with realsense D455教程鏈接:
https://zhuanlan.zhihu.com/p/402846961
下驅動:
chmod a+x uuu //安裝uuu https://github.com/NXPmicro/mfgtools/releases/tag/uuu_1.4.149
將板子上的boot按鈕設置成USB Serial Download Mode 0 0 0 1
同 執行lsusb 將看到一個帶有NXP的串口
sudo ~/Desktop/uuu -b emmc_all imx-boot imx-image-full-imx8mp-lpddr4-evk.wic.bz2  //yocto工程編譯鏡像
sudo ./uuu LF_v5.10_2.0.0_images_IMX8MPEVK.zip //官方鏡像https://www.nxp.com.cn/document/guide/getting-started-with-the-i-mx-8m-plus-evk:GS-iMX-8M-Plus-EVK
NXP8MP聯接WIFI:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
在主目錄下運行
modprobe moal mod_para=nxp/wifi_mod_para.conf
ifconfig mlan0 up
ifconfig uap0 up
/usr/sbin/wpa_supplicant -B -i mlan0 -c /etc/wpa_supplicant.conf -Dwext
# 搜索可见wifi
wpa_cli -i mlan0 scan
# 获取搜索结果
wpa_cli -i mlan0 scan_result
# 设置wifi的ssid
# ssid需要添加双引号,双引号还要加斜杠或者单引号
wpa_cli -i mlan0 set_network 0 ssid \"BY\"
# 设置加密方式,WPA-PSK代表:WPA-PSK/WPA2-PSK
wpa_cli -i mlan0 set_network 0 key_mgmt WPA-PSK
# 设置wifi密码,和账号一样需要双引号
wpa_cli -i mlan0 set_network 0 psk \"123456789\"
# 新配置的wifi默认是禁用的,启用,启用后如果没有连接wifi,新增wifi可见就会自动连接的
wpa_cli -i mlan0 enable_network 0
# 再次查看状态,查看是否已经连接网络
# wpa_state=COMPLETED表示完成连接,但是如果signal_level比较小时表示实际没有连接
wpa_cli -i mlan0 status
# 保存wifi配置,最好在启用wifi后再保存,否则保存的wifi是默认禁用的
wpa_cli -i mlan0 save_config
#手动从DHCP中获取IP地址的:
udhcpc -imlan0
設置dns

临时:

vi /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4

永久

sudo gedit /etc/systemd/resolved.conf

# See resolved.conf(5) for details
[Resolve]
DNS=8.8.8.8
#FallbackDNS=
#Domains=
LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=yes

查看文件真是链接ls imx-boot -l

<think>嗯,用户现在在问关于NXP imx8mp桌面系统移植的解决方案或指南。首先,我需要明确用户的需求是什么。他们可能正在尝试将桌面操作系统移植到NXP的i.MX8M Plus处理器上,可能用于嵌入式系统开发,比如工业控制、智能设备或者多媒体应用。i.MX8MP是一款多核处理器,通常运行Linux,所以用户可能是在寻找如何在这个平台上构建或移植一个桌面环境,比如Ubuntu、Debian或者其他基于Linux的桌面系统。 接下来,我需要回忆NXP官方文档的相关内容。NXP通常会提供Yocto Project的BSP层,用于构建定制Linux系统。用户可能需要使用Yocto来集成桌面环境。比如,在Yocto的配置中添加meta-qt5或者meta-gnome这些层来支持图形界面。此外,编译内核时可能需要配置显示驱动、GPU支持等,确保硬件加速正常。 然后是桌面环境的选择。常见的如Xfce、LXQt、GNOME或KDE Plasma。不同的桌面环境对系统资源的占用不同,比如Xfce比较轻量,适合嵌入式环境。用户可能需要根据硬件性能来选择,i.MX8MP的GPU性能如何?是否有足够的RAM和存储空间? 另外,硬件适配是关键。i.MX8MP的GPU是Vivante,需要确保内核中已经包含相关的驱动,并且Mesa库支持OpenGL ES等。显示接口如HDMI或LVDS的配置是否正确,触摸屏驱动是否加载,这些都是需要注意的地方。 用户还可能遇到问题,比如桌面环境无法启动,可能是显示驱动的问题,或者X Window系统的配置错误。需要查看日志,比如Xorg的日志或内核日志,来排查问题。此外,应用程序的兼容性也需要测试,比如浏览器、办公软件在ARM架构下的运行情况。 用户之前提到的引用中有关于STM32MP1、i.MX7与树莓派、Jetson Nano的对比,可能用户有跨平台开发的经验,现在转向i.MX8MP。需要指出i.MX8MP相比其他平台的特点,比如更高的性能、多核处理能力,适合更复杂的应用场景。 可能还需要考虑系统优化,比如内存管理、启动时间优化,减少桌面环境的资源占用。使用轻量级窗口管理器或定制桌面组件可能有助于提升性能。 最后,生成相关问题时要覆盖移植步骤、常见问题解决、性能优化、适用场景、工具链选择以及与其他平台的对比。这样用户可以根据自己的需求进一步探索。</think>### NXP i.MX8MP桌面系统移植方案解析 NXP i.MX8M Plus(i.MX8MP)是基于ARM Cortex-A53/A72的多核处理器,广泛用于工业控制、边缘计算等场景。其桌面系统移植需重点关注以下方面: --- #### **1. 基础系统构建** - **BSP与Yocto项目**: NXP官方提供基于Yocto的BSP(板级支持包),需从[官方GitHub仓库](https://github.com/nxp-imx)获取`meta-imx`层。通过Yocto集成桌面环境(如Xfce、GNOME)时,需在`local.conf`中添加: ```bash IMAGE_INSTALL:append = " packagegroup-core-x11-xserver packagegroup-xfce-base" ``` 支持GPU加速需启用`imx-gpu-viv`驱动[^1]。 - **内核配置**: 确保内核启用显示子系统(DRM框架)、Vivante GPU驱动及触摸屏支持: ```bash CONFIG_DRM_IMX=y CONFIG_IMX8MP_DCSS=y CONFIG_TOUCHSCREEN_GOODIX=y ``` --- #### **2. 桌面环境适配** - **X11/Wayland选择**: - **X11**:成熟度高,需配置`xorg.conf`指定显示设备与GPU驱动。 - **Wayland**(推荐):更轻量,可通过Weston或GNOME Shell实现,需启用`Mesa`库的EGL/OpenGL ES支持[^1]。 - **常见问题**: - **显示黑屏**:检查DCSS(Display Controller Subsystem)时钟配置与HDMI PHY初始化。 - **触摸屏失灵**:调试I²C总线通信与多点触控协议(MT协议)。 --- #### **3. 硬件加速与优化** - **GPU驱动集成**: Vivante GPU需安装`imx-gpu-viv`用户态库,并通过`G2D`/`OpenCL`加速图形渲染。 ```bash # 验证GPU功能 glmark2-es2-wayland ``` - **功耗管理**: 使用Linux DVFS框架动态调整CPU/GPU频率,或通过`linux-cpupower`工具优化。 --- #### **4. 应用场景与工具链** - **适用场景**: - 工业HMI(人机界面) - 多媒体终端(支持4K解码) - 边缘AI推理(结合NPU加速) - **开发工具**: - 交叉编译工具链:`gcc-arm-linux-gnueabihf` - 调试工具:`gdb`、`perf` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值