[ 物联网篇 ] 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
开发环境搭建完成,余下的工作就是针对客户需求定制开发了.