版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://cloud.tencent.com/developer/article/1551869
联发科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官方支持的
如果按照该教程下载的源码, 编译的时候会发现很多第三方库的链接已经失效了,需要手动去更改,发现不止一个库,可想而知,链接中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
编译之前需要安装一下开发依赖包
$ 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
开发环境搭建完成,余下的工作就是针对客户需求定制开发了.