mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-07 06:34:34 +02:00
usb_host: Pin test task to core 0
When we try to uninstall usb_host library on multi-core SoC (ESP32S3) the USB interrupt can be triggered even after it was disabled on one CPU
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: CC0-1.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "soc/soc_caps.h"
|
#include "soc/soc_caps.h"
|
||||||
@@ -88,7 +88,7 @@ void usb_lib_task(void *arg)
|
|||||||
void test_install_cdc_driver(void)
|
void test_install_cdc_driver(void)
|
||||||
{
|
{
|
||||||
// Create a task that will handle USB library events
|
// Create a task that will handle USB library events
|
||||||
TEST_ASSERT_EQUAL(pdTRUE, xTaskCreate(usb_lib_task, "usb_lib", 4*4096, xTaskGetCurrentTaskHandle(), 10, NULL));
|
TEST_ASSERT_EQUAL(pdTRUE, xTaskCreatePinnedToCore(usb_lib_task, "usb_lib", 4*4096, xTaskGetCurrentTaskHandle(), 10, NULL, 0));
|
||||||
ulTaskNotifyTake(false, 1000);
|
ulTaskNotifyTake(false, 1000);
|
||||||
|
|
||||||
printf("Installing CDC-ACM driver\n");
|
printf("Installing CDC-ACM driver\n");
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: CC0-1.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
@@ -55,7 +55,7 @@ void run_usb_dual_cdc_device(void)
|
|||||||
.usb_dev = TINYUSB_USBDEV_0,
|
.usb_dev = TINYUSB_USBDEV_0,
|
||||||
.cdc_port = TINYUSB_CDC_ACM_0,
|
.cdc_port = TINYUSB_CDC_ACM_0,
|
||||||
.rx_unread_buf_sz = 64,
|
.rx_unread_buf_sz = 64,
|
||||||
.callback_rx = &tinyusb_cdc_rx_callback, // the first way to register a callback
|
.callback_rx = &tinyusb_cdc_rx_callback,
|
||||||
.callback_rx_wanted_char = NULL,
|
.callback_rx_wanted_char = NULL,
|
||||||
.callback_line_state_changed = NULL,
|
.callback_line_state_changed = NULL,
|
||||||
.callback_line_coding_changed = NULL
|
.callback_line_coding_changed = NULL
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: CC0-1.0
|
||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: CC0-1.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
@@ -198,7 +198,7 @@ static void msc_setup(void)
|
|||||||
};
|
};
|
||||||
ESP_OK_ASSERT( usb_host_install(&host_config) );
|
ESP_OK_ASSERT( usb_host_install(&host_config) );
|
||||||
|
|
||||||
task_created = xTaskCreate(handle_usb_events, "usb_events", 2048, NULL, 2, NULL);
|
task_created = xTaskCreatePinnedToCore(handle_usb_events, "usb_events", 2048, NULL, 2, NULL, 0);
|
||||||
TEST_ASSERT(task_created);
|
TEST_ASSERT(task_created);
|
||||||
|
|
||||||
const msc_host_driver_config_t msc_config = {
|
const msc_host_driver_config_t msc_config = {
|
||||||
|
@@ -1,22 +1,16 @@
|
|||||||
|
# Configure TinyUSB, it will be used to mock USB devices
|
||||||
CONFIG_TINYUSB=y
|
CONFIG_TINYUSB=y
|
||||||
CONFIG_TINYUSB_MSC_ENABLED=y
|
CONFIG_TINYUSB_MSC_ENABLED=y
|
||||||
CONFIG_TINYUSB_CDC_ENABLED=y
|
CONFIG_TINYUSB_CDC_ENABLED=y
|
||||||
CONFIG_TINYUSB_CDC_COUNT=2
|
CONFIG_TINYUSB_CDC_COUNT=2
|
||||||
|
|
||||||
|
# Disable watchdogs, they'd get triggered during unity interactive menu
|
||||||
CONFIG_ESP_INT_WDT=n
|
CONFIG_ESP_INT_WDT=n
|
||||||
CONFIG_ESP_TASK_WDT=n
|
CONFIG_ESP_TASK_WDT=n
|
||||||
CONFIG_BOOTLOADER_LOG_LEVEL_WARN=y
|
|
||||||
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
|
# Run-time checks of Heap and Stack
|
||||||
CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=n
|
|
||||||
CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y
|
|
||||||
CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=3
|
|
||||||
CONFIG_FREERTOS_USE_TRACE_FACILITY=y
|
|
||||||
CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=3000
|
|
||||||
CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=7
|
|
||||||
CONFIG_HEAP_POISONING_COMPREHENSIVE=y
|
CONFIG_HEAP_POISONING_COMPREHENSIVE=y
|
||||||
CONFIG_SPI_FLASH_ENABLE_COUNTERS=y
|
|
||||||
CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS=y
|
|
||||||
CONFIG_COMPILER_STACK_CHECK_MODE_STRONG=y
|
CONFIG_COMPILER_STACK_CHECK_MODE_STRONG=y
|
||||||
CONFIG_COMPILER_STACK_CHECK=y
|
CONFIG_COMPILER_STACK_CHECK=y
|
||||||
CONFIG_COMPILER_WARN_WRITE_STRINGS=y
|
|
||||||
CONFIG_ESP_TIMER_PROFILING=y
|
|
||||||
CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL=y
|
CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL=y
|
||||||
|
Reference in New Issue
Block a user