Chat
Ask me anything
Ithy Logo

搭建 MTK G350 開發環境全指南

全面掌握 Yocto Linux 和 Android 平台,成功運行 Matter SDK 示例應用

mediaTek genio 350 development board

關鍵要點

  • 環境準備:確保硬體和軟體資源齊備,包括 MediaTek Genio 350 EVK、Yocto 和 Android 開發工具。
  • Yocto Linux 設置:配置 Yocto 開發環境,構建和燒錄自定義 Linux 映像。
  • Matter SDK 集成:配置並運行 Matter SDK 示例應用,驗證開發環境的功能性。

一、環境準備

1. 硬體需求

搭建 MTK G350 開發環境需要以下硬體設備:

  • MediaTek Genio 350 EVK (Evaluation Kit):這是核心開發板,包含必要的接口和擴展能力,適合各類開發和測試。
  • 開發主機:建議使用配置較高的電腦,推薦配置至少:
    • 處理器:Intel i5 或更高性能處理器
    • 內存:16GB 以上
    • 硬盤:500GB 以上 SSD
    • 操作系統:Ubuntu 20.04 或更新版本

2. 軟體需求

軟體工具和依賴項的安裝是成功搭建開發環境的關鍵步驟:

  • Yocto Project:用於構建定制化的嵌入式 Linux 系統。
  • Android 開發工具:包括 Android Studio、Android SDK 和 NDK,支持 Android 平台應用的開發。
  • Matter SDK:Matter 是一個開放的物聯網協議,提供跨平台的設備連接能力。
  • 其他必要工具:如 Git、CMake、GCC 編譯器、Python3 等。

3. 系統依賴安裝

在 Ubuntu 系統上安裝所需的依賴包:


sudo apt-get update
sudo apt-get install -y git gnupg flex bison gperf libsdl1.2-dev libesd-java libwxgtk3.0-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool libc6-dev schedtool g++-multilib lib32z1-dev lib32ncurses5-dev ninja-build rpm2cpio cpio lib32readline-dev gcc-multilib libswitch-perl libssl-dev unzip device-tree-compiler vim liblz4-tool python-pyelftools python3-pyelftools
  

二、Yocto Linux 開發環境設置

1. 下載 Yocto Project 組件

從 MediaTek 的官方 GitLab 下載 Yocto 源碼:

git clone https://mediatek.gitlab.io/aiot/doc/aiot-dev-guide/master/

進入源碼目錄並初始化 Yocto 環境:

cd aiot-dev-guide/master/
source oe-init-build-env

2. 配置 Yocto 環境

編輯 local.confbblayers.conf 以適配 Genio 350 的配置:

nano conf/local.conf
nano conf/bblayers.conf

根據 MediaTek 提供的文檔添加必要的層和配置信息。

3. 構建 Yocto 映像

使用 Bitbake 構建自定義的 Yocto 映像:

bitbake core-image-minimal

構建過程可能需要一段時間,請耐心等待直至完成。

4. 燒錄 Yocto 映像到開發板

將生成的映像燒錄到 SD 卡上,然後將 SD 卡插入 Genio 350 開發板:

sudo dd if=path/to/yocto-image.bin of=/dev/sdX bs=4M status=progress && sync

拔插開發板的電源以啟動並運行自定義的 Yocto Linux 系統。

5. 驗證 Yocto 系統運行

通過串口或 SSH 登錄到開發板,確認系統正常啟動並運行:

ssh root@<開發板IP地址>

執行基本命令如 uname -a 確認內核版本和系統狀態。


三、Android 開發環境設置

1. 安裝 Android Studio

下載並安裝最新版本的 Android Studio。可以從官方網站獲取安裝包:

https://developer.android.com/studio

安裝完成後,啟動 Android Studio,並按照引導步驟配置 Android SDK。

2. 配置 Android 開發工具鏈

安裝必要的 SDK 和 NDK 工具,以支持跨平台開發:

SDK Manager 中安裝最新的 Android SDK Platform 和 NDK

設置環境變量以指向 Android SDK 和 NDK 的安裝路徑:


export ANDROID_HOME=/path/to/android/sdk
export ANDROID_NDK_HOME=/path/to/android/ndk
  

3. 下載並配置 G350 Android BSP

從 MediaTek 下載適用於 Genio 350 的 Android BSP (Board Support Package):

git clone https://git.mediatek.com/aiot/g350-android-bsp.git

進入 BSP 目錄,並運行初始化腳本:

cd g350-android-bsp
source build/envsetup.sh
lunch full_aiot8365p6_64_bsp_userdebug
  

4. 編譯 Android 映像

使用 make 命令編譯 Android 系統映像:

make -j$(nproc)

編譯完成後,生成的映像文件將位於 out/target/product/g350 目錄下。

5. 燒錄 Android 映像到開發板

使用 fastboot 將生成的 Android 映像燒錄到 Genio 350 開發板:

fastboot flashall
fastboot reboot

等待開發板自動重啟並進入 Android 系統。

6. 驗證 Android 系統運行

通過 ADB 連接到開發板,確認 Android 系統正常運行:

adb devices
adb shell

運行基本命令如 adb shell getprop 確認系統屬性和狀態。


四、Matter SDK 開發與集成

1. 下載 Matter SDK

Matter 是一個開放的物聯網協議,提供跨平台的智能設備連接能力。從官方 GitHub 倉庫克隆 Matter SDK:

git clone https://github.com/project-chip/connectedhomeip.git

進入 Matter SDK 目錄:

cd connectedhomeip

2. 安裝依賴項

安裝必要的依賴項以支持 Matter SDK 的構建和運行:


sudo apt-get install -y gcc g++ git curl wget python3 python3-pip
pip3 install -r requirements.txt
  

3. 構建 Matter SDK

初始化 Matter SDK 的構建環境並生成編譯配置:


source scripts/bootstrap.sh
gn gen out/debug --args='chip_enable_shared_library=false target_os="linux" target_cpu="x64"'
ninja -C out/debug
  

4. 配置 Matter SDK 與 Yocto 集成

確保 Matter SDK 支持 Genio 350 的 Yocto 環境,編輯相關的 layer 和配置信息:

# 根據需求添加或修改 Yocto 層和配置文件

5. 部署並運行 Matter 示例應用

將編譯好的 Matter 應用部署到 Genio 350 開發板:

scp out/debug/chip-lighting-app root@<開發板IP地址>:/usr/bin/

在開發板上運行應用:


ssh root@<開發板IP地址>
chmod +x /usr/bin/chip-lighting-app
/usr/bin/chip-lighting-app
  

6. 驗證 Matter 應用功能

確保應用正常運行,並能夠與其他 Matter 設備進行通信。可以通過以下方式驗證:

  • 檢查應用日誌以確認無錯誤信息。
  • 使用 Matter 診斷工具測試設備連接和功能。
  • 通過 Android 應用連接並控制 Matter 設備,驗證連接的穩定性和功能性。

7. 調試與優化

在開發和測試過程中,可能需要進行調試和性能優化:

  • 使用 GDB 進行調試:啟動 GDB 來調試應用的運行狀態。
  • 查看系統日誌:使用 dmesgjournalctl 查看系統和應用的日誌信息。
  • 監控網絡通信:確保網絡連接穩定,並使用 Wireshark 等工具監控通信數據包。

8. 開發最佳實踐

  • 保持代碼版本控制,使用 Git 來管理源碼。
  • 定期更新 Yocto 和 Matter SDK 以獲取最新的功能和安全修復。
  • 撰寫和執行自動化測試用例,確保應用的穩定性和功能完整性。
  • 參考官方文檔和社區資源,積極參與相關論壇和討論以獲取支持。

五、常見問題與解決方案

1. 構建 Yocto 映像失敗

如果在執行 bitbake core-image-minimal 時出現錯誤,請檢查以下幾點:

  • 確保所有必要的依賴包已正確安裝。
  • 檢查 local.confbblayers.conf 文件中的配置是否正確。
  • 查看錯誤日誌,定位具體的錯誤信息並進行針對性修復。

2. Android 映像無法啟動

如果開發板無法正常啟動 Android 系統,請確認以下事項:

  • 映像文件是否正確燒錄,並且未被損壞。
  • 開發板的硬體連接是否穩定,尤其是電源和存儲設備。
  • 檢查 Android 系統的日誌,識別啟動過程中的問題。

3. Matter 應用無法連接設備

如果 Matter 應用無法連接到其他設備,請檢查:

  • 網絡設置是否正確,確保開發板和目標設備在同一網絡中。
  • 防火牆設置是否阻止了相關的通信端口。
  • 確認與其他 Matter 設備的兼容性問題,確保協議版本一致。

4. 調試工具無法連接

如果調試工具如 GDB 無法連接到應用,請確保:

  • 應用已在調試模式下運行。
  • 開發板和主機之間的連接穩定,無網絡延遲或丟包問題。
  • 防火牆設置允許調試工具的通信。

六、參考資源

七、結論

搭建 MTK G350 開發環境涉及多個步驟,包括硬體準備、Yocto Linux 和 Android 開發環境的搭建,以及 Matter SDK 的集成與測試。通過本文的詳細指南,您可以系統地完成環境設置,掌握相關平台的開發基礎,並成功運行 Matter SDK 的示例應用。建議在每個階段仔細檢查配置和依賴,並參考官方文檔和社區資源以解決遇到的問題。


Last updated January 23, 2025
Ask Ithy AI
Download Article
Delete Article