1. 概述
本文介紹了如何搭建 i.MX93 Real-Time Edge Software 2.6 的 yocto 工程以及 IGH ethercat master 的使用。
2. Yocto 工程配置
2.1 Ubuntu 環境配置
按照官方文檔要求,使用 Ubuntu20.04 版本的 linux 系統。安裝多種軟體命令如下所示:
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 zstd lz4 libssl-dev |
2.2 repo 安裝和初始化
① 下載
$ mkdir ~/bin $ curl curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo $ chmod a+x ~/bin/repo |
圖 2.1
② 更新
repo 的運行過程中會嘗試訪問官方的 git 源更新自己,使用 tuna 的鏡像源進行更新,把下面內容複製到你的 ~/.bashrc 里:
export PATH=~/bin:$PATH export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo' |
2.3 配置 yocto 工程
① git 初始化
$ sudo apt-get install git $ git config --global user.name "Your Name" $ git config --global user.email "Your Email" $ git config --list |
② 初始化 yocto 工程
$ mkdir yocto-real-time-edge $ cd yocto-real-time-edge $ repo init -u https://github.com/nxp-real-time-edge-sw/yocto-real-time-edge.git \ -b real-time-edge-mickledore \ -m real-time-edge-2.6.0.xml $ repo sync |
圖 2.2
③ 自定義板子配置
$ $ DISTRO=nxp-real-time-edge MACHINE=imx93evk source real-time-edge-setup-env.sh -b build-imx93evk $ bitbake nxp-image-real-time-edge |
圖 2.3
圖 2.4
2.4 燒錄固件到 SD 卡
Yocto 工程編譯完成後,固件所在目錄為 tmp/deploy/images/imx93evk/,固件名稱為 nxp-image-real-time-edge-imx93evk-20240522092054.rootfs.wic.zst,此文件是整套的系統固件,包含 u-boot 和 kernel,使用命令拷貝到 SD 卡如下所示:
$ zstd -d <image_name>.wic.zst $ sudo dd if=<image name>.wic of=/dev/sd<disk> bs=1M conv=fsync |
<image_name> 為鏡像名稱,<disk> 為 SD 卡編號。
3. IGH ethercat master 功能測試
① 配置板子環境,使用 vi 打開 /etc/ethercat.conf ,配置 "MASTER0_DEVICE" 和 "DEVICE_MODULES" 。修改如下所示:
MASTER0_DEVICE="00:04:9f:07:11:a6"
DEVICE_MODULES="generic"
其中 MASTER0_DEVICE 配置的是連接從機網口的 MAC 地址
② 使用以下命令啟動 IGH EtherCAT 守護程序:
$ ethercatctl start |
圖 3.1
③ 使用 ethercat 命令與從機通信:
圖 3.2
參考文獻
《REALTIMEEDGEUG_Rev2.6.pdf》
《RTEDGEYOCTOUG_Rev2.6.pdf》
評論