# ULP 协处理器

[English]

ULP（Ultra Low Power，超低功耗）协处理器可在主 CPU 处于深度睡眠模式时执行任务，从而实现功耗优化并延长电池使用寿命。ULP 协处理器能监测传感器、控制外设，并处理其他无需主 CPU 算力的任务。当满足特定条件（如传感器读数超过预设阈值）时，它还能唤醒主 CPU。

芯片上的 ULP 协处理器可能包含以下一种或多种类型，但同一时间只能运行一种：

- ULP FSM：基于有限状态机 (FSM) 的协处理器。适用于简单任务，相关应用需使用汇编语言或 C 语言宏编写。ESP32、ESP32-S2 和 ESP32-S3 支持此类型。

- ULP RISC-V：基于 RISC-V 架构的协处理器。提供更强的计算能力和灵活性，适合运行用 C 语言编写的复杂应用。ESP32-S2 和 ESP32-S3 支持此类型。

- ULP LP Core：基于 RISC-V 架构的增强型协处理器，兼具 ULP RISC-V 的优势，并新增扩展内存访问、更广泛的外设访问、调试模块和中断控制器等功能。该处理器甚至可在全系统运行时工作。ESP32-C5、ESP32-C6、ESP32-P4 及后续芯片支持此类型。

注意：ESP32-S2、ESP32-S3 等芯片同时支持 ULP FSM 和 ULP RISC-V。用户可在编译时在 menuconfig 中同时启用二者，并在运行时选择使用其中一种。

- ULP FSM 协处理器编程

本 API 章节的代码示例位于 ESP-IDF 示例项目的 system/ulp 目录下。

此文档对您有帮助吗？

- 反馈已收到，谢谢！
- 如果您有其他意见，欢迎填写乐鑫文档反馈表。

- 我们重视您的反馈。
- 您可以填写乐鑫文档反馈表告诉我们如何改进该文档。