[ 物聯網篇 ] 12 – 聯發科MTK8516 開發環境搭建
- 2019 年 12 月 10 日
- 筆記
版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/z2066411585/article/details/103440586
聯發科MTK8516開發平台主要面向智慧語音助手設備(Voice Assistant Devices)和智慧音響的系統設備。可以看到亞馬遜的Echo和阿里巴巴的天貓精靈等等,出貨量還是很大的.
MT8516支援四核心64位ARM®Cortex-A35™,主頻達1.3GHz。該晶片還內建WiFi 802.11 b/g/n和支援藍牙4.0。該晶片還提供多種存儲規格,包括LPDDR2、LPDDR3、DDR3、DDR3L和DDR4。
MT8516還支援多達8個TDM通道和2個PDM輸入,以支援來自多個源的音頻輸入,適用於遠場(Far-field)麥克風語音控制和智慧音響設備。
主要的優勢在於內部集成WiFi和BT, 降低外掛模組的成本, 更加縮小PCB的體積. 還有針對麥克風陣列的音頻輸入.
針對聯發科開發平台,是需要繳納入門費用的,一般很小的公司很難承擔, 所以選用聯發科平台開發的,相對公司/客戶還有比較有實力.
MTK8516資料 註冊後全部都可以下,這個網站應該是MTK官方支援的

Code Download
如果按照該教程下載的源碼, 編譯的時候會發現很多第三方庫的鏈接已經失效了,需要手動去更改,發現不止一個庫,可想而知,鏈接中SDK已經沒有維護了,所以說想要開發量產的話,需要聯繫MTK下載最新的程式碼. 但是另外的文檔資料還是可以參考的.
針對智慧語音, 我司有MTK8516的全套的開發解決方案,如果你有客戶,可以隨時溝通. 另外的還有其他的智慧語音平台的方案.
MTK8516 SDK採用Yocto構建,源碼的目錄結構:
. ├── doc ├── meta // 平台項目配置文件, 裡面還有細分目錄 ├── prebuilt // 開發平台預編譯文件 ├── repo └── src // 平台源程式碼(包括kernel部分) meta ├── meta-gplv2 ├── meta-mediatek // Mediatek平台基礎支撐層 ├── meta-mediatek-aud // Mediatek平台Audio產品基礎支撐層 ├── meta-mediatek-gpl ├── meta-mediatek-mt8516 //Mediatek平台應用程式 ├── meta-mediatek-mt8516-gpl ├── meta-openembedded // Yocto開發環境嵌入式開發核心組件 └── poky //Yocto開發環境編譯系統 src ├── apps │ └── aud-base ├── bsp │ ├── dramk_8516 │ ├── lk │ ├── scatter │ └── trustzone ├── connectivity // BT和WIFI │ ├── bin │ ├── bt_others │ ├── bt_stack │ ├── combo_tool │ ├── wifitesttool │ ├── wlan │ ├── wlan_cfg │ └── wlan_tool ├── devtools │ ├── datool │ └── nfsb ├── kernel // 內核 │ ├── linux │ └── modules ├── multimedia │ ├── audio-misc │ └── smartaudioplayer // MTK音頻框架 └── support ├── efuse_writer ├── libnvram_custom └── nvram src/apps/aud-base/main // 具體的應用實現 ├── acfg ├── am ├── appmainprog.c ├── assistant_stub ├── ble_mesh_app ├── bluetooth ├── bluetooth_gatt_test ├── bluetooth_hfp ├── cli ├── CMakeLists.txt ├── device_mngr ├── gva_ota_inc ├── inc ├── led ├── led_manager ├── misc ├── mw ├── playback ├── recovery ├── script ├── state_mngr ├── state_mngr_cast ├── timerd ├── upg_control ├── upg_control_cast ├── user_interface ├── utils └── wifi_setting
Build
編譯之前需要安裝一下開發依賴包
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev xterm g++ libstdc++6 lib32stdc++6 libpulse-dev libevent-dev ninja-build rpm2cpio cpio $ wget -O gn http://storage.googleapis.com/chromium-gn/3fd43e5e0dcc674f0a0c004ec290d04bb2e1c60e $ sudo mv gn /usr/bin $ sudo chmod 777 /usr/bin/gn
Yocto 的編譯方式還是常用的命令
$ export TEMPLATECONF=${PWD}/meta/base/conf/mt8516/aud8516-ztk-basic $ source meta/poky/oe-init-build-env $ bitbake mtk-image-aud-8516 2>&1 | tee build.log
第一次編譯會花費較長的時間,過程中會去下載第三方的安裝包,大概3h左右, 之後編譯只需要指定好downloads目錄即可.
成功編譯後,生成的image保存在:build/tmp/deploy/images/aud8516-ztk-basic
編譯過程中的文件系統: build/tmp/work/aud8516p1v2_consys_slc-poky-linux/mtk-image-aud-8516/1.0-r0/rootfs
開發環境搭建完成,餘下的工作就是針對客戶需求訂製開發了.