ESP32 学习笔记 - 记录贴

ESP32 学习笔记

                                                                                                   张婷婷 2019.09.22

目录

概述... 2

官方参考文档... 2

1 ESP32-WROOM-32D 学习心得... 3

1.1 vscode 下载... 3

1.2 生成阿里云新的.a文件... 3

1.3 编译链下载... 3

1.4 log日志等级修改... 3

2 ESP32_PICO_D4 学习心得... 4

3 ESP32_LyraT 学习心得... 5

3.1 环境搭建及编译... 5

3.2 ESP32_WROOM 32D 与ESP32_Lyart合并使用同一个idf 6

3.3 ESP32编译固件大于1M问题... 7

3.4 SD卡功能支持长文件名... 7

 

 

 

概述

官方参考文档

例程介绍:   https://github.com/espressif/esp-adf/tree/master/examples/player/pipeline_sdcard_mp3_control

快速入门:  https://docs.espressif.com/projects/esp-idf/zh_CN/latest/get-started/index.html

音频指南:  https://docs.espressif.com/projects/esp-adf/en/latest/

1 ESP32-WROOM-32D 学习心得

1.1 vscode 下载

vscode->File->open floder->选择对应程序文件夹

Ctrl+` 打开中终端  à (make clean) à make all à (make erase_flash) à make flash

1.2 生成阿里云新的.a文件

编译链mingw32 ->cd 阿里云套件路径 ->make reconfig -> 1 ->耐心等待 ->make->耐心等待

ESP32 学习笔记 - 记录贴_第1张图片

1.3 编译链下载

编译链mingw32 -> cd 程序文件夹路径 -> (make clean) -> make -> make flash

ESP32 学习笔记 - 记录贴_第2张图片

1.4 log日志等级修改

ESP32 学习笔记 - 记录贴_第3张图片

2 ESP32_PICO_D4 学习心得

ESP32_PICO_D4与ESP32_WROOM_32D 可共用idf及编译环境,这就代表着这两者程序可相互通用.

 

 

3 ESP32_LyraT 学习心得

3.1 环境搭建及编译

0)参考网址:

https://blog.csdn.net/qq_27158179/article/details/89646815  //小bug

https://www.cnblogs.com/54zorb/p/9784119.html           //pintf

https://blog.csdn.net/qq_41630102/article/details/82998813  //顺利

1)克隆ESP32-adf 框架

编译链mingw32 -> cd 存放adf文件夹路径 -> git clone --recursive https://github.com/espressif/esp-adf.git -> 耐心等待,最好手机开热点给电脑使用,如果失败换个网络再尝试.

2)添加adf /idf 脚本路径

在编译链的脚本文件 esp32_toolchain.sh 中增加 adf /idf 脚本路径,这里的idf就使用adf中自带的idf,编译比较好通过.由于ESP32_PICO_D4与ESP32_WROOM_32D 使用的idf和这里ESP32_LyraT的不同,所以需要在脚本文件中切换idf文件路径.

ESP32 学习笔记 - 记录贴_第4张图片

ESP32 学习笔记 - 记录贴_第5张图片

3)编译例程播放一段音乐

在编译的时候发现一个error错误提示,提示TOUCH_PAD_NUM9未定义, 所以我们需要在board_pins_config.c文件中添加包含头文件:#include "driver/touch_pad.h".

ESP32 学习笔记 - 记录贴_第6张图片       ESP32 学习笔记 - 记录贴_第7张图片

我使用的编译链是esp32_win32_msys2_environment_and_toolchain-20181001 编译时提示需要更新python依赖包,也按照提示内容run更新一下.(忘记截图了,提示内容主要是下图所示)

ESP32 学习笔记 - 记录贴_第8张图片

接下来的编译过程有可能会出现让你选择SDKconfig的配置,直接按回车键选择默认值,至此编译应该就没问题了.编译通过后运行make menuconfig修改下载串口号,修改完保存退出,再运行make all,编译结束后就可以make flash下载了.

3.2 ESP32_WROOM 32D 与ESP32_Lyart合并使用同一个idf

之前ESP32_WROOM 32D是使用esp-idf-v3.1.4开发的,后期ESP32_Lyart是用esp-adf里自带的idf开发的,这就造成了两类芯片模组工程需要来回切换脚本文件中的idf路径比较麻烦,所以研究了合并这两类工程的idf, 主要是使用esp-idf-v3.1.4开发的ESP32_WROOM 32D程序做以下3个地方修改:

  1. 修改编译链脚本中idf路径

统一idf路径为adf中自带的idf:

ESP32 学习笔记 - 记录贴_第9张图片   ESP32 学习笔记 - 记录贴_第10张图片

  1. 修改阿里云套件里的HAL_OS_espressif.c

Idf里已经定义实现了int clock_gettime()函数,所以这里需要注释该函数的实现:

ESP32 学习笔记 - 记录贴_第11张图片   ESP32 学习笔记 - 记录贴_第12张图片

  1. 修改每个工程下的Makefile中的mk文件路径

使用adf下的project.mk文件:

ESP32 学习笔记 - 记录贴_第13张图片   ESP32 学习笔记 - 记录贴_第14张图片  

3.3 ESP32编译固件大于1M问题

    首先确定模组flash size大于2M并选择实际flash size,修改partition_table为Single factory app, no OTA (仅支持一个APP,无法再进行OTA空中升级):

 ESP32 学习笔记 - 记录贴_第15张图片       ESP32 学习笔记 - 记录贴_第16张图片

修改core dump 转存地为None:

ESP32 学习笔记 - 记录贴_第17张图片

修改idf里分区表APP的大小为2M:

ESP32 学习笔记 - 记录贴_第18张图片     ESP32 学习笔记 - 记录贴_第19张图片

  修改完这三个地方后,make clean下工程,清除完成后再重新编译一下就可以烧录运行大于1M的固件了。

3.4 SD卡功能支持长文件名

ESP32 学习笔记 - 记录贴_第20张图片

你可能感兴趣的:(笔)