整理任务使用的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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user