接前一篇文章:ESP-IDF编译系统详解(1)
本文内容主要参考:
《ESP32-C3物联网工程开发实战》 —— 乐鑫科技 编著
特此致谢!
2. 工程文件结构
工程(Project,也称为项目)是指一个包含入口函数main、用户自定义组件,以及构建可执行应用程序所需的编译脚本、配置文件、分区表等文件的文件夹。工程可以被复制和传递,并可在安装了相同版本ESP-IDF开发环境的机器中编译生成相同的可执行文件。
笔者之前建立的VSCODE+ESP-IDF的工程结构如下所示:
(1)组件(components)
组件是模块化且独立的代码,在编译系统中以文件夹的形式管理(文件夹名默认为组件名)。经过组件的编译脚本,可以指定其编译参数和依赖关系。在编译时,组件会被编译成独立的静态库(.a)文件,最终在链接阶段共同组成应用程序。
ESP-IDF的关键功能(如操作系统、外设驱动、网络协议栈等)是以组件的形式提供的,这些组件保存在ESP-IDF根目录下的components目录中。