整理任务使用的cpu

新增配置:

  CONFIG_TQ_NETWORK_TASK_CORE=0
  CONFIG_TQ_LOCAL_TASK_CORE=1

  网络类任务默认固定到 Core 0:

  cp_ws_wait
  cp_wifi_state
  cp_fortune
  mm_autostart
  mm_watchdog
  mm_ws_ordered
  mm_ws_stop
  lan_http

  本地类任务默认固定到 Core 1:

  cp_model_cmd
  cp_direction
  cp_lcd_render
  cp_task_monitor
  cp_system_event
  cp_key_input
  factory_cli
  mm_local_evt

  已有音频任务保持现有配置:

  CONFIG_MULTIMODAL_AUDIO_TASK_CORE=1
This commit is contained in:
CSBOOK\44744
2026-06-25 13:54:54 +08:00
parent ec2ad4dfc9
commit 56ac1cd5d6
12 changed files with 185 additions and 60 deletions
@@ -47,6 +47,16 @@
#define CONTROL_PLANE_IDLE_TRANSPORT_SHUTDOWN_MS 30000
#define CONTROL_PLANE_WATCHDOG_TASK_STACK_SIZE 6144
#ifndef CONFIG_TQ_NETWORK_TASK_CORE
#define CONFIG_TQ_NETWORK_TASK_CORE 0
#endif
#if CONFIG_TQ_NETWORK_TASK_CORE < 0
#define CONTROL_PLANE_MULTIMODAL_NETWORK_TASK_CORE tskNO_AFFINITY
#else
#define CONTROL_PLANE_MULTIMODAL_NETWORK_TASK_CORE ((BaseType_t)CONFIG_TQ_NETWORK_TASK_CORE)
#endif
static const char *TAG = "control_plane_mm_rt";
static TaskHandle_t s_multimodal_watchdog_task;
static TaskHandle_t s_multimodal_autostart_task;
@@ -434,12 +444,13 @@ static void schedule_autostart_if_enabled(void)
}
set_multimodal_stop_flag(&s_multimodal_autostart_stop_requested, false);
if (xTaskCreate(multimodal_autostart_task,
"mm_autostart",
6144,
NULL,
4,
&s_multimodal_autostart_task) != pdPASS) {
if (xTaskCreatePinnedToCore(multimodal_autostart_task,
"mm_autostart",
6144,
NULL,
4,
&s_multimodal_autostart_task,
CONTROL_PLANE_MULTIMODAL_NETWORK_TASK_CORE) != pdPASS) {
set_multimodal_task_handle(&s_multimodal_autostart_task, NULL);
set_multimodal_start_flag(&s_multimodal_autostart_task_starting, false);
ESP_LOGW(TAG, "Auto Start task create failed");
@@ -646,12 +657,13 @@ esp_err_t control_plane_start_multimodal_client(void)
try_begin_multimodal_task_start(&s_multimodal_watchdog_task,
&s_multimodal_watchdog_task_starting)) {
set_multimodal_stop_flag(&s_multimodal_watchdog_stop_requested, false);
if (xTaskCreate(multimodal_watchdog_task,
"mm_watchdog",
CONTROL_PLANE_WATCHDOG_TASK_STACK_SIZE,
NULL,
4,
&s_multimodal_watchdog_task) != pdPASS) {
if (xTaskCreatePinnedToCore(multimodal_watchdog_task,
"mm_watchdog",
CONTROL_PLANE_WATCHDOG_TASK_STACK_SIZE,
NULL,
4,
&s_multimodal_watchdog_task,
CONTROL_PLANE_MULTIMODAL_NETWORK_TASK_CORE) != pdPASS) {
ESP_LOGE(TAG, "Watchdog task create failed");
set_multimodal_task_handle(&s_multimodal_watchdog_task, NULL);
set_multimodal_start_flag(&s_multimodal_watchdog_task_starting, false);