1、环境搭建
请确保开发套件和烧录所用电脑处于同一局域网下,可以按照下面的步骤进行配置验证
- 将电脑连接到局域网:通过网线或Wi-Fi都行。
- 将Ameba + DSP连接至局域网:
①:使用AT命令连接Ameba + DSP到Wi-Fi。
ATW0=Wi-Fi名称
ATW1=Wi-Fi密码
ATWC
可以用 ATW?
来查看IP信息。
- 当电脑和设备都接入同一局域网后,检查双方是否可以相互Ping通,请注意关闭电脑端的防火墙,不然可能出现电脑可以访问Ameba,但Ameba无法访问电脑的情况。
电脑
ping
Ameba,可以通信
Ameba 执行
APWI=IP地址
来执行ping
操作
2、生成 ALC5680 DSP 的烧录文件
- 将dsp_fw_combine_one_tool文件夹下的压缩包
ALC5680fw_vxxxx_xxxxxx_IOT_Sensory_XiaoduXiaodu.zip 中的All_in_one.dat解压到和 alc_fw_upgrade.bat 等文件同级的目录。请确保此文件的名称为 All_in_one.dat ,如果不是请修改。 - 请运行 dsp_fw_combine_one_tool 文件夹下的
alc_fw_upgrade.bat 文件。 - 等待 生成alc_fw_upgrade.bin 文件的生成。
注1:当前最新补丁包版本为V10,不支持ALC5680 DSP的升级操作,补丁包工具中无法找到此工具,程序中也已删除烧录固件相关操作,官方的技术交流群中有V09版本的补丁包还支持。
注2:当前ALC5680 DSP的源码是不开放的,所以我们向官方定制唤醒词之类的操作时,官方提供的就是 All_in_one.dat 的dat类型文件。
3、打开TFTP,创建TFTP服务器
- 下载安装运行TFTP软件
- 将TFTP服务器的根目录锁定到 alc_fw_upgrade.bin 文件所在的目录。
-
锁定当前电脑在本地局域网的IP地址。
注1:此文章测试所用的软件是Tftpd64版本是从官网下载的4.60版本,可以正常使用
注2:软件默认创建的TFTP服务端口号为69,请确保Ameba访问电脑是不会被墙
4、ALC5680 DSP固件升级
4.1 修改编译Ameba的固件
- 在platform_opt.h文件中启用如下标志位
/*Foe alc audio codec firmware upgrade */
#define CONFIG_EXAMPLE_ALC_DSP_FW_UPGRADE 1
- 在 example_alc_fw_dsp_upgrade.c 文件中修改固件文件名和TFTP服务器的信息。
#define ALC_DSP_FIRMWARE_NAME "alc_fw_upgrade.bin"
#define TFTP_HOST_IP_ADDR "192.168.3.28"
#define TFTP_HOST_PORT 69
- 如果需要强制升级 ALC5680 DSP 的固件请置位强制升级标志位。如果清理,程序会检查Flash中是否存在DSP的固件,如果存在就不进行升级操作。
#define FORCE_UPGRADE 0
- 编译并重新烧录Ameba的固件
4.2 将Ameba连接至TFTP服务器所在的局域网
- 网络连接
使用AT命令连接Ameba + DSP到Wi-Fi。
ATW0=Wi-Fi名称
ATW1=Wi-Fi密码
ATWC
用 ATW?
来查看IP信息。
4.3通过TFTP升级ALC5680 DSP的固件
- 当Ameba连接至局域网后,升级会自动开始
- 先会擦除Flash,这会耗时几秒钟时间。
-
从TFTP服务器读取升级DSP所用的固件并烧录。
-
进行CRC校验
-
升级完成
至此,ALC5680的固件升级结束,别忘了吧Ameba的程序配置回去哦!