[ 物联网篇 ] ESP32 开发板 编译esp-avs
时间:2022-06-19
本文章向大家介绍[ 物联网篇 ] ESP32 开发板 编译esp-avs,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/z2066411585/article/details/88955900
参考Espressif Systems Github上开源的代码,编译出完整的固件跑通Alexa。
- 源代码下载
// 下载源码,详细说明可以参考 esp-va-sdk/README-Getting-Started.md
$ git clone --recursive https://github.com/espressif/esp-idf.git
$ cd esp-idf; git checkout release/v3.1; cd ..
$ git clone https://github.com/espressif/esp-avs-sdk.git
// 打补丁
$ cd esp-idf
$ git apply ../esp-avs-sdk/esp-idf-patches/memset-i2s-dma-buffers-zero.patch
$ git apply ../esp-avs-sdk/esp-idf-patches/esp-tls-Add-support-for-global-CA-store.-All-mbedtls.patch
- 配置相关参数
make menuconfig
Component config -> ESP32 Specific -> SPI RAM config -> Type of SPIRAM in use->select ESP-PSRAM64
- 擦除Flash
make erase_flash
或许
esptool --port /dev/ttyUSB0 erase_flash
- 编译代码/烧录固件
// 编译加监控串口输出
make -j 4 flash VOICE_ASSISTANT=alexa monitor
- 烧录固件
// 烧录固件之后,发现系统一直重启
>>Registering command: task-dump
Registering command: cpu-dump
Registering command: heap-trace
Registering command: nvs-get
Registering command: nvs-set
Registering command: nvs-erase
Registering command: reboot
Registering command: wifi-set
ret: 0
I (191) net80211: OS adapter function version error! Version 2 is expected, but it is 1
E (201) conn_mgr_prov: Failed to init wifi
E (211) app_main: Error getting device provisioning state
abort() was called at PC 0x400d777a on core 0
Backtrace: 0x400900c4:0x3ffc65d0 0x400902bf:0x3ffc65f0 0x400d777a:0x3ffc6610 0x400d2bb6:0x3ffc66c0
Rebooting...
ets Jun 8 2016 00:22:57
最终找到的原因是
esp-idf切换到v3.1分支之后,部分子模块并没有更新,需要运行git submodule update --init ,问题解决。
参考
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- es 7.2 生产集群 index 无数据写入故障定位
- HashMap都在用,原理你真的了解吗?
- Android必知必会--事件分发机制
- 又被逼着优化代码,这次我干掉了出入参 Log日志
- C#委托进阶,事件和委托,一次就看明白,附源码
- 树莓派爬虫多平台热搜榜轮播展示
- Scrapy 和 Pyppeteer 更优雅的对接方案
- 京喜前端自动化测试之路(小程序篇)
- JavaScript 混淆与逆向必读之 AST 节点类型名词基础
- 手把手教你如何实现大量图片的自适应图片页面的排列
- 那些你可能不知道的浏览器奇技淫巧
- 那些你可能不知道的 windows 奇技淫巧
- LeetCode-5.最长回文子串 中心扩散法
- 再谈备份微博
- Scala中的IO操作及ArrayBuffer线程安全问题