搭建 MTK G350 開發環境需要以下硬體設備:
軟體工具和依賴項的安裝是成功搭建開發環境的關鍵步驟:
在 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
從 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
編輯 local.conf
和 bblayers.conf
以適配 Genio 350 的配置:
nano conf/local.conf
nano conf/bblayers.conf
根據 MediaTek 提供的文檔添加必要的層和配置信息。
使用 Bitbake 構建自定義的 Yocto 映像:
bitbake core-image-minimal
構建過程可能需要一段時間,請耐心等待直至完成。
將生成的映像燒錄到 SD 卡上,然後將 SD 卡插入 Genio 350 開發板:
sudo dd if=path/to/yocto-image.bin of=/dev/sdX bs=4M status=progress && sync
拔插開發板的電源以啟動並運行自定義的 Yocto Linux 系統。
通過串口或 SSH 登錄到開發板,確認系統正常啟動並運行:
ssh root@<開發板IP地址>
執行基本命令如 uname -a
確認內核版本和系統狀態。
下載並安裝最新版本的 Android Studio。可以從官方網站獲取安裝包:
https://developer.android.com/studio
安裝完成後,啟動 Android Studio,並按照引導步驟配置 Android SDK。
安裝必要的 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
從 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
使用 make 命令編譯 Android 系統映像:
make -j$(nproc)
編譯完成後,生成的映像文件將位於 out/target/product/g350
目錄下。
使用 fastboot 將生成的 Android 映像燒錄到 Genio 350 開發板:
fastboot flashall
fastboot reboot
等待開發板自動重啟並進入 Android 系統。
通過 ADB 連接到開發板,確認 Android 系統正常運行:
adb devices
adb shell
運行基本命令如 adb shell getprop
確認系統屬性和狀態。
Matter 是一個開放的物聯網協議,提供跨平台的智能設備連接能力。從官方 GitHub 倉庫克隆 Matter SDK:
git clone https://github.com/project-chip/connectedhomeip.git
進入 Matter SDK 目錄:
cd connectedhomeip
安裝必要的依賴項以支持 Matter SDK 的構建和運行:
sudo apt-get install -y gcc g++ git curl wget python3 python3-pip
pip3 install -r requirements.txt
初始化 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
確保 Matter SDK 支持 Genio 350 的 Yocto 環境,編輯相關的 layer 和配置信息:
# 根據需求添加或修改 Yocto 層和配置文件
將編譯好的 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
確保應用正常運行,並能夠與其他 Matter 設備進行通信。可以通過以下方式驗證:
在開發和測試過程中,可能需要進行調試和性能優化:
dmesg
或 journalctl
查看系統和應用的日誌信息。如果在執行 bitbake core-image-minimal
時出現錯誤,請檢查以下幾點:
local.conf
及 bblayers.conf
文件中的配置是否正確。如果開發板無法正常啟動 Android 系統,請確認以下事項:
如果 Matter 應用無法連接到其他設備,請檢查:
如果調試工具如 GDB 無法連接到應用,請確保:
搭建 MTK G350 開發環境涉及多個步驟,包括硬體準備、Yocto Linux 和 Android 開發環境的搭建,以及 Matter SDK 的集成與測試。通過本文的詳細指南,您可以系統地完成環境設置,掌握相關平台的開發基礎,並成功運行 Matter SDK 的示例應用。建議在每個階段仔細檢查配置和依賴,並參考官方文檔和社區資源以解決遇到的問題。