FRDM i.MX 93 是一款低成本價格親民的開發板,專為工業和物聯網 (IoT) 應用設計,搭載 NXP i.MX 93 應用處理器,並提供強大的計算與連接能力。這款開發板適用於 人工智慧 (AI)、智慧家居、工業自動化 以及 邊緣計算 等領域。
處理器為雙核 Cortex-A55 (1.7GHz) + Cortex-M33 (250MHz), 開發板上的使用2GB LPDDR4X 記憶體與32GB eMMC儲存裝置。提供顯示介面有HDMI、MIPI DSI 及MIPI CSI-2 (相機介面) ,板上包含有 Wi-Fi 6、藍牙 5.4 的IW612 模組,可連接上網及Bluetooth 裝置應用以及二路的乙太網路 (GbE RJ45)孔,USB Type-C 及USB Type-A 等介面做周邊裝的連接。
作業系統可支援Yocto Linux. 因其編譯的相關路徑不在原本i.MX Yocto Project User’s Guide 的文件中,需要參考額外的文件,故寫此篇說明相關的文件的路徑及編譯的方法。
目前 FRDM i.MX 93 所支搜的Yocto BSP 版本為LF6.6.36_2.1.0。
FRDM i.MX 93相關的文件可參考如下:
• i.MX FRDM Software User Guide (document UG10195): 這份文件提供有關如何建置、安裝和運行 i.MX FRDM 平台映像的資訊。
• Release Notes for i.MX FRDM Yocto Software [RN00265]: 文件內容包含軟體包內容、支援的功能、已知問題、以及此版本中的限制。
• FRDM i.MX93 development board Quick Start Guide (document FRDM-IMX93-QSG):本文檔包括系統設定和配置,並提供有關整體的詳細信息從硬體系統角度設計和使用FRDM板。
本篇將針對有關如何置FRDM i.MX93 Linux Yocto 做說明。而建置環境的主機建議使用作業系統為ubuntu 20.04 或更新的版本。主機建議至少保留120GB 的硬碟空間。
如果是建置機器學習環境,則建議預留360GB硬碟空間,而記憶體大小建議為16GB. 詳細建置步驟如下描述。
安裝主機工具包
$ sudo apt install gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 python3-subunit zstd liblz4-tool file locales libacl1
設置Repo實用程序:安裝 repo,並加入 PATH 中
$ mkdir ~/bin
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ export PATH=~/bin:$PATH
Yocto Project 建立
使用如下的命令確認git設定。
$ git config --global user.name "Your Name"
$ git config --global user.email "Your Email"
$ git config --list
- 接下來使用如下步驟下載i.MX Yocto Project BSP recipe layer and i.MX FRDM layer
$ mkdir imx-yocto-bsp
$ cd imx-yocto-bsp
$ repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-scarthgap -m imx-6.6.36-2.1.0.xml
$ repo sync
這個步驟完成後,源代碼的目錄會位於 imx-yocto-bsp/sources,接下來進行 build image 的動作。
定期使用repo sync 命令更新至最新的程式碼。如果在repo init 過程中出現錯誤,請嘗試刪除.repo, 再重新做repo init.
- 整合i.MX FRDM layer 到i.MX Yocto Project
$: cd ./sources
$: git clone https://github.com/nxp-imx-support/meta-imx-frdm.git
$: cd meta-imx-frdm
$: git checkout imx-frdm-3.0
構建Image
使用〝imx-frdm-setup.sh"這個 script,並賦予特定待建構的machine 名稱,即可快速建構其相關環境。
腳本使用指令如下:
$ DISTRO=<distro name> MACHINE=<machine name> source sources/meta-imx-frdm/tools/imx-frdm-setup.sh -b <build dir>
"${MACHINE}" 的名稱為imx93-11x11-lpddr4x-frdm 或 imx93frdm
"${DISTRO}" 的參數i.MX常用的為二種:
fsl-imx-wayland :為純Wayland 圖形; fsl-imx-xwayland:Wayland 圖形及X11. 但使用EGL的 X11 應用是沒有支持的。
一般預設使用 fsl-imx-xwayland。
所以構建環境的的指令範例為:
EULA=1 MACHINE=imx93frdm DISTRO=fsl-imx-xwayland source sources/meta-imx-frdm/tools/imx-frdm-setup.sh -b frdm-imx93
此步驟需要一些時間把環境建置完成。建置完成後會在目錄下產出 frdm-imx93資料夾。
建立 i.MX Yocto Project 的 image
Yocto 提供多種images recipes , 可依產品應用的需求做選擇要產生出哪一種。
因我們想要有機器學習的功能,所以選擇”imx-image-full”作為我們的範例。在所建置出的 frdm-imx93 資料夾下,利用 bitbake 指令建出 image。指令如下:
$ bitbake imx-image-full
完成之後,產生出來的 image 可以在" frdm-imx93/tmp/deploy/images/imx93frdm”資料夾找到〝imx-boot-imx93frdm-sd.bin-flash_singleboot 〞及”imx-image-full-imx93frdm.rootfs.wic.zst”為燒錄所需要的images 檔案。使用zstd 解壓縮rootfs 及使用 UUU 工具下載images到microSD/ eMMC.
參考來源