ESP-IDF 例程——system
17. system 目录
17.1 console/basic 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | console/basic |
| 所在文件夹路径 | examples\system\console\basic |
| 核心功能说明 | 演示如何使用ESP-IDF的console组件创建交互式命令行界面(CLI)。实现了一个基于REPL(Read-Eval-Print Loop)的交互式shell,支持命令历史、自动补全和各种系统命令。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- esp_console_repl_init():初始化REPL- esp_console_register_help_command():注册帮助命令- esp_console_cmd_register():注册自定义命令- 各种系统命令处理函数(如free、restart、deep_sleep等) |
| 输入输出参数说明 | 输入: - 通过串口或USB输入的命令 输出: - 命令执行结果 - 帮助信息 - 系统状态信息 |
| 适用场景及典型应用案例 | 适用于: - 学习ESP-IDF console组件的使用 - 开发需要命令行界面的应用 - 设备调试和配置 - 系统状态监控 - 作为CLI应用的参考模板 |
17.2 esp_timer 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | esp_timer |
| 所在文件夹路径 | examples\system\esp_timer |
| 核心功能说明 | 演示ESP-IDF的高精度定时器功能。创建周期性定时器和一次性定时器,执行回调函数,并验证定时器在轻度睡眠后仍能正确工作。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- periodic_timer_callback():周期性定时器回调- oneshot_timer_callback():一次性定时器回调- esp_timer_create():创建定时器- esp_timer_start():启动定时器- esp_timer_stop():停止定时器- esp_timer_delete():删除定时器- esp_timer_dump():打印定时器信息- 轻度睡眠相关函数 |
| 输入输出参数说明 | 输出: - 定时器回调执行日志 - 定时器状态信息 - 轻度睡眠前后的时间信息 |
| 适用场景及典型应用案例 | 适用于: - 学习ESP-IDF高精度定时器的使用 - 开发需要精确定时的应用 - 实时系统中的时间管理 - 传感器数据采集定时 - 作为定时器应用的参考模板 |
17.3 deep_sleep 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | deep_sleep |
| 所在文件夹路径 | examples\system\deep_sleep |
| 核心功能说明 | 演示ESP32的深度睡眠模式和各种唤醒源。支持定时器唤醒、EXT0外部唤醒、EXT1外部唤醒和GPIO唤醒,展示了如何在深度睡眠中保存状态并快速唤醒。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- timer_wakeup_init():初始化定时器唤醒- ext0_wakeup_init():初始化EXT0唤醒- ext1_wakeup_init():初始化EXT1唤醒- esp_sleep_enable_timer_wakeup():使能定时器唤醒- esp_sleep_enable_ext0_wakeup():使能EXT0唤醒- esp_sleep_enable_ext1_wakeup():使能EXT1唤醒- esp_deep_sleep_start():进入深度睡眠 |
| 输入输出参数说明 | 输出: - 唤醒源信息 - 深度睡眠持续时间 - 系统状态信息 |
| 适用场景及典型应用案例 | 适用于: - 学习ESP32深度睡眠模式的使用 - 开发低功耗物联网设备 - 电池供电设备的电源管理 - 定时唤醒的传感器节点 - 作为深度睡眠应用的参考模板 |
17.4 pthread 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | pthread |
| 所在文件夹路径 | examples\system\pthread |
| 核心功能说明 | 演示POSIX线程(pthread)在ESP-IDF中的使用。创建多个线程,展示线程同步、互斥锁和条件变量的使用,以及线程优先级和调度策略的配置。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- pthread_create():创建线程- pthread_join():等待线程结束- pthread_mutex_init():初始化互斥锁- pthread_mutex_lock():锁定互斥锁- pthread_mutex_unlock():解锁互斥锁- pthread_cond_init():初始化条件变量- pthread_cond_wait():等待条件变量- pthread_cond_signal():发送条件信号 |
| 输入输出参数说明 | 输出: - 线程执行顺序 - 共享资源访问情况 - 线程同步结果 |
| 适用场景及典型应用案例 | 适用于: - 学习POSIX线程在ESP-IDF中的使用 - 开发多线程应用 - 实现并发处理 - 学习线程同步机制 - 作为多线程应用的参考模板 |
17.5 ota/simple_ota_example 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | ota/simple_ota_example |
| 所在文件夹路径 | examples\system\ota\simple_ota_example |
| 核心功能说明 | 演示ESP-IDF的OTA(Over-The-Air)升级功能。通过HTTPS从服务器下载固件并更新设备,支持固件完整性验证和版本检查。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- simple_ota_task():OTA升级任务- esp_https_ota():执行HTTPS OTA升级- esp_https_ota_config_t:OTA配置结构- Wi-Fi连接相关函数 |
| 输入输出参数说明 | 输入: - 配置的Wi-Fi SSID和密码 - OTA服务器URL 输出: - OTA升级进度 - 升级结果 - 系统重启信息 |
| 适用场景及典型应用案例 | 适用于: - 学习ESP-IDF OTA功能的使用 - 开发需要远程升级的设备 - 物联网设备的固件管理 - 作为OTA应用的参考模板 |
17.6 app_trace_basic 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | app_trace_basic |
| 所在文件夹路径 | examples\system\app_trace_basic |
| 核心功能说明 | 演示ESP-IDF的应用跟踪(App Trace)功能,用于实时跟踪和分析应用程序的执行情况。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- esp_apptrace_init():初始化应用跟踪- esp_apptrace_write():写入跟踪数据- esp_apptrace_flush():刷新跟踪数据 |
| 输入输出参数说明 | 输出: - 应用执行跟踪数据 - 系统状态信息 |
| 适用场景及典型应用案例 | 适用于: - 学习ESP-IDF应用跟踪功能 - 开发过程中的性能分析 - 系统调试和问题排查 - 作为应用跟踪的参考模板 |
17.7 base_mac_address 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | base_mac_address |
| 所在文件夹路径 | examples\system\base_mac_address |
| 核心功能说明 | 演示如何获取和修改ESP32设备的基础MAC地址,以及如何在不同网络接口上使用不同的MAC地址。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- esp_base_mac_addr_get():获取基础MAC地址- esp_efuse_mac_get_default():从eFuse获取默认MAC地址- esp_netif_get_mac():获取网络接口的MAC地址 |
| 输入输出参数说明 | 输出: - 设备的基础MAC地址 - 各网络接口的MAC地址 |
| 适用场景及典型应用案例 | 适用于: - 学习MAC地址管理 - 开发需要自定义MAC地址的应用 - 网络设备的标识和管理 - 作为MAC地址操作的参考模板 |
17.8 console/advanced 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | console/advanced |
| 所在文件夹路径 | examples\system\console\advanced |
| 核心功能说明 | 演示ESP-IDF的高级控制台功能,包括命令分组、子命令、参数解析和复杂命令处理。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- esp_console_repl_init():初始化REPL- esp_console_cmd_register():注册命令- 各种命令处理函数(系统、Wi-Fi、NVS等) |
| 输入输出参数说明 | 输入: - 通过串口或USB输入的命令 输出: - 命令执行结果 - 帮助信息 - 系统状态信息 |
| 适用场景及典型应用案例 | 适用于: - 学习ESP-IDF高级控制台功能 - 开发复杂的命令行界面 - 设备配置和管理 - 作为高级CLI应用的参考模板 |
17.9 deep_sleep_wake_stub 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | deep_sleep_wake_stub |
| 所在文件夹路径 | examples\system\deep_sleep_wake_stub |
| 核心功能说明 | 演示如何使用深度睡眠唤醒存根(wake stub)功能,在深度睡眠唤醒后执行代码,而无需完整启动系统。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- esp_deep_sleep_set_wake_stub():设置唤醒存根- 唤醒存根函数 - 深度睡眠相关函数 |
| 输入输出参数说明 | 输出: - 唤醒存根执行结果 - 系统状态信息 |
| 适用场景及典型应用案例 | 适用于: - 学习深度睡眠唤醒存根功能 - 开发超低功耗应用 - 快速唤醒的传感器节点 - 作为唤醒存根应用的参考模板 |
17.10 efuse 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | efuse |
| 所在文件夹路径 | examples\system\efuse |
| 核心功能说明 | 演示如何使用ESP32的eFuse(一次性可编程存储)功能,包括读取和写入eFuse数据。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- esp_efuse_read():读取eFuse数据- esp_efuse_write():写入eFuse数据- esp_efuse_dump():打印eFuse信息 |
| 输入输出参数说明 | 输出: - eFuse数据 - 系统配置信息 |
| 适用场景及典型应用案例 | 适用于: - 学习eFuse功能的使用 - 开发需要安全存储的应用 - 设备配置和标识 - 作为eFuse操作的参考模板 |
17.11 esp_event 例程
17.11.1 esp_event/default_event_loop 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | esp_event/default_event_loop |
| 所在文件夹路径 | examples\system\esp_event\default_event_loop |
| 核心功能说明 | 演示如何使用ESP-IDF的默认事件循环,实现事件的发布和订阅。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- esp_event_loop_create_default():创建默认事件循环- esp_event_handler_register():注册事件处理程序- esp_event_post():发布事件 |
| 输入输出参数说明 | 输出: - 事件处理结果 - 系统状态信息 |
| 适用场景及典型应用案例 | 适用于: - 学习ESP-IDF事件系统 - 开发基于事件的应用 - 实现组件间通信 - 作为事件系统应用的参考模板 |
17.12 eventfd 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | eventfd |
| 所在文件夹路径 | examples\system\eventfd |
| 核心功能说明 | 演示如何使用eventfd(事件文件描述符)进行线程间通信和同步。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- eventfd():创建eventfd- read():读取eventfd- write():写入eventfd- 线程创建和管理函数 |
| 输入输出参数说明 | 输出: - 事件触发状态 - 线程同步结果 |
| 适用场景及典型应用案例 | 适用于: - 学习eventfd功能 - 开发线程间通信应用 - 实现事件通知机制 - 作为线程同步的参考模板 |
17.13 flash_suspend 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | flash_suspend |
| 所在文件夹路径 | examples\system\flash_suspend |
| 核心功能说明 | 演示ESP32的Flash暂停功能,允许在Flash操作期间暂停和恢复执行。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- Flash操作函数 - 中断处理函数 |
| 输入输出参数说明 | 输出: - Flash操作状态 - 中断处理结果 |
| 适用场景及典型应用案例 | 适用于: - 学习Flash暂停功能 - 开发需要在Flash操作期间响应中断的应用 - 实时系统中的Flash管理 - 作为Flash操作的参考模板 |
17.14 freertos 例程
17.14.1 freertos/basic_freertos_smp_usage 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | freertos/basic_freertos_smp_usage |
| 所在文件夹路径 | examples\system\freertos\basic_freertos_smp_usage |
| 核心功能说明 | 演示FreeRTOS在ESP32 SMP(对称多处理)系统中的基本使用,包括任务创建、同步、通信等。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- xTaskCreate():创建任务- xSemaphoreCreateMutex():创建互斥锁- xQueueCreate():创建队列- xTaskNotifyGive():发送任务通知 |
| 输入输出参数说明 | 输出: - 任务执行顺序 - 同步操作结果 - 队列通信结果 |
| 适用场景及典型应用案例 | 适用于: - 学习FreeRTOS SMP功能 - 开发多任务应用 - 实现并发处理 - 作为FreeRTOS应用的参考模板 |
17.15 gcov 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | gcov |
| 所在文件夹路径 | examples\system\gcov |
| 核心功能说明 | 演示如何使用GCOV(代码覆盖率工具)来分析ESP32应用程序的代码覆盖率。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- 测试函数 - GCOV相关函数 |
| 输入输出参数说明 | 输出: - 代码覆盖率报告 - 测试结果 |
| 适用场景及典型应用案例 | 适用于: - 学习GCOV代码覆盖率工具 - 开发需要代码覆盖率分析的应用 - 提高代码质量和测试覆盖率 - 作为代码覆盖率分析的参考模板 |
17.16 gdbstub 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | gdbstub |
| 所在文件夹路径 | examples\system\gdbstub |
| 核心功能说明 | 演示如何使用ESP32的GDB stub功能,通过GDB(GNU调试器)远程调试ESP32应用程序。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- GDB stub初始化函数 - 调试相关函数 |
| 输入输出参数说明 | 输出: - 调试信息 - 程序执行状态 |
| 适用场景及典型应用案例 | 适用于: - 学习GDB stub调试功能 - 开发需要复杂调试的应用 - 解决难以重现的问题 - 作为调试技术的参考模板 |
17.17 heap_task_tracking 例程
17.17.1 heap_task_tracking/basic 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | heap_task_tracking/basic |
| 所在文件夹路径 | examples\system\heap_task_tracking\basic |
| 核心功能说明 | 演示ESP-IDF的堆任务跟踪功能,用于监控和分析不同任务的堆内存使用情况。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- esp_heap_task_tracking_init():初始化堆任务跟踪- esp_heap_task_tracking_start():开始堆任务跟踪- esp_heap_task_tracking_stop():停止堆任务跟踪 |
| 输入输出参数说明 | 输出: - 任务堆内存使用情况 - 内存分配统计 |
| 适用场景及典型应用案例 | 适用于: - 学习堆任务跟踪功能 - 开发需要内存优化的应用 - 排查内存泄漏问题 - 作为内存管理的参考模板 |
17.18 himem 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | himem |
| 所在文件夹路径 | examples\system\himem |
| 核心功能说明 | 演示ESP32的高内存(HiMem)功能,用于访问超出常规内存范围的外部RAM。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- himem_init():初始化HiMem- himem_alloc():分配HiMem内存- himem_free():释放HiMem内存 |
| 输入输出参数说明 | 输出: - HiMem分配结果 - 内存访问状态 |
| 适用场景及典型应用案例 | 适用于: - 学习HiMem功能 - 开发需要大量内存的应用 - 处理大型数据结构 - 作为内存管理的参考模板 |
17.19 ipc 例程
17.19.1 ipc/ipc_isr 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | ipc/ipc_isr |
| 所在文件夹路径 | examples\system\ipc\ipc_isr |
| 核心功能说明 | 演示ESP32的IPC(进程间通信)功能,用于在不同CPU核心之间传递中断和数据。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- esp_ipc_isr_register():注册IPC中断处理程序- esp_ipc_call():执行IPC调用 |
| 输入输出参数说明 | 输出: - IPC通信结果 - 中断处理状态 |
| 适用场景及典型应用案例 | 适用于: - 学习ESP32 IPC功能 - 开发多核心协作应用 - 实现跨核心中断处理 - 作为IPC应用的参考模板 |
17.20 light_sleep 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | light_sleep |
| 所在文件夹路径 | examples\system\light_sleep |
| 核心功能说明 | 演示ESP32的轻度睡眠模式和各种唤醒源,包括定时器唤醒、GPIO唤醒和UART唤醒。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- esp_light_sleep_start():进入轻度睡眠- esp_sleep_enable_timer_wakeup():使能定时器唤醒- esp_sleep_enable_gpio_wakeup():使能GPIO唤醒- esp_sleep_enable_uart_wakeup():使能UART唤醒 |
| 输入输出参数说明 | 输出: - 唤醒源信息 - 轻度睡眠持续时间 - 系统状态信息 |
| 适用场景及典型应用案例 | 适用于: - 学习ESP32轻度睡眠模式 - 开发低功耗应用 - 电池供电设备的电源管理 - 作为轻度睡眠应用的参考模板 |
17.21 nmi_isr 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | nmi_isr |
| 所在文件夹路径 | examples\system\nmi_isr |
| 核心功能说明 | 演示ESP32的NMI(不可屏蔽中断)功能,用于处理最高优先级的中断。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- NMI中断处理函数 - 汇编函数 - GPIO中断配置函数 |
| 输入输出参数说明 | 输出: - NMI中断触发信息 - 系统状态信息 |
| 适用场景及典型应用案例 | 适用于: - 学习NMI中断功能 - 开发需要最高优先级中断处理的应用 - 实现关键系统事件处理 - 作为中断处理的参考模板 |
17.22 ota/advanced_https_ota 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | ota/advanced_https_ota |
| 所在文件夹路径 | examples\system\ota\advanced_https_ota |
| 核心功能说明 | 演示ESP-IDF的高级OTA功能,包括BLE辅助配网、OTA恢复、部分下载等高级特性。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- advanced_ota_task():高级OTA任务- esp_https_ota():执行HTTPS OTA升级- BLE配网相关函数 |
| 输入输出参数说明 | 输入: - 配置的Wi-Fi SSID和密码(或通过BLE配网) - OTA服务器URL 输出: - OTA升级进度 - 升级结果 - 系统重启信息 |
| 适用场景及典型应用案例 | 适用于: - 学习ESP-IDF高级OTA功能 - 开发复杂的远程升级系统 - 物联网设备的固件管理 - 作为高级OTA应用的参考模板 |
17.23 perfmon 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | perfmon |
| 所在文件夹路径 | examples\system\perfmon |
| 核心功能说明 | 演示ESP32的性能监控(PerfMon)功能,用于测量和分析系统性能。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- perfmon_init():初始化性能监控- perfmon_start():开始性能监控- perfmon_stop():停止性能监控 |
| 输入输出参数说明 | 输出: - 性能监控数据 - 系统运行状态 |
| 适用场景及典型应用案例 | 适用于: - 学习PerfMon功能 - 开发需要性能优化的应用 - 系统性能分析和调试 - 作为性能监控的参考模板 |
17.24 rt_mqueue 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | rt_mqueue |
| 所在文件夹路径 | examples\system\rt_mqueue |
| 核心功能说明 | 演示POSIX实时消息队列(rt_mqueue)的使用,用于进程间通信。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- mq_open():打开消息队列- mq_send():发送消息- mq_receive():接收消息- mq_close():关闭消息队列 |
| 输入输出参数说明 | 输出: - 消息发送和接收结果 - 队列操作状态 |
| 适用场景及典型应用案例 | 适用于: - 学习POSIX消息队列 - 开发进程间通信应用 - 实现消息传递机制 - 作为IPC通信的参考模板 |
17.25 select 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | select |
| 所在文件夹路径 | examples\system\select |
| 核心功能说明 | 演示POSIX select()函数的使用,用于多路I/O复用,同时监控多个文件描述符。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- select():监控文件描述符- 套接字操作函数 - UART操作函数 |
| 输入输出参数说明 | 输出: - I/O事件通知 - 数据接收结果 |
| 适用场景及典型应用案例 | 适用于: - 学习select()函数 - 开发需要多路I/O的应用 - 实现事件驱动编程 - 作为I/O多路复用的参考模板 |
17.26 startup_time 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | startup_time |
| 所在文件夹路径 | examples\system\startup_time |
| 核心功能说明 | 演示如何测量和优化ESP32的启动时间,包括启动过程中的各个阶段。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- 启动时间测量函数 - 系统初始化函数 |
| 输入输出参数说明 | 输出: - 启动时间统计 - 系统初始化状态 |
| 适用场景及典型应用案例 | 适用于: - 学习启动时间优化 - 开发需要快速启动的应用 - 系统性能分析 - 作为启动时间优化的参考模板 |
17.27 sysview_tracing 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | sysview_tracing |
| 所在文件夹路径 | examples\system\sysview_tracing |
| 核心功能说明 | 演示如何使用SystemView进行系统跟踪和分析,包括任务调度、中断和系统调用等。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- SystemView初始化函数 - 系统跟踪函数 |
| 输入输出参数说明 | 输出: - 系统跟踪数据 - 任务执行情况 |
| 适用场景及典型应用案例 | 适用于: - 学习SystemView跟踪功能 - 开发需要系统分析的应用 - 任务调度优化 - 作为系统分析的参考模板 |
17.28 task_watchdog 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | task_watchdog |
| 所在文件夹路径 | examples\system\task_watchdog |
| 核心功能说明 | 演示ESP32的任务看门狗(Task Watchdog Timer, TWD)功能,用于监控任务的执行状态,防止任务卡住。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- esp_task_wdt_init():初始化任务看门狗- esp_task_wdt_add():添加任务到看门狗监控- esp_task_wdt_reset():重置任务看门狗 |
| 输入输出参数说明 | 输出: - 任务看门狗状态 - 系统监控信息 |
| 适用场景及典型应用案例 | 适用于: - 学习任务看门狗功能 - 开发需要高可靠性的应用 - 防止任务死锁 - 作为系统监控的参考模板 |
17.29 ulp 例程
17.29.1 ulp/lp_core/gpio 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | ulp/lp_core/gpio |
| 所在文件夹路径 | examples\system\ulp\lp_core\gpio |
| 核心功能说明 | 演示ESP32低功耗核心(LP Core)的GPIO操作,在主CPU睡眠时执行GPIO相关任务。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- LP Core固件编译和加载 - GPIO操作函数 |
| 输入输出参数说明 | 输出: - LP Core执行结果 - GPIO操作状态 |
| 适用场景及典型应用案例 | 适用于: - 学习LP Core功能 - 开发低功耗应用 - 实现主CPU睡眠时的GPIO控制 - 作为LP Core应用的参考模板 |
17.30 unit_test 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | unit_test |
| 所在文件夹路径 | examples\system\unit_test |
| 核心功能说明 | 演示ESP-IDF的单元测试框架,用于编写和运行单元测试。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- TEST_CASE():定义测试用例- TEST_ASSERT():断言宏- 测试运行函数 |
| 输入输出参数说明 | 输出: - 测试结果 - 测试覆盖率 |
| 适用场景及典型应用案例 | 适用于: - 学习单元测试框架 - 开发需要测试的应用 - 提高代码质量 - 作为单元测试的参考模板 |
17.31 xip_from_psram 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | xip_from_psram |
| 所在文件夹路径 | examples\system\xip_from_psram |
| 核心功能说明 | 演示ESP32的XIP(Execute In Place)从PSRAM执行代码的功能,用于扩展可执行代码空间。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- PSRAM初始化函数 - XIP相关函数 |
| 输入输出参数说明 | 输出: - XIP执行状态 - 内存使用情况 |
| 适用场景及典型应用案例 | 适用于: - 学习XIP功能 - 开发需要大量代码空间的应用 - 扩展程序容量 - 作为XIP应用的参考模板 |
ESP-IDF 例程——system
https://blog.zhaosn.top/ESP32-examples/17.system/