【ATU Book-i.MX9系列】OP-GYRO ( NXP i.MX93 ) M33 開發(fā)環(huán)境架設(shè)及測(cè)試

一. 概述

世平集團(tuán) ATU 伊布小編 (一部) 團(tuán)隊(duì)針對(duì) i.MX 相關(guān)技術(shù)整理了一系列博文,這篇文章主要會(huì)介紹如何使用 RPMsg 功能對(duì) M33 核心進(jìn)行功能驗(yàn)證,希望能夠透過這些博文協(xié)助大家更了解 i.MX 的相關(guān)技術(shù),未來 ATU 伊布小編 (一部) 團(tuán)隊(duì)也會(huì)持續(xù)更新此系列的相關(guān)博文還懇請(qǐng)支持!

若用戶想要了解或嘗試更多 RPMsg 相關(guān),請(qǐng)參考筆者先前所寫的 RPMsg 相關(guān)博文:
【ATU Book-i.MX8系列】i.MX8M Plus RPMsg 開發(fā)環(huán)境架設(shè)與 Pingpong 範(fàn)例
【ATU Book-i.MX8系列】i.MX8M Plus RPMsg LED Control : 解決開機(jī)時(shí)信號(hào)控制的挑戰(zhàn)


1.1 OP-Gyro 介紹

OP-Gyro 是世平集團(tuán)使用 NXP i.MX93 為核心設(shè)計(jì)製作的 SBC 方案,其 SOC 規(guī)格包含了 Arm? Cortex?-A55 與 Arm? Cortex?-M33 兩種核心的處理器,這種多核心架構(gòu) ARM 處理器讓系統(tǒng)實(shí)現(xiàn)高效且即時(shí)的應(yīng)用,如想了解更多關(guān)於 OP-Gyro 方案i.MX 的相關(guān)技術(shù),可以透過 ATU 伊布小編 (一部) 團(tuán)隊(duì)整理的系列博文索引來查找。



二. 環(huán)境建置

2.1 BSP 編譯

首先使用 Yocto Project 建立 BSP,更多詳細(xì)資訊請(qǐng)參考 Github【ATU Book-i.MX9系列】OP-Gyro ( NXP i.MX93 ) Linux 開發(fā)環(huán)境架設(shè)這篇博文:

$ mkdir <release> && cd <release>

$ repo init -u https://github.com/WPI-ATU-1/wpi-manifest.git -b imx-linux-mickledore -m imx-6.1.55-2.2.0.xml && repo sync

$ DISTRO=fsl-imx-xwayland MACHINE=opgyro source imx-setup-release.sh -b build

$ bitbake <image recipe>


2.2 MCUXpresso SDK 下載

接著我們至 NXP 官網(wǎng)下載 MCUXpresso SDK,MCUXpresso SDK 提供了一個(gè)完整的開發(fā)平臺(tái),包括開源驅(qū)動(dòng)程式和參考示例應(yīng)用程式等,以加速軟體開發(fā)的速度,在網(wǎng)站中先選擇 i.MX93 開發(fā)板,並建立 SDK。
https://mcuxpresso.nxp.com/en/welcome





依據(jù)環(huán)境選擇相關(guān)配置,筆者是使用 Ubuntu 環(huán)境進(jìn)行編譯,選擇 Linux 與 GCC ARM,而 Middleware / Library 的部分使用預(yù)設(shè)即可。




選擇完配置後,網(wǎng)站會(huì)儲(chǔ)存用戶所建立的 SDK,例如下圖中就有筆者先前建置的 i.MX8M Plus 的 SDK,用戶也可以透過 Rebuild 修改設(shè)定,這裡我們直接選擇下載 SDK。




下載除了 SDK 本身 Source Code 外,也有相關(guān) Document,有需要也請(qǐng)參考。




2.3 GNU Compiler Toolchain 下載

另外還需要至 Arm Developer 下載 GNU compiler toolchain,根據(jù)編譯環(huán)境選擇對(duì)應(yīng)版本,在此下載 x86_64 Linux 版本進(jìn)行示範(fàn)。
https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads




2.4 MCUXpresso SDK 環(huán)境建置

都下載完成後,在編譯環(huán)境下進(jìn)行解壓縮,並設(shè)定環(huán)境變數(shù)。

$ tar zxvf SDK_2_15_000_MCIMX93-EVK.tar.gz

$ tar zxvf arm-gnu-toolchain.tar.gz
$ export ARMGCC_DIR=<toolchains_dir>




三. SDK 編譯

接下來就可以來進(jìn)行編譯了,在此使用 pingpong example 進(jìn)行示範(fàn)。

$ cd boards/mcimx93evk/multicore_examples/rpmsg_lite_pingpong_rtos/linux_remote/armgcc
$ sh ./build_debug.sh




編譯完成後,會(huì)在 debug 資料夾下產(chǎn)生 .bin 檔,後面我們就要使用這 .bin 檔讓 M Core 開機(jī)。




四. SD Card 燒錄

目前 NXP 所採(cǎi)用的映像檔格式為 wic 檔案,至開發(fā)環(huán)境中的 <Yocto Build>/tmp/deploy/images/<machine> 查看是否有 .wic 或 .wic.zst 檔案,在此以 SD Card 作為儲(chǔ)存裝置的燒錄方式為範(fàn)例,想了解其他儲(chǔ)存裝置,請(qǐng)參考 【ATU Book-i.MX9系列】OP-Gyro ( i.MX93 ) 系統(tǒng)燒錄介紹這篇文章。

同時(shí)也要將方才生成的 .bin 檔放至 boot 目錄下。

$ sudo dd if=<.wic> of=</dev/sdx> bs=1M stutas=progress conv=sync
$ cp <.bin> </mount/patition-boot>

五. M33 功能驗(yàn)證

燒錄完成後就可以開始準(zhǔn)備測(cè)試。

5.1 Console

首先透過 A55/M33 Debug Port 連接至電腦,並開啟各自的 Console 畫面。






5.2 A55 Core Boot ( U-Boot )

將板子上電讓 A Core 開機(jī),並在開機(jī)倒數(shù)時(shí),輸入任意鍵讓系統(tǒng)進(jìn)入 U-Boot 模式。





在 U-Boot 執(zhí)行以下指令讓 M Core 啟動(dòng)程式:

u-boot=> setenv lpv 'fatload mmc 1:1 0x80000000 rpmsg_lite_pingpong_rtos_linux_remote.bin ; cp.b 0x80000000 0x201e0000 0x30000;bootaux 0x1ffe0000 0;'
u-boot=> setenv bootcmd 'run lpv;'${bootcmd}
u-boot=> setenv mmcargs 'setenv bootargs ${jh_clk} console=${console} root=${mmcroot} clk-imx93.mcore_booted snd_pcm.max_alloc_per_card=134217728'
u-boot=> boot




接著讓 A Core 繼續(xù)開機(jī),同時(shí)也可以看到 M Core Firmware 已經(jīng)執(zhí)行起來,並成功 Link up,A Core 開機(jī)完成後再將 A Core 的驅(qū)動(dòng)程式掛載起來。

$ insmod imx_rpmsg_pingpong.ko




最後就可以在 Console 畫面上看到 A Core 與 M Core 核心互相不斷回傳資料。




六. 結(jié)論

本篇文章介紹如何使用 RPMsg 功能對(duì) M33 核心進(jìn)行功能驗(yàn)證,希望本篇文章的內(nèi)容可以幫助到各位讀者更了解 OP-Gyro ( i.MX93 ) ,也懇請(qǐng)各位讀者多多支持 【ATU Book-i.MX9系列】OP-Gyro ( i.MX93 ) 的系列博文。若未來讀者們有 i.MX 的相關(guān)問題歡迎隨時(shí)與世平集團(tuán)做討論。

七. 參考資料

[1]?IMX_LINUX_USERS_GUIDE.pdf

★博文內(nèi)容均由個(gè)人提供,與平臺(tái)無關(guān),如有違法或侵權(quán),請(qǐng)與網(wǎng)站管理員聯(lián)繫。

★文明上網(wǎng),請(qǐng)理性發(fā)言。內(nèi)容一周內(nèi)被舉報(bào)5次,發(fā)文人進(jìn)小黑屋喔~

參考來源

評(píng)論