这是描述信息

ESP32-C3无线路由芯片乐鑫信息代理商ESP-IDF开发环境搭建

ESP32-C3无线路由芯片乐鑫信息代理商ESP-IDF开发环境搭建

ESP32-C3无线路由芯片乐鑫信息代理商ESP-IDF开发环境搭建

ESP32-C3无线路由芯片乐鑫信息代理商ESP-IDF开发环境搭建

ESP32-C3无线路由芯片乐鑫信息代理商ESP-IDF开发环境搭建

ESP32-C3无线路由芯片乐鑫信息代理商ESP-IDF开发环境搭建,本文首先介绍 ESP32-C3 的官方软件开发框架 ESP-IDF(包含开发环境),以及在不同计算机操作系统上搭建开发环境的方法:然后以一个典型工程为例,介绍 ESP-IDF 代码工程结构、编译系统,以及相关开发工具的使用方法;后演示示例代码的实际编译和运行过程,详细解读不同环节的输出信息。


ESP-IDF概述


ESP-IDF(EspressifIoT Development Framework) 是ESP32-C3无线路由芯片乐鑫信息代理商提供的一站式物联网开发框架它以C/C++为主要的开发语言,支持 Linux、Mac、Windows 等主流操作系统下的交叉编译提供的示例程序均是基于 ESP-IDF 搭建的,具有以下特性:
(1)包含 ESP32、ESP32-S2、ESP32-C3 等系列的SoC 系统级驱动,主要包括外设底层 LL(LowLevel)库、HAL (Hardware Abstraction Layer)库、RTOS 支持和上层驱动软件等。(2)包含物联网开发必要的基础组件,主要包括 HTTP、MQTT 等多种网络协议栈,可支持动态调频的电源管理框架,以及 Flash 加密方案和 Secure Boot 方案等。(3)提供了开发和量产过程中常用的构建、烧录和调试工具 (见图4-1),例如基于 CMake 的构建系统、基于 GCC 的交叉编译工具链、基于 OpenOCD 的JTAG 调试工具等。值得注意的是,ESP32-C3无线路由芯片乐鑫信息代理商ESP-IDF 代码主要遵守 Apache 2.0开源协议,在遵守开源协议的前提下,用户可以不受限制地进行个人或商业软件开发,并且免费拥有永久的专利许可,无须开源修改后的源代码。

ESP-IDF 版本介绍
ESP-IDF代码在GitHub 上开源,目前有v3、v4和v5三个主要版本,每个主要版本通常包含多个不同的子版本,如v4.2、v4.3 等。ESP32-C3无线路由芯片乐鑫信息代理商还为每个已发布的子版本提供30个月的 bug修复、安全修复支持,因此一般还会发布子版本的修订版本,如v4.3.1、4.2.2等。不同版本的ESP-IDF对乐鑫芯片的支持状态如表4-1所示,其中 preview 表示提供预览版本的支持,预览版本可能缺少关键的功能或文档,supported 表示提供正式版本的支持。


主要版本的迭代往往伴随着框架结构的调整和编译系统的更新,如 v3.* 到 v4.* 的主要变化是构建系统从Make 逐渐迁移到 CMake; 子版本的选代一般意味着新增功能或新增芯片支持还需要注意稳定版本和 GitHub 分支的区别和联系,如上所述的带有 v** 或**.* 标签的版本均为稳定版本,稳定版本已通过乐鑫科技的完整内部测试,同一版本下的代码、工具链、发布文档在固定后不再变更。而 GitHub 分支(如 release/v4.3 分支)则几乎每天都会有新的代码提交,因此,同在该分支下的两份代码可能是不同的,需要开发者及时更新。


乐鑫科技 ESP-IDF Git 的工作流程如下


新的改动总是在 master 分支(主开发分支) 上进行的,master 分支上的 ESP-IDF 版本带有-dev标签,表示正在开发中,如v4.3-dev。master 分支上的改动将首先在乐鑫科装的内部仓库中进行代码审阅与测试,然后在自动化测试完成后推至 GitHub。新版本一且完成特性开发(在 master 分支上进行)并达到进入 Beta 测试的标准,则会将个新版本切换至一个新分支(如 release/v4.3)。此外,这个新分支还会加上预发布标签(如v4.3-beta1)。开发者可以在 GitHub 平台上查看ESP32-C3无线路由芯片乐鑫信息代理商ESP-IDF 的完整分支列表和标签列表Beta 版本(预发布版本)可能仍存在大量已知问题,随着对 Beta 版本的不断测试,bug 修复将同时增加至该版本分支和 master 分支,而 master 分支可能也已经开始为下个版本开发新特性了。当测试快结束时,该发布分支上将增加一个 rc 标签,表示候选发布 (ReleaseCandidate),如 v4.3-rc1,此时该分支仍属于预发布版本。

如果一直未发现或未报告重大 bug,则该预发布版本将终增加主要版本 (如 5.0)或次要版本标记(如v4.3),成为正式发布版本,并体现在发布说明页面中。后续,该版本中发现的bug 都将在该发布分支上进行修复。在人工测试完成后,该分支将增加一个 Bugfix 版本标签(如 v4.3.2),并体现在发布说明页面中。


选择一个合适的版本


由于ESP-IDF从v4.3版本正式开始对 ESP32-C3 提供支持,在撰写时还未正式发布 v4.4版本,因此使用的是 v4.3.2 修订版本。当阅读本文时,可能已经发布了 v4.4 版本或更新的版本,对于版本的选择,我们建议:
(1)对于入门开发者,推荐选择稳定的 v4.3 版本及其修订版本,与示例版本保持一致。
(2)如果有量产需求,则推荐使用新的稳定版本,以便获得及时的技术支持。
(3)如果需要尝试ESP32-C3无线路由芯片乐鑫信息代理商新芯片或者预研产品新功能,请使用 master 分支,新版本包含所有的新特性,但存在已知或未知的 bug。
(4)如果使用的稳定版本没有新特性,又想降低使用 master 分支的风险,请使用对应的发布分支,如 release/v4.4 分支(ESP-IDF GitHub 会先创建 release/v4.4 分支,等完成全部功能的开发和测试后,再基于该分支的某一历史节点发布稳定的 v4.4 版本)。


ESP-IDF SDK目录总览
ESP32-C3无线路由芯片乐鑫信息代理商ESP-IDF SDK 包含esp-idf 和.espressif 两个主要目录,前者主要包含 ESP-IDF 仓库源代码文件和编译脚本,后者主要保存编译工具链等软件。熟悉这两个目录,有助于开发者更好地利用已有的资源,加快开发过程。
(1)ESP-IDF 仓库代码目录 (~/esp/esp-idf) 
1)组件目录 components。该目录是 ESP-IDF 的核心目录,集成了大量的核心软件组件,任何一个工程代码都无法完全脱离该目录的组件进行编译。该目录包括对多款乐鑫芯片的驱动支持,从外设底层 LL 库、HAL 库接口,到上层 Driver、VFS 层支持,都能找到对应的组件,以供开发者进行不同层级的开发;ESP32-C3无线路由芯片乐鑫信息代理商ESP-IDF 还适配了多种标准网络协议栈,如 TCP/IP、HTTP、MQTT、WebSocket 等,开发者可以使用 Socket 等自己熟悉的接口完成网络应用的开发。组件作为一个功能完整的模块,可以方便地集成在应用程序中。

地址:深圳市宝安区西乡街道麻布社区宝安互联网产业基地A区6栋7栋7706

邮箱:Sales@ferry-semi.com

版权所有©2020  深圳市飞睿科技有限公司  粤ICP备2020098907号    飞睿科技微波雷达wifi模块网站地图

 

免责声明:本网站部分图片和文字内容可能来源于网络,转载目的在于传递更多信息,并不代表本网站赞同其观点或证实其内容的真实性。如涉及作品内容、版权和其它问题,请在30日内与本网站联系,我们将在第一时间删除内容!本站拥有对此声明的最终解释权。