一、概念
相关内容参考乐鑫文档
①项目: 特指一个目录,其中包含了构建可执行应用程序所需的全部文件和配置,以及其他支持型文件,例如分区表、数据/文件系统分区和引导程序。
②项目配置: 保存在项目根目录下名为 sdkconfig 的文件中,可以通过 idf.py menuconfig 进行修改,且一个项目只能包含一个项目配置。
③应用程序: 是由 ESP-IDF 构建得到的可执行文件。一个项目通常会构建两个应用程序:项目应用程序(可执行的主文件,即用户自定义的固件)和引导程序(启动并初始化项目应用程序)。
④组件: 是模块化且独立的代码,会被编译成静态库(.a 文件)并链接到应用程序。部分组件由 ESP-IDF 官方提供,其他组件则来源于其它开源项目。
⑤目标: 特指运行构建后应用程序的硬件设备。ESP-IDF 当前仅支持 esp32 和 esp32s2 以及 esp32c3 这三个硬件目标。
请注意,以下内容并不属于项目的组成部分:
ESP-IDF 并不是项目的一部分,它独立于项目,通过 IDF_PATH 环境变量(保存 esp-idf 目录的路径)链接到项目,从而将 IDF 框架与项目分离。
交叉编译工具链并不是项目的组成部分,它应该被安装在系统 PATH 环境变量中。
二、新建工程
从esp-idf中复制出hello_world文件放在自己的的项目文件夹中。
我放在cmake_example文件夹下,可以直接修改工程名称hello_world文件夹名自定义为my_project
也可以修改hello_world_main.c重命名为user_main.c
同时要在main/cmakelists里修改hello_world_main.c为user_main.c