ESP32 双核平衡问题

1、背景

ESP32 是一块拥有双核微控制器,因此如何充分利用这个双核资源值得探讨一下,之前已经对这方面有一定的接触。

参考资料

ESP-IDF FreeRTOS SMP Changes https://docs.espressif.com/projects/esp-idf/zh_CN/latest/api-guides/freertos-smp.html

ESP-IDF源码

双核实时系统的架构方法 https://www.eefocus.com/embedded/340538

对于单核架构的处理器,提高系统系能的方法有:1>提高处理器主频;2>使用抢占式实时操作系统,并引入多线程,改进系统任务调度策略。

2、如何实现双核平衡,充分利用ESP32资源

对于ESP32这样拥有双核的微控制器,如果仅仅使用单核来运行程序,这是对ESP32性能的极大浪费,因此有必要研究以下如何有效利用ESP32的双核资源。ESP32包括Protocol CPU(协议CPU/PRO_CPU/CPU 0) 和 Application CPU(应用CPU/APP_CPU/CPU 1)。

2.0 优化目标

目标:提高对任务实时性要求。

困难:控制过程中常常同时存在多种不同实时性要求的任务,不同任务对处理器时间的占用比例也有较大差异;

 

2.1ESP32 这双核的特点

1、PRO_CPU和APP_CPU实际上是一样的,即同构双核处理器。

2、PEO_CPU和APP_CPU可访问相同的memory,这就允许双核交替运行任务。

3、ESP-IDF的FreeRTOS提供了对称多处理能力。

2.2 关于ESP32的系统初始化启动过程

 

 

你可能感兴趣的:(ESP32开发,freeRTOS)