diff options
| author | Alex Lisitsyn <[email protected]> | 2021-03-09 11:29:07 +0100 |
|---|---|---|
| committer | Alex Lisitsyn <[email protected]> | 2021-04-16 13:38:00 +0200 |
| commit | 2f0cb8b5f1a944187635a58a748ed08738d324a5 (patch) | |
| tree | 72948ac73b578aa315d37486f04fc2c3351ab9aa /examples/device | |
| parent | c611199632b9288eff76c1c4bfdce5d8cc024748 (diff) | |
tinyusb: add support of esp32s3 target
add support of new esp32s3 target and the board
update the roles.mk wrapper to allow dfu flashing of espressif chip
update examples to allow compilation for esp32s3_addax_1 board
once the code is tested the PR to original tinyusb repo will be submitted
Diffstat (limited to 'examples/device')
| -rw-r--r-- | examples/device/board_test/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | examples/device/board_test/sdkconfig.defaults | 3 | ||||
| -rw-r--r-- | examples/device/board_test/src/CMakeLists.txt | 12 | ||||
| -rw-r--r-- | examples/device/board_test/src/main.c | 2 | ||||
| -rw-r--r-- | examples/device/cdc_msc/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | examples/device/cdc_msc_freertos/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | examples/device/cdc_msc_freertos/sdkconfig.defaults | 2 | ||||
| -rw-r--r-- | examples/device/cdc_msc_freertos/src/CMakeLists.txt | 15 | ||||
| -rw-r--r-- | examples/device/cdc_msc_freertos/src/main.c | 6 | ||||
| -rw-r--r-- | examples/device/hid_composite_freertos/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | examples/device/hid_composite_freertos/sdkconfig.defaults | 2 | ||||
| -rw-r--r-- | examples/device/hid_composite_freertos/src/CMakeLists.txt | 15 | ||||
| -rw-r--r-- | examples/device/hid_composite_freertos/src/main.c | 6 |
13 files changed, 49 insertions, 24 deletions
diff --git a/examples/device/board_test/CMakeLists.txt b/examples/device/board_test/CMakeLists.txt index 32c0329ea..7658fae49 100644 --- a/examples/device/board_test/CMakeLists.txt +++ b/examples/device/board_test/CMakeLists.txt @@ -7,7 +7,7 @@ set(TOP "../../..") get_filename_component(TOP "${TOP}" REALPATH) # Check for -DFAMILY= -if(FAMILY STREQUAL "esp32s2") +if(FAMILY STREQUAL "esp32sx") cmake_minimum_required(VERSION 3.5) include(${TOP}/hw/bsp/${FAMILY}/family.cmake) diff --git a/examples/device/board_test/sdkconfig.defaults b/examples/device/board_test/sdkconfig.defaults index cede66031..83871619e 100644 --- a/examples/device/board_test/sdkconfig.defaults +++ b/examples/device/board_test/sdkconfig.defaults @@ -1,4 +1,3 @@ CONFIG_IDF_CMAKE=y -CONFIG_IDF_TARGET="esp32s2" -CONFIG_IDF_TARGET_ESP32S2=y +CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y diff --git a/examples/device/board_test/src/CMakeLists.txt b/examples/device/board_test/src/CMakeLists.txt index e59661069..e44863609 100644 --- a/examples/device/board_test/src/CMakeLists.txt +++ b/examples/device/board_test/src/CMakeLists.txt @@ -1,10 +1,18 @@ -# FAMILY = "esp32s2" +# FAMILY = esp32sx idf_component_register(SRCS "main.c" INCLUDE_DIRS "." REQUIRES freertos soc) +string(REGEX MATCH "^(esp32s[2-3])*" chip_target "$ENV{IDF_TARGET}") + +if(NOT chip_target) + message(FATAL_ERROR "Incorrect target: $ENV{IDF_TARGET}" ) +endif() + +string(TOUPPER ${chip_target} upper_case_target) + target_compile_options(${COMPONENT_TARGET} PUBLIC - "-DCFG_TUSB_MCU=OPT_MCU_ESP32S2" + "-DCFG_TUSB_MCU=OPT_MCU_${upper_case_target}" "-DCFG_TUSB_OS=OPT_OS_FREERTOS" ) diff --git a/examples/device/board_test/src/main.c b/examples/device/board_test/src/main.c index d94b24650..c77dd5647 100644 --- a/examples/device/board_test/src/main.c +++ b/examples/device/board_test/src/main.c @@ -70,7 +70,7 @@ int main(void) return 0; } -#if CFG_TUSB_MCU == OPT_MCU_ESP32S2 +#if CFG_TUSB_MCU == OPT_MCU_ESP32S2 || CFG_TUSB_MCU == OPT_MCU_ESP32S3 void app_main(void) { main(); diff --git a/examples/device/cdc_msc/CMakeLists.txt b/examples/device/cdc_msc/CMakeLists.txt index d4ee8c050..5f515c825 100644 --- a/examples/device/cdc_msc/CMakeLists.txt +++ b/examples/device/cdc_msc/CMakeLists.txt @@ -7,7 +7,7 @@ set(TOP "../../..") get_filename_component(TOP "${TOP}" REALPATH) # Check for -DFAMILY= -if(FAMILY STREQUAL "esp32s2") +if(FAMILY STREQUAL "esp32sx") cmake_minimum_required(VERSION 3.5) include(${TOP}/hw/bsp/${FAMILY}/family.cmake) project(${PROJECT}) diff --git a/examples/device/cdc_msc_freertos/CMakeLists.txt b/examples/device/cdc_msc_freertos/CMakeLists.txt index dabb4bc80..643cebebe 100644 --- a/examples/device/cdc_msc_freertos/CMakeLists.txt +++ b/examples/device/cdc_msc_freertos/CMakeLists.txt @@ -9,7 +9,7 @@ set(TOP "../../..") get_filename_component(TOP "${TOP}" REALPATH) # Check for -DFAMILY= -if(FAMILY STREQUAL "esp32s2") +if(FAMILY STREQUAL "esp32sx") include(${TOP}/hw/bsp/${FAMILY}/family.cmake) project(${PROJECT}) diff --git a/examples/device/cdc_msc_freertos/sdkconfig.defaults b/examples/device/cdc_msc_freertos/sdkconfig.defaults index 3253f605c..83871619e 100644 --- a/examples/device/cdc_msc_freertos/sdkconfig.defaults +++ b/examples/device/cdc_msc_freertos/sdkconfig.defaults @@ -1,5 +1,3 @@ CONFIG_IDF_CMAKE=y -CONFIG_IDF_TARGET="esp32s2" -CONFIG_IDF_TARGET_ESP32S2=y CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y diff --git a/examples/device/cdc_msc_freertos/src/CMakeLists.txt b/examples/device/cdc_msc_freertos/src/CMakeLists.txt index a7ece92c9..17bc0b3eb 100644 --- a/examples/device/cdc_msc_freertos/src/CMakeLists.txt +++ b/examples/device/cdc_msc_freertos/src/CMakeLists.txt @@ -2,8 +2,19 @@ idf_component_register(SRCS "main.c" "usb_descriptors.c" "msc_disk.c" INCLUDE_DIRS "." REQUIRES freertos soc) +string(REGEX MATCH "^(esp32s[2-3])*" chip_target "$ENV{IDF_TARGET}") + +if(NOT chip_target) + message(FATAL_ERROR "Incorrect target: $ENV{IDF_TARGET}" ) +else() + set(chip_family "esp32sx") +endif() + +string(TOUPPER ${chip_target} upper_case_target) + target_compile_options(${COMPONENT_TARGET} PUBLIC - "-DCFG_TUSB_MCU=OPT_MCU_ESP32S2" + "-DCFG_TUSB_MCU=OPT_MCU_${upper_case_target}" + "-DCFG_TUSB_OS=OPT_OS_FREERTOS" ) idf_component_get_property( FREERTOS_ORIG_INCLUDE_PATH freertos ORIG_INCLUDE_PATH) @@ -26,5 +37,5 @@ target_sources(${COMPONENT_TARGET} PUBLIC "${TOP}/src/class/net/net_device.c" "${TOP}/src/class/usbtmc/usbtmc_device.c" "${TOP}/src/class/vendor/vendor_device.c" - "${TOP}/src/portable/espressif/esp32s2/dcd_esp32s2.c" + "${TOP}/src/portable/espressif/${chip_family}/dcd_${chip_family}.c" ) diff --git a/examples/device/cdc_msc_freertos/src/main.c b/examples/device/cdc_msc_freertos/src/main.c index ccff2e0fb..c27b7feda 100644 --- a/examples/device/cdc_msc_freertos/src/main.c +++ b/examples/device/cdc_msc_freertos/src/main.c @@ -94,15 +94,15 @@ int main(void) // Create CDC task (void) xTaskCreateStatic( cdc_task, "cdc", CDC_STACK_SZIE, NULL, configMAX_PRIORITIES-2, cdc_stack, &cdc_taskdef); - // skip starting scheduler (and return) for ESP32-S2 -#if CFG_TUSB_MCU != OPT_MCU_ESP32S2 + // skip starting scheduler (and return) for ESP32-S2 or ESP32-S3 +#if CFG_TUSB_MCU != OPT_MCU_ESP32S2 && CFG_TUSB_MCU != OPT_MCU_ESP32S3 vTaskStartScheduler(); #endif return 0; } -#if CFG_TUSB_MCU == OPT_MCU_ESP32S2 +#if CFG_TUSB_MCU == OPT_MCU_ESP32S2 || CFG_TUSB_MCU == OPT_MCU_ESP32S3 void app_main(void) { main(); diff --git a/examples/device/hid_composite_freertos/CMakeLists.txt b/examples/device/hid_composite_freertos/CMakeLists.txt index dabb4bc80..a3c7697aa 100644 --- a/examples/device/hid_composite_freertos/CMakeLists.txt +++ b/examples/device/hid_composite_freertos/CMakeLists.txt @@ -9,10 +9,10 @@ set(TOP "../../..") get_filename_component(TOP "${TOP}" REALPATH) # Check for -DFAMILY= -if(FAMILY STREQUAL "esp32s2") +if(FAMILY STREQUAL "esp32sx") include(${TOP}/hw/bsp/${FAMILY}/family.cmake) project(${PROJECT}) else() - message(FATAL_ERROR "Invalid FAMILY specified") + message(FATAL_ERROR "Invalid FAMILY specified: ${FAMILY}") endif() diff --git a/examples/device/hid_composite_freertos/sdkconfig.defaults b/examples/device/hid_composite_freertos/sdkconfig.defaults index 3253f605c..83871619e 100644 --- a/examples/device/hid_composite_freertos/sdkconfig.defaults +++ b/examples/device/hid_composite_freertos/sdkconfig.defaults @@ -1,5 +1,3 @@ CONFIG_IDF_CMAKE=y -CONFIG_IDF_TARGET="esp32s2" -CONFIG_IDF_TARGET_ESP32S2=y CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y diff --git a/examples/device/hid_composite_freertos/src/CMakeLists.txt b/examples/device/hid_composite_freertos/src/CMakeLists.txt index f79e8f845..ae213a3c8 100644 --- a/examples/device/hid_composite_freertos/src/CMakeLists.txt +++ b/examples/device/hid_composite_freertos/src/CMakeLists.txt @@ -2,8 +2,19 @@ idf_component_register(SRCS "main.c" "usb_descriptors.c" INCLUDE_DIRS "." REQUIRES freertos soc) +string(REGEX MATCH "^(esp32s[2-3])*" chip_target "$ENV{IDF_TARGET}") + +if(NOT chip_target) + message(FATAL_ERROR "Incorrect target: $ENV{IDF_TARGET}" ) +else() + set(chip_family "esp32sx") +endif() + +string(TOUPPER ${chip_target} upper_case_target) + target_compile_options(${COMPONENT_TARGET} PUBLIC - "-DCFG_TUSB_MCU=OPT_MCU_ESP32S2" + "-DCFG_TUSB_MCU=OPT_MCU_${upper_case_target}" + "-DCFG_TUSB_OS=OPT_OS_FREERTOS" ) idf_component_get_property( FREERTOS_ORIG_INCLUDE_PATH freertos ORIG_INCLUDE_PATH) @@ -26,5 +37,5 @@ target_sources(${COMPONENT_TARGET} PUBLIC "${TOP}/src/class/net/net_device.c" "${TOP}/src/class/usbtmc/usbtmc_device.c" "${TOP}/src/class/vendor/vendor_device.c" - "${TOP}/src/portable/espressif/esp32s2/dcd_esp32s2.c" + "${TOP}/src/portable/espressif/${chip_family}/dcd_${chip_family}.c" ) diff --git a/examples/device/hid_composite_freertos/src/main.c b/examples/device/hid_composite_freertos/src/main.c index 37b4a0cf7..47f976427 100644 --- a/examples/device/hid_composite_freertos/src/main.c +++ b/examples/device/hid_composite_freertos/src/main.c @@ -95,15 +95,15 @@ int main(void) // Create HID task (void) xTaskCreateStatic( hid_task, "hid", HID_STACK_SZIE, NULL, configMAX_PRIORITIES-2, hid_stack, &hid_taskdef); - // skip starting scheduler (and return) for ESP32-S2 -#if CFG_TUSB_MCU != OPT_MCU_ESP32S2 + // skip starting scheduler (and return) for ESP32-S2 or ESP32-S3 +#if CFG_TUSB_MCU != OPT_MCU_ESP32S2 && CFG_TUSB_MCU != OPT_MCU_ESP32S3 vTaskStartScheduler(); #endif return 0; } -#if CFG_TUSB_MCU == OPT_MCU_ESP32S2 +#if CFG_TUSB_MCU == OPT_MCU_ESP32S2 || CFG_TUSB_MCU == OPT_MCU_ESP32S3 void app_main(void) { main(); |
