ESP-IDF 是 ESP32 芯片的官方开发框架。
有关设置 ESP-IDF 的详细说明,请参阅设置指南:
除了设置指南中提到的 esp-idf-template 项目之外,ESP-IDF 在示例目录中还附带了一些示例项目。
找到要使用的项目后,更改到其目录,然后就可以配置和构建它。
make menuconfig
?
查看帮助屏幕。 Enter 键退出帮助屏幕。Y
和N
键启用(是)和禁用(否)带有复选框“ [*]
”的配置项?
突出显示配置项时会显示有关该项目的帮助。/
搜索配置项。配置完成后,多次按 Escape 键退出,并在出现提示时说“是”保存新配置。
make all
...将编译应用程序、引导加载程序并根据配置生成分区表。
当make all
完成后,它将打印一条命令行以使用 esptool.py 来刷新芯片。不过,您也可以通过运行以下命令从 make 执行此操作:
make flash
这会将整个项目(应用程序、引导加载程序和分区表)闪存到新芯片。可以使用make menuconfig
配置串行端口刷新的设置。
在运行 make make flash
之前,您不需要运行make all
, make flash
会自动重建需要它的任何内容。
make monitor
目标将使用已安装的 miniterm(pyserial 的一部分)在终端控制台上显示 ESP32 的串行输出。
通过键入 Ctrl-] 退出小术语。
要一次性刷新并监视输出,您可以运行:
make flash monitor
初始刷新后,您可能只想构建和刷新您的应用程序,而不是引导加载程序和分区表:
make app
- 只构建应用程序。make app-flash
- 仅刷新应用程序。如果需要, make app-flash
将自动重建应用程序。
(在正常开发中,如果引导加载程序和分区表没有更改,每次都重新刷新它们并没有什么坏处。)
ESP-IDF 支持并行编译多个文件,因此上述所有命令都可以作为make -jN
运行,其中N
是要运行的并行 make 进程的数量(通常 N 应等于或比 CPU 核心数多 1)在你的系统中。)
多个 make 函数可以合并为一个。例如:要使用 5 个并行作业构建应用程序和引导加载程序,然后刷新所有内容,然后显示 ESP32 运行的串行输出:
make -j5 flash monitor
编译项目后,“build”目录将包含一个名称类似于“my_app.bin”的二进制文件。这是一个可由引导加载程序加载的 ESP32 映像二进制文件。
单个 ESP32 的闪存可以包含多个应用程序,以及许多不同类型的数据(校准数据、文件系统、参数存储等)。因此,分区表被闪存到闪存中的偏移 0x4000。
分区表中的每个条目都有名称(标签)、类型(应用程序、数据或其他)、子类型以及加载分区的闪存中的偏移量。
使用分区表的最简单方法是make menuconfig
并选择简单的预定义分区表之一:
在这两种情况下,工厂应用程序都会在偏移量 0x10000 处刷新。如果您make partition_table
,那么它将打印分区表的摘要。
有关分区表以及如何创建自定义变体的更多详细信息,请查看docs/partition-tables.rst
文件。
make flash
目标不会擦除整个 flash 内容。然而,有时将设备设置回完全擦除状态很有用,特别是在更改分区表或更新 OTA 应用程序时。要擦除整个闪存,请运行make erase_flash
。
这可以与其他目标结合使用,即make erase_flash flash
将擦除所有内容,然后重新刷新新的应用程序、引导加载程序和分区表。
最新版本的文档:http://esp-idf.readthedocs.io/。本文档是从此存储库的 docs 目录构建的。
esp32.com 论坛是一个提出问题和查找社区资源的地方。
如果您发现错误或有功能请求,请检查 github 上的问题部分。请在打开新问题之前检查现有问题。
如果您有兴趣为 ESP-IDF 做出贡献,请查看贡献指南。