乐鑫WIFI芯片开发流程梳理-工具链、编译和下载

最近开始基于乐鑫ESP32的WIFI模组的软件开发,首先要做整套流程的梳理,乐鑫官网以及安信可上已经有了较为系统的资料,但是在实现过程中也遇到了一些问题,花了几天去解决,所以为了总结,也为了给其他人提供一些借鉴,把流程分享一下,官网上相对比较完善的,就不再赘述。

1. 开发方案选择

目前网上有两套较为成熟的方案:

  • (1)基于乐鑫官网推荐的开发方式,原网页:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/hw-reference/get-started-devkitc.html1, 适用于官方开发板,但是我尝试下载安装网页上的工具链安装包,公司电脑网页不够,一直提示connection error,后来回家下载,成功,安装以后尝试进行编译,发现可视化不强,萌新会有点不知如何下手的感觉;
  • (2)基于安信可一体化开发工具,原网页:https://wiki.ai-thinker.com/ai_ide_install2, 相比乐鑫官网需要下载安装什么Git,交叉编译器,以及 CMake 构建工具,安信可的一体化开发环境就相对人性化一点,可视化程度高一点,但是网页上面的教程比较杂,也不太系统;

结论:开发团队人员少,网又不太好的选用方法2,大团队,网又好,建议选择方法1,毕竟官网,做的方案也更系统;

开发板我们选择的是乐鑫淘宝店的 ESP32-DevKitC,大家可以根据自己对于CPU频率、I/O口数量、FLASH大小以及天线选择合适的开发板;

2. 需要的软件以及资料

其中填从网上下载的资料以及软件主要有:

  • 安信可一体化开发工具, Windows + Cygwin + Eclipse + GCC 的综合 IDE 环境,有点就是傻瓜和可视化;
  • ESP_IDF,就是官方源代码和软件库,根据自己需要进行版本选择,我们选择的是ESP-IDF V3.1.3,下载地址:https://www.espressif.com/zh-hans/support/download/sdks-demos;
  • CP2102 USB驱动,用于连接开发板和电脑 ;
  • 安信可串口调试工具,用于确认开发板和电脑连接状态,以及后期调试用,有时候也会用于确认开发板进入下载模式;
  • FLASH下载工具,用于开发板的烧写;

以上工具除了IDF粗腰到乐鑫官网进行下载,其余的均可以在 https://wiki.ai-thinker.com/tools 这个网站上下载。

3. 安装编译

第一步解压和安装,参考网页:https://wiki.ai-thinker.com/ai_ide_install ,比较详细,不再赘述;
第二步,IDF导入和编译,参考网页:https://wiki.ai-thinker.com/ai_ide_install ,也比较详细,不再赘述;

这里主要讲一下我遇到的问题:

  • ESP-IDF V3.1.3中没有app文件夹,第一次编译,直接报错,app是用户程序,走流程的时候,可以用IDF中给的例程,具体操作方式是,在IDF根目录中新建一个app文件夹,在IDF中的example/getstarted/hellowworld下面所有的文件拷贝至app文件夹中,再进行Import操作;
  • Menuconfig 在走流程阶段,即不涉及真正开发时,只需要设置端口位置(在Serial flasher config这个选项中),其余选择默认即可,如下图所示,其中端口位设置为 ttySX(X=(实际电脑显示的端口位 — 1))

    乐鑫WIFI芯片开发流程梳理-工具链、编译和下载_第1张图片

4.连接开发板、烧写例程3

整个过程需要:

  • 一根microUSB线,开发板;
  • USB驱动程序、安信可串口调试工具;

整个过程流程如下:

  1. 安装对应USB驱动程序,一般有 CH340G和CP2102 两种,根据USB类型选择;
  2. 确认开发板与电脑连接正常,即开发板电源灯亮起,同时电脑设备管理器中有端口号显示,如图所示;
    乐鑫WIFI芯片开发流程梳理-工具链、编译和下载_第2张图片
  3. 打开安信可串口调试工具,在 波特率115200​ 下观察模组的启动或复位后(即嗯一下 EN 按键)的打印信息,有关于开发板的信息返回即可;
  4. 按住BOOT按键,同时按下EN按键,观察安信可串口调试工具,出现 waiting for download 等字样,就可以开始进行下载;
  5. 如果是进行第二次烧写,需要参考参考下一节内容,利用Flash擦除工具进行Flash的擦除,第一次烧写可直接跳过;
  6. 建立Download的Target(在下载过程之前,务必确保Menuconfig已经正确配置,并且整个文件已经正确编译过一遍),建立的方法:https://wiki.ai-thinker.com/ai_ide_use ,关闭串口调试助手,点击建立的Download目标,并且长按BOOT按键两秒,等待烧写完成,如下图;

    乐鑫WIFI芯片开发流程梳理-工具链、编译和下载_第3张图片
  7. 重新连接串口调试工具观察,调试;

说一些我们在此过程中遇到的问题:

  • 官方开工板在连接电脑时未显示任何信息,尝试过加大电流和和重新安装过好几次驱动后,尝试利用官方原理图和技术手册找出问题,最后解决是,microUSB线选择数据线,而非电源线
  • 我们在进行ESP32的第二次烧写是出现无法烧写的情况,第一次烧写的是ESP32IDF中的“helloworld”例程,后来通过网上查找资料,网友的回答,尝试着,先擦除FLASH的内容,并且在download过程中长按2S的BOOT键进行解决

5. 利用Flash_download_tools进行烧写 和 FLASH的擦除

一般情况如果方法4烧写方式出现问题,或者是需要进行flash擦除的,可以使用Flash_download_tools进行程序的烧写和擦除。

整个过程需要:

  • 一根microUSB线,开发板;
  • USB驱动程序、安信可串口调试工具;
  • FLASH下载工具;
  • 2M、4M、8M和16M的FLASH空文件,用于FLASH擦除,可以在 https://wiki.ai-thinker.com/esp_download 页面的最底下找到;

整个过程流程如下:

1~4保持不变;
5. 打开FLASH下载工具,根据对应开发板选择DownloadTool,我选择的是ESP32 DownloadTool ,按照图片中信息,配置好bin文件和烧录地址:

乐鑫WIFI芯片开发流程梳理-工具链、编译和下载_第4张图片
6. 按照如图所示内容配置好 晶振频率、SPI SPEED、SPI MODE、Flash Size、串口端口号(根据步骤2中确定的端口号)和波特率等,此处波特率可以尽量选大一些( 默认1152000),以节省时间,最后确认一遍,然后点击START,等待完成( 出现FINISH,即烧写成功);

乐鑫WIFI芯片开发流程梳理-工具链、编译和下载_第5张图片

  1. 最后连接串口调试工具观察。调试;

FLASH的擦除过程其实就是将对应你FLASH容量的空文件利用FLASH下载工具烧写进FLASH中,文件利用给出的下载地址就可以进行,下载,地址直接填0x0就好(全盘覆盖)。

未完待续》》》


  1. https://docs.espressif.com/projects/esp-idf/zh_CN/latest/hw-reference/get-started-devkitc.html; ↩︎

  2. https://wiki.ai-thinker.com/ai_ide_install; ↩︎

  3. https://wiki.ai-thinker.com/esp_download ↩︎

你可能感兴趣的:(知识点总结)