diff --git a/components/espcoredump/test/esp32/expected_output b/components/espcoredump/test/esp32/expected_output index ff8de49c2d..ddf23c6462 100644 --- a/components/espcoredump/test/esp32/expected_output +++ b/components/espcoredump/test/esp32/expected_output @@ -66,13 +66,13 @@ a15 0x0 0 ======================== THREADS INFO ========================= Id Target Id Frame * 1 process 1073451064 0x400d4c01 in recur_func () at ../main/test_core_dump.c:70 - 2 process 1073443948 0x400e7b66 in esp_pm_impl_waiti () at ../../../hal/esp32/include/hal/cpu_ll.h:183 - 3 process 1073445836 0x400e7b66 in esp_pm_impl_waiti () at ../../../hal/esp32/include/hal/cpu_ll.h:183 - 4 process 1073453464 0x4008429c in esp_crosscore_int_send_yield (core_id=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144 - 5 process 1073448664 0x4008429c in esp_crosscore_int_send_yield (core_id=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144 - 6 process 1073413412 0x4008429c in esp_crosscore_int_send_yield (core_id=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144 + 2 process 1073443948 0x400e7b66 in esp_pm_impl_waiti () at /builds/espressif/esp-idf/components/esp_pm/pm_impl.c:840 + 3 process 1073445836 0x400e7b66 in esp_pm_impl_waiti () at /builds/espressif/esp-idf/components/esp_pm/pm_impl.c:840 + 4 process 1073453464 0x4008429c in esp_crosscore_int_send_yield (core_id=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:145 + 5 process 1073448664 0x4008429c in esp_crosscore_int_send_yield (core_id=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:145 + 6 process 1073413412 0x4008429c in esp_crosscore_int_send_yield (core_id=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:145 7 process 1073437612 0x4000bff0 in ?? () - 8 process 1073433164 0x4008429c in esp_crosscore_int_send_yield (core_id=1) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144 + 8 process 1073433164 0x4008429c in esp_crosscore_int_send_yield (core_id=1) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:145 ==================== THREAD 1 (TCB: 0x3ffb9038, name: 'unaligned_ptr_t') ===================== #0 0x400d4c01 in recur_func () at ../main/test_core_dump.c:70 @@ -82,31 +82,31 @@ a15 0x0 0 #4 0x40087cfc in vPortTaskWrapper (pxCode=0x400d4c0c , pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:159 ==================== THREAD 2 (TCB: 0x3ffb746c, name: 'IDLE') ===================== -#0 0x400e7b66 in esp_pm_impl_waiti () at ../../../hal/esp32/include/hal/cpu_ll.h:183 +#0 0x400e7b66 in esp_pm_impl_waiti () at /builds/espressif/esp-idf/components/esp_pm/pm_impl.c:840 #1 0x400d1a42 in esp_vApplicationIdleHook () at /builds/espressif/esp-idf/components/esp_system/freertos_hooks.c:63 #2 0x40086351 in prvIdleTask (pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/tasks.c:3959 #3 0x40087cfc in vPortTaskWrapper (pxCode=0x40086348 , pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:159 ==================== THREAD 3 (TCB: 0x3ffb7bcc, name: 'IDLE') ===================== -#0 0x400e7b66 in esp_pm_impl_waiti () at ../../../hal/esp32/include/hal/cpu_ll.h:183 +#0 0x400e7b66 in esp_pm_impl_waiti () at /builds/espressif/esp-idf/components/esp_pm/pm_impl.c:840 #1 0x400d1a42 in esp_vApplicationIdleHook () at /builds/espressif/esp-idf/components/esp_system/freertos_hooks.c:63 #2 0x40086351 in prvIdleTask (pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/tasks.c:3959 #3 0x40087cfc in vPortTaskWrapper (pxCode=0x40086348 , pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:159 ==================== THREAD 4 (TCB: 0x3ffb9998, name: 'failed_assert_t') ===================== -#0 0x4008429c in esp_crosscore_int_send_yield (core_id=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144 +#0 0x4008429c in esp_crosscore_int_send_yield (core_id=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:145 #1 0x400865aa in vTaskDelay (xTicksToDelay=100) at ../../../hal/esp32/include/hal/cpu_ll.h:39 #2 0x400d4adf in failed_assert_task (pvParameter=0x0) at ../main/test_core_dump.c:89 #3 0x40087cfc in vPortTaskWrapper (pxCode=0x400d4ad0 , pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:159 ==================== THREAD 5 (TCB: 0x3ffb86d8, name: 'bad_ptr_task') ===================== -#0 0x4008429c in esp_crosscore_int_send_yield (core_id=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144 +#0 0x4008429c in esp_crosscore_int_send_yield (core_id=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:145 #1 0x400865aa in vTaskDelay (xTicksToDelay=100) at ../../../hal/esp32/include/hal/cpu_ll.h:39 #2 0x400d4b9f in bad_ptr_task (pvParameter=0x0) at ../main/test_core_dump.c:43 #3 0x40087cfc in vPortTaskWrapper (pxCode=0x400d4b90 , pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:159 ==================== THREAD 6 (TCB: 0x3ffafd24, name: 'ipc0') ===================== -#0 0x4008429c in esp_crosscore_int_send_yield (core_id=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144 +#0 0x4008429c in esp_crosscore_int_send_yield (core_id=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:145 #1 0x40085e55 in xQueueSemaphoreTake (xQueue=0x3ffafccc, xTicksToWait=) at ../../../hal/esp32/include/hal/cpu_ll.h:39 #2 0x400826f3 in ipc_task (arg=0x0) at /builds/espressif/esp-idf/components/esp_ipc/src/esp_ipc.c:59 #3 0x40087cfc in vPortTaskWrapper (pxCode=0x400826c8 , pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:159 @@ -119,7 +119,7 @@ a15 0x0 0 #4 0x40087cfc in vPortTaskWrapper (pxCode=0x400d4570 , pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:159 ==================== THREAD 8 (TCB: 0x3ffb4a4c, name: 'ipc1') ===================== -#0 0x4008429c in esp_crosscore_int_send_yield (core_id=1) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144 +#0 0x4008429c in esp_crosscore_int_send_yield (core_id=1) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:145 #1 0x40085e55 in xQueueSemaphoreTake (xQueue=0x3ffaff30, xTicksToWait=) at ../../../hal/esp32/include/hal/cpu_ll.h:39 #2 0x400826f3 in ipc_task (arg=0x1) at /builds/espressif/esp-idf/components/esp_ipc/src/esp_ipc.c:59 #3 0x40087cfc in vPortTaskWrapper (pxCode=0x400826c8 , pvParameters=0x1) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:159 diff --git a/components/espcoredump/test/esp32c3/expected_output b/components/espcoredump/test/esp32c3/expected_output index c66fcd1e4c..8661a341aa 100644 --- a/components/espcoredump/test/esp32c3/expected_output +++ b/components/espcoredump/test/esp32c3/expected_output @@ -43,46 +43,46 @@ pc 0x4200583c 0x4200583c #1 0x4200581a in recur_func () at ../main/test_core_dump.c:63 #2 0x4200581a in recur_func () at ../main/test_core_dump.c:63 #3 0x42005874 in unaligned_ptr_task (pvParameter=) at ../main/test_core_dump.c:80 -#4 0x40385f2a in vPortEnterCritical () at /builds/espressif/esp-idf/components/freertos/port/riscv/port.c:129 +#4 0x40385f2a in vPortEnterCritical () at /builds/espressif/esp-idf/components/freertos/port/riscv/port.c:131 #5 0x00000000 in ?? () Backtrace stopped: frame did not save the PC ======================== THREADS INFO ========================= Id Target Id Frame * 1 process 1070144160 0x4200583c in recur_func () at ../main/test_core_dump.c:70 - 2 process 1070141676 0x40382dba in esp_crosscore_int_send_yield (core_id=core_id@entry=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144 - 3 process 1070138176 0x4200c022 in esp_pm_impl_waiti () at ../../../hal/esp32c3/include/hal/cpu_ll.h:168 - 4 process 1070146556 0x40382dba in esp_crosscore_int_send_yield (core_id=core_id@entry=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144 - 5 process 1070131784 0x40385eb4 in vPortClearInterruptMask (mask=1) at /builds/espressif/esp-idf/components/freertos/port/riscv/port.c:177 + 2 process 1070141676 0x40382dba in esp_crosscore_int_send_yield (core_id=core_id@entry=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:145 + 3 process 1070138176 0x4200c022 in esp_pm_impl_waiti () at /builds/espressif/esp-idf/components/esp_pm/pm_impl.c:840 + 4 process 1070146556 0x40382dba in esp_crosscore_int_send_yield (core_id=core_id@entry=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:145 + 5 process 1070131784 0x40385eb4 in vPortClearInterruptMask (mask=1) at /builds/espressif/esp-idf/components/freertos/port/riscv/port.c:178 ==================== THREAD 1 (TCB: 0x3fc91aa0, name: 'unaligned_ptr_t') ===================== #0 0x4200583c in recur_func () at ../main/test_core_dump.c:70 #1 0x4200581a in recur_func () at ../main/test_core_dump.c:63 #2 0x4200581a in recur_func () at ../main/test_core_dump.c:63 #3 0x42005874 in unaligned_ptr_task (pvParameter=) at ../main/test_core_dump.c:80 -#4 0x40385f2a in vPortEnterCritical () at /builds/espressif/esp-idf/components/freertos/port/riscv/port.c:129 +#4 0x40385f2a in vPortEnterCritical () at /builds/espressif/esp-idf/components/freertos/port/riscv/port.c:131 #5 0x00000000 in ?? () Backtrace stopped: frame did not save the PC ==================== THREAD 2 (TCB: 0x3fc910ec, name: 'bad_ptr_task') ===================== -#0 0x40382dba in esp_crosscore_int_send_yield (core_id=core_id@entry=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144 +#0 0x40382dba in esp_crosscore_int_send_yield (core_id=core_id@entry=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:145 #1 0x4038601e in vPortYield () at /builds/espressif/esp-idf/components/freertos/port/riscv/port.c:316 #2 0x00000000 in ?? () Backtrace stopped: frame did not save the PC ==================== THREAD 3 (TCB: 0x3fc90340, name: 'IDLE') ===================== -#0 0x4200c022 in esp_pm_impl_waiti () at ../../../hal/esp32c3/include/hal/cpu_ll.h:168 +#0 0x4200c022 in esp_pm_impl_waiti () at /builds/espressif/esp-idf/components/esp_pm/pm_impl.c:840 #1 0x4200b476 in esp_vApplicationIdleHook () at /builds/espressif/esp-idf/components/esp_system/freertos_hooks.c:63 Backtrace stopped: Cannot access memory at address 0xa5a5a5b1 ==================== THREAD 4 (TCB: 0x3fc923fc, name: 'failed_assert_t') ===================== -#0 0x40382dba in esp_crosscore_int_send_yield (core_id=core_id@entry=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144 +#0 0x40382dba in esp_crosscore_int_send_yield (core_id=core_id@entry=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:145 #1 0x4038601e in vPortYield () at /builds/espressif/esp-idf/components/freertos/port/riscv/port.c:316 #2 0x00000000 in ?? () Backtrace stopped: frame did not save the PC ==================== THREAD 5 (TCB: 0x3fc8ea48, name: 'esp_timer') ===================== -#0 0x40385eb4 in vPortClearInterruptMask (mask=1) at /builds/espressif/esp-idf/components/freertos/port/riscv/port.c:177 +#0 0x40385eb4 in vPortClearInterruptMask (mask=1) at /builds/espressif/esp-idf/components/freertos/port/riscv/port.c:178 #1 0x40385ede in vPortExitCritical () at /builds/espressif/esp-idf/components/freertos/port/riscv/port.c:138 Backtrace stopped: Cannot access memory at address 0xa5a5a5b1 diff --git a/components/espcoredump/test/esp32s2/expected_output b/components/espcoredump/test/esp32s2/expected_output index bded193057..6f2edeaa31 100644 --- a/components/espcoredump/test/esp32s2/expected_output +++ b/components/espcoredump/test/esp32s2/expected_output @@ -66,9 +66,9 @@ a15 0x0 0 ======================== THREADS INFO ========================= Id Target Id Frame * 1 process 1073493400 0x40085825 in recur_func () at ../main/test_core_dump.c:70 - 2 process 1073490916 0x40027c8f in vTaskDelay (xTicksToDelay=100) at ../../../hal/esp32s2/include/hal/cpu_ll.h:33 - 3 process 1073487360 0x400958be in esp_pm_impl_waiti () at ../../../hal/esp32s2/include/hal/cpu_ll.h:202 - 4 process 1073495796 0x40027c8f in vTaskDelay (xTicksToDelay=100) at ../../../hal/esp32s2/include/hal/cpu_ll.h:33 + 2 process 1073490916 0x40027c8f in vTaskDelay (xTicksToDelay=100) at /builds/espressif/esp-idf/components/freertos/tasks.c:1593 + 3 process 1073487360 0x400958be in esp_pm_impl_waiti () at /builds/espressif/esp-idf/components/esp_pm/pm_impl.c:840 + 4 process 1073495796 0x40027c8f in vTaskDelay (xTicksToDelay=100) at /builds/espressif/esp-idf/components/freertos/tasks.c:1593 5 process 1073347944 0x4001a8d4 in ?? () ==================== THREAD 1 (TCB: 0x3ffc3598, name: 'unaligned_ptr_t') ===================== @@ -79,18 +79,18 @@ a15 0x0 0 #4 0x40028ea8 in vPortTaskWrapper (pxCode=0x40085830 , pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:159 ==================== THREAD 2 (TCB: 0x3ffc2be4, name: 'bad_ptr_task') ===================== -#0 0x40027c8f in vTaskDelay (xTicksToDelay=100) at ../../../hal/esp32s2/include/hal/cpu_ll.h:33 +#0 0x40027c8f in vTaskDelay (xTicksToDelay=100) at /builds/espressif/esp-idf/components/freertos/tasks.c:1593 #1 0x400857c3 in bad_ptr_task (pvParameter=0x0) at ../main/test_core_dump.c:43 #2 0x40028ea8 in vPortTaskWrapper (pxCode=0x400857b4 , pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:159 ==================== THREAD 3 (TCB: 0x3ffc1e00, name: 'IDLE') ===================== -#0 0x400958be in esp_pm_impl_waiti () at ../../../hal/esp32s2/include/hal/cpu_ll.h:202 +#0 0x400958be in esp_pm_impl_waiti () at /builds/espressif/esp-idf/components/esp_pm/pm_impl.c:840 #1 0x4008a0fa in esp_vApplicationIdleHook () at /builds/espressif/esp-idf/components/esp_system/freertos_hooks.c:63 #2 0x40027b99 in prvIdleTask (pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/tasks.c:3959 #3 0x40028ea8 in vPortTaskWrapper (pxCode=0x40027b90 , pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:159 ==================== THREAD 4 (TCB: 0x3ffc3ef4, name: 'failed_assert_t') ===================== -#0 0x40027c8f in vTaskDelay (xTicksToDelay=100) at ../../../hal/esp32s2/include/hal/cpu_ll.h:33 +#0 0x40027c8f in vTaskDelay (xTicksToDelay=100) at /builds/espressif/esp-idf/components/freertos/tasks.c:1593 #1 0x40085703 in failed_assert_task (pvParameter=0x0) at ../main/test_core_dump.c:89 #2 0x40028ea8 in vPortTaskWrapper (pxCode=0x400856f4 , pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:159 diff --git a/components/espcoredump/test/esp32s3/expected_output b/components/espcoredump/test/esp32s3/expected_output index 3d596ec096..373ef184a6 100644 --- a/components/espcoredump/test/esp32s3/expected_output +++ b/components/espcoredump/test/esp32s3/expected_output @@ -66,10 +66,10 @@ a15 0x1 1 ======================== THREADS INFO ========================= Id Target Id Frame * 1 process 1070472340 0x42004ecd in recur_func () at ../main/test_core_dump.c:70 - 2 process 1070549672 0x42018d5a in esp_pm_impl_waiti () at ../../../hal/esp32s3/include/hal/cpu_ll.h:182 - 3 process 1070551560 0x42018d5a in esp_pm_impl_waiti () at ../../../hal/esp32s3/include/hal/cpu_ll.h:182 - 4 process 1070474740 0x4037a26a in vTaskDelay (xTicksToDelay=100) at ../../../hal/esp32s3/include/hal/cpu_ll.h:38 - 5 process 1070469940 0x4037a26a in vTaskDelay (xTicksToDelay=100) at ../../../hal/esp32s3/include/hal/cpu_ll.h:38 + 2 process 1070549672 0x42018d5a in esp_pm_impl_waiti () at /builds/espressif/esp-idf/components/esp_pm/pm_impl.c:840 + 3 process 1070551560 0x42018d5a in esp_pm_impl_waiti () at /builds/espressif/esp-idf/components/esp_pm/pm_impl.c:840 + 4 process 1070474740 0x4037a26a in vTaskDelay (xTicksToDelay=100) at /builds/espressif/esp-idf/components/freertos/tasks.c:1593 + 5 process 1070469940 0x4037a26a in vTaskDelay (xTicksToDelay=100) at /builds/espressif/esp-idf/components/freertos/tasks.c:1593 6 process 1070537184 0x40379b0d in xQueueSemaphoreTake (xQueue=0x3fcf1584, xTicksToWait=) at ../../../hal/esp32s3/include/hal/cpu_ll.h:38 7 process 1070543272 0x400559e0 in ?? () 8 process 1070538824 xQueueSemaphoreTake (xQueue=0x3fcf1bec, xTicksToWait=) at /builds/espressif/esp-idf/components/freertos/queue.c:1563 @@ -82,24 +82,24 @@ a15 0x1 1 #4 0x4037b9bc in vPortTaskWrapper (pxCode=0x42004ed8 , pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:159 ==================== THREAD 2 (TCB: 0x3fcf4aa8, name: 'IDLE') ===================== -#0 0x42018d5a in esp_pm_impl_waiti () at ../../../hal/esp32s3/include/hal/cpu_ll.h:182 +#0 0x42018d5a in esp_pm_impl_waiti () at /builds/espressif/esp-idf/components/esp_pm/pm_impl.c:840 #1 0x42001cfe in esp_vApplicationIdleHook () at /builds/espressif/esp-idf/components/esp_system/freertos_hooks.c:63 #2 0x4037a010 in prvIdleTask (pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/tasks.c:3959 #3 0x4037b9bc in vPortTaskWrapper (pxCode=0x4037a004 , pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:159 ==================== THREAD 3 (TCB: 0x3fcf5208, name: 'IDLE') ===================== -#0 0x42018d5a in esp_pm_impl_waiti () at ../../../hal/esp32s3/include/hal/cpu_ll.h:182 +#0 0x42018d5a in esp_pm_impl_waiti () at /builds/espressif/esp-idf/components/esp_pm/pm_impl.c:840 #1 0x42001cfe in esp_vApplicationIdleHook () at /builds/espressif/esp-idf/components/esp_system/freertos_hooks.c:63 #2 0x4037a010 in prvIdleTask (pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/tasks.c:3959 #3 0x4037b9bc in vPortTaskWrapper (pxCode=0x4037a004 , pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:159 ==================== THREAD 4 (TCB: 0x3fce25f4, name: 'failed_assert_t') ===================== -#0 0x4037a26a in vTaskDelay (xTicksToDelay=100) at ../../../hal/esp32s3/include/hal/cpu_ll.h:38 +#0 0x4037a26a in vTaskDelay (xTicksToDelay=100) at /builds/espressif/esp-idf/components/freertos/tasks.c:1593 #1 0x42004d9e in failed_assert_task (pvParameter=0x0) at ../main/test_core_dump.c:89 #2 0x4037b9bc in vPortTaskWrapper (pxCode=0x42004d8c , pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:159 ==================== THREAD 5 (TCB: 0x3fce1334, name: 'bad_ptr_task') ===================== -#0 0x4037a26a in vTaskDelay (xTicksToDelay=100) at ../../../hal/esp32s3/include/hal/cpu_ll.h:38 +#0 0x4037a26a in vTaskDelay (xTicksToDelay=100) at /builds/espressif/esp-idf/components/freertos/tasks.c:1593 #1 0x42004e6a in bad_ptr_task (pvParameter=0x0) at ../main/test_core_dump.c:43 #2 0x4037b9bc in vPortTaskWrapper (pxCode=0x42004e58 , pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:159 diff --git a/docs/en/api-guides/tools/idf-tools-notes.inc b/docs/en/api-guides/tools/idf-tools-notes.inc index 773465f0d5..a65217aab7 100644 --- a/docs/en/api-guides/tools/idf-tools-notes.inc +++ b/docs/en/api-guides/tools/idf-tools-notes.inc @@ -2,6 +2,17 @@ .. Comments "tool-NAME-notes" act as delimiters. +.. tool-xtensa-esp-elf-gdb-notes + + +--- + +.. tool-riscv32-esp-elf-gdb-notes + + +--- + + .. tool-xtensa-esp32-elf-notes diff --git a/docs/zh_CN/api-guides/tools/idf-tools-notes.inc b/docs/zh_CN/api-guides/tools/idf-tools-notes.inc index 4adbf6feea..6c776e55df 100644 --- a/docs/zh_CN/api-guides/tools/idf-tools-notes.inc +++ b/docs/zh_CN/api-guides/tools/idf-tools-notes.inc @@ -4,6 +4,17 @@ .. before processing :start-after: and :end-before: options. +.. tool-xtensa-esp-elf-gdb-notes + + +--- + +.. tool-riscv32-esp-elf-gdb-notes + + +--- + + .. tool-xtensa-esp32-elf-notes diff --git a/tools/test_idf_tools/test_idf_tools.py b/tools/test_idf_tools/test_idf_tools.py index d3f4c4b0a4..107e10bae4 100755 --- a/tools/test_idf_tools/test_idf_tools.py +++ b/tools/test_idf_tools/test_idf_tools.py @@ -43,6 +43,8 @@ RISCV_ELF = 'riscv32-esp-elf' XTENSA_ESP32_ELF = 'xtensa-esp32-elf' XTENSA_ESP32S2_ELF = 'xtensa-esp32s2-elf' XTENSA_ESP32S3_ELF = 'xtensa-esp32s3-elf' +XTENSA_ESP_GDB = 'xtensa-esp-elf-gdb' +RISCV_ESP_GDB = 'riscv32-esp-elf-gdb' def get_version_dict(): @@ -66,6 +68,8 @@ RISCV_ELF_VERSION = version_dict[RISCV_ELF] XTENSA_ESP32_ELF_VERSION = version_dict[XTENSA_ESP32_ELF] XTENSA_ESP32S2_ELF_VERSION = version_dict[XTENSA_ESP32S2_ELF] XTENSA_ESP32S3_ELF_VERSION = version_dict[XTENSA_ESP32S3_ELF] +XTENSA_ESP_GDB_VERSION = version_dict[XTENSA_ESP_GDB] +RISCV_ESP_GDB_VERSION = version_dict[RISCV_ESP_GDB] class TestUsage(unittest.TestCase): @@ -138,13 +142,15 @@ class TestUsage(unittest.TestCase): self.assertIn('* %s:' % XTENSA_ESP32S3_ELF, output) self.assertIn('- %s (recommended)' % XTENSA_ESP32S3_ELF_VERSION, output) - required_tools_installed = 6 + required_tools_installed = 8 output = self.run_idf_tools_with_action(['install']) self.assert_tool_installed(output, OPENOCD, OPENOCD_VERSION) self.assert_tool_installed(output, RISCV_ELF, RISCV_ELF_VERSION) self.assert_tool_installed(output, XTENSA_ESP32_ELF, XTENSA_ESP32_ELF_VERSION) self.assert_tool_installed(output, XTENSA_ESP32S2_ELF, XTENSA_ESP32S2_ELF_VERSION) self.assert_tool_installed(output, XTENSA_ESP32S3_ELF, XTENSA_ESP32S3_ELF_VERSION) + self.assert_tool_installed(output, XTENSA_ESP_GDB, XTENSA_ESP_GDB_VERSION) + self.assert_tool_installed(output, RISCV_ESP_GDB, RISCV_ESP_GDB_VERSION) self.assert_tool_installed(output, ESP32ULP, ESP32ULP_VERSION) self.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output) self.assertEqual(required_tools_installed, output.count('Done')) @@ -156,6 +162,8 @@ class TestUsage(unittest.TestCase): self.assertIn('version installed in tools directory: ' + XTENSA_ESP32_ELF_VERSION, output) self.assertIn('version installed in tools directory: ' + XTENSA_ESP32S2_ELF_VERSION, output) self.assertIn('version installed in tools directory: ' + XTENSA_ESP32S3_ELF_VERSION, output) + self.assertIn('version installed in tools directory: ' + XTENSA_ESP_GDB_VERSION, output) + self.assertIn('version installed in tools directory: ' + RISCV_ESP_GDB_VERSION, output) output = self.run_idf_tools_with_action(['export']) self.assertIn('%s/tools/esp32ulp-elf/%s/esp32ulp-elf/bin' % @@ -170,16 +178,22 @@ class TestUsage(unittest.TestCase): (self.temp_tools_dir, XTENSA_ESP32S2_ELF_VERSION), output) self.assertIn('%s/tools/xtensa-esp32s3-elf/%s/xtensa-esp32s3-elf/bin' % (self.temp_tools_dir, XTENSA_ESP32S3_ELF_VERSION), output) + self.assertIn('%s/tools/xtensa-esp-elf-gdb/%s/xtensa-esp-elf-gdb/bin' % + (self.temp_tools_dir, XTENSA_ESP_GDB_VERSION), output) + self.assertIn('%s/tools/riscv32-esp-elf-gdb/%s/riscv32-esp-elf-gdb/bin' % + (self.temp_tools_dir, RISCV_ESP_GDB_VERSION), output) def test_tools_for_esp32(self): - required_tools_installed = 3 + required_tools_installed = 4 output = self.run_idf_tools_with_action(['install', '--targets=esp32']) self.assert_tool_installed(output, XTENSA_ESP32_ELF, XTENSA_ESP32_ELF_VERSION) self.assert_tool_installed(output, OPENOCD, OPENOCD_VERSION) + self.assert_tool_installed(output, XTENSA_ESP_GDB, XTENSA_ESP_GDB_VERSION) self.assert_tool_installed(output, ESP32ULP, ESP32ULP_VERSION) self.assert_tool_not_installed(output, RISCV_ELF, RISCV_ELF_VERSION) self.assert_tool_not_installed(output, XTENSA_ESP32S2_ELF, XTENSA_ESP32S2_ELF_VERSION) self.assert_tool_not_installed(output, XTENSA_ESP32S3_ELF, XTENSA_ESP32S3_ELF_VERSION) + self.assert_tool_not_installed(output, RISCV_ESP_GDB, RISCV_ESP_GDB_VERSION) self.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output) self.assertEqual(required_tools_installed, output.count('Done')) @@ -187,6 +201,7 @@ class TestUsage(unittest.TestCase): self.assertIn('version installed in tools directory: ' + ESP32ULP_VERSION, output) self.assertIn('version installed in tools directory: ' + XTENSA_ESP32_ELF_VERSION, output) self.assertIn('version installed in tools directory: ' + OPENOCD_VERSION, output) + self.assertIn('version installed in tools directory: ' + XTENSA_ESP_GDB_VERSION, output) output = self.run_idf_tools_with_action(['export']) self.assertIn('%s/tools/esp32ulp-elf/%s/esp32ulp-elf/bin' % @@ -201,15 +216,21 @@ class TestUsage(unittest.TestCase): (self.temp_tools_dir, XTENSA_ESP32S2_ELF_VERSION), output) self.assertNotIn('%s/tools/xtensa-esp32s3-elf/%s/xtensa-esp32s3-elf/bin' % (self.temp_tools_dir, XTENSA_ESP32S3_ELF_VERSION), output) + self.assertIn('%s/tools/xtensa-esp-elf-gdb/%s/xtensa-esp-elf-gdb/bin' % + (self.temp_tools_dir, XTENSA_ESP_GDB_VERSION), output) + self.assertNotIn('%s/tools/riscv32-esp-elf-gdb/%s/riscv32-esp-elf-gdb/bin' % + (self.temp_tools_dir, RISCV_ESP_GDB_VERSION), output) def test_tools_for_esp32c3(self): - required_tools_installed = 2 + required_tools_installed = 3 output = self.run_idf_tools_with_action(['install', '--targets=esp32c3']) self.assert_tool_installed(output, OPENOCD, OPENOCD_VERSION) self.assert_tool_installed(output, RISCV_ELF, RISCV_ELF_VERSION) + self.assert_tool_installed(output, RISCV_ESP_GDB, RISCV_ESP_GDB_VERSION) self.assert_tool_not_installed(output, XTENSA_ESP32_ELF, XTENSA_ESP32_ELF_VERSION) self.assert_tool_not_installed(output, XTENSA_ESP32S2_ELF, XTENSA_ESP32S2_ELF_VERSION) self.assert_tool_not_installed(output, XTENSA_ESP32S3_ELF, XTENSA_ESP32S3_ELF_VERSION) + self.assert_tool_not_installed(output, XTENSA_ESP_GDB, XTENSA_ESP_GDB_VERSION) self.assert_tool_not_installed(output, ESP32ULP, ESP32ULP_VERSION) self.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output) self.assertEqual(required_tools_installed, output.count('Done')) @@ -217,6 +238,7 @@ class TestUsage(unittest.TestCase): output = self.run_idf_tools_with_action(['check']) self.assertIn('version installed in tools directory: ' + OPENOCD_VERSION, output) self.assertIn('version installed in tools directory: ' + RISCV_ELF_VERSION, output) + self.assertIn('version installed in tools directory: ' + RISCV_ESP_GDB_VERSION, output) output = self.run_idf_tools_with_action(['export']) self.assertIn('%s/tools/openocd-esp32/%s/openocd-esp32/bin' % @@ -231,15 +253,21 @@ class TestUsage(unittest.TestCase): (self.temp_tools_dir, XTENSA_ESP32S2_ELF_VERSION), output) self.assertNotIn('%s/tools/xtensa-esp32s3-elf/%s/xtensa-esp32s3-elf/bin' % (self.temp_tools_dir, XTENSA_ESP32S3_ELF_VERSION), output) + self.assertNotIn('%s/tools/xtensa-esp-elf-gdb/%s/xtensa-esp-elf-gdb/bin' % + (self.temp_tools_dir, XTENSA_ESP_GDB_VERSION), output) + self.assertIn('%s/tools/riscv32-esp-elf-gdb/%s/riscv32-esp-elf-gdb/bin' % + (self.temp_tools_dir, RISCV_ESP_GDB_VERSION), output) def test_tools_for_esp32s2(self): - required_tools_installed = 4 + required_tools_installed = 5 output = self.run_idf_tools_with_action(['install', '--targets=esp32s2']) self.assert_tool_installed(output, XTENSA_ESP32S2_ELF, XTENSA_ESP32S2_ELF_VERSION) self.assert_tool_installed(output, OPENOCD, OPENOCD_VERSION) self.assert_tool_installed(output, RISCV_ELF, RISCV_ELF_VERSION) + self.assert_tool_installed(output, XTENSA_ESP_GDB, XTENSA_ESP_GDB_VERSION) self.assert_tool_not_installed(output, XTENSA_ESP32_ELF, XTENSA_ESP32_ELF_VERSION) self.assert_tool_not_installed(output, XTENSA_ESP32S3_ELF, XTENSA_ESP32S3_ELF_VERSION) + self.assert_tool_not_installed(output, RISCV_ESP_GDB, RISCV_ESP_GDB_VERSION) self.assert_tool_installed(output, ESP32ULP, ESP32ULP_VERSION) self.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output) self.assertEqual(required_tools_installed, output.count('Done')) @@ -247,6 +275,7 @@ class TestUsage(unittest.TestCase): output = self.run_idf_tools_with_action(['check']) self.assertIn('version installed in tools directory: ' + OPENOCD_VERSION, output) self.assertIn('version installed in tools directory: ' + XTENSA_ESP32S2_ELF_VERSION, output) + self.assertIn('version installed in tools directory: ' + XTENSA_ESP_GDB_VERSION, output) output = self.run_idf_tools_with_action(['export']) self.assertIn('%s/tools/xtensa-esp32s2-elf/%s/xtensa-esp32s2-elf/bin' % @@ -261,15 +290,21 @@ class TestUsage(unittest.TestCase): (self.temp_tools_dir, RISCV_ELF_VERSION), output) self.assertNotIn('%s/tools/xtensa-esp32s3-elf/%s/xtensa-esp32s3-elf/bin' % (self.temp_tools_dir, XTENSA_ESP32S3_ELF_VERSION), output) + self.assertIn('%s/tools/xtensa-esp-elf-gdb/%s/xtensa-esp-elf-gdb/bin' % + (self.temp_tools_dir, XTENSA_ESP_GDB_VERSION), output) + self.assertNotIn('%s/tools/riscv32-esp-elf-gdb/%s/riscv32-esp-elf-gdb/bin' % + (self.temp_tools_dir, RISCV_ESP_GDB_VERSION), output) def test_tools_for_esp32s3(self): - required_tools_installed = 4 + required_tools_installed = 5 output = self.run_idf_tools_with_action(['install', '--targets=esp32s3']) self.assert_tool_installed(output, XTENSA_ESP32S3_ELF, XTENSA_ESP32S3_ELF_VERSION) self.assert_tool_installed(output, OPENOCD, OPENOCD_VERSION) self.assert_tool_installed(output, RISCV_ELF, RISCV_ELF_VERSION) + self.assert_tool_installed(output, XTENSA_ESP_GDB, XTENSA_ESP_GDB_VERSION) self.assert_tool_not_installed(output, XTENSA_ESP32_ELF, XTENSA_ESP32_ELF_VERSION) self.assert_tool_not_installed(output, XTENSA_ESP32S2_ELF, XTENSA_ESP32S2_ELF_VERSION) + self.assert_tool_not_installed(output, RISCV_ESP_GDB, RISCV_ESP_GDB_VERSION) self.assert_tool_installed(output, ESP32ULP, ESP32ULP_VERSION) self.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output) self.assertEqual(required_tools_installed, output.count('Done')) @@ -277,6 +312,7 @@ class TestUsage(unittest.TestCase): output = self.run_idf_tools_with_action(['check']) self.assertIn('version installed in tools directory: ' + OPENOCD_VERSION, output) self.assertIn('version installed in tools directory: ' + XTENSA_ESP32S3_ELF_VERSION, output) + self.assertIn('version installed in tools directory: ' + XTENSA_ESP_GDB_VERSION, output) output = self.run_idf_tools_with_action(['export']) self.assertIn('%s/tools/openocd-esp32/%s/openocd-esp32/bin' % @@ -291,6 +327,10 @@ class TestUsage(unittest.TestCase): (self.temp_tools_dir, RISCV_ELF_VERSION), output) self.assertNotIn('%s/tools/xtensa-esp32s2-elf/%s/xtensa-esp32s2-elf/bin' % (self.temp_tools_dir, XTENSA_ESP32S2_ELF_VERSION), output) + self.assertIn('%s/tools/xtensa-esp-elf-gdb/%s/xtensa-esp-elf-gdb/bin' % + (self.temp_tools_dir, XTENSA_ESP_GDB_VERSION), output) + self.assertNotIn('%s/tools/riscv32-esp-elf-gdb/%s/riscv32-esp-elf-gdb/bin' % + (self.temp_tools_dir, RISCV_ESP_GDB_VERSION), output) class TestMaintainer(unittest.TestCase): diff --git a/tools/tools.json b/tools/tools.json index 02d9c6b176..b376701184 100644 --- a/tools/tools.json +++ b/tools/tools.json @@ -1,5 +1,153 @@ { "tools": [ + { + "description": "GDB for Xtensa", + "export_paths": [ + [ + "xtensa-esp-elf-gdb", + "bin" + ] + ], + "export_vars": {}, + "info_url": "https://github.com/espressif/binutils-gdb", + "install": "always", + "license": "GPL-3.0-or-later", + "name": "xtensa-esp-elf-gdb", + "supported_targets": [ + "esp32", + "esp32s2", + "esp32s3" + ], + "version_cmd": [ + "xtensa-esp-elf-gdb-no-python", + "--version" + ], + "version_regex": "GNU gdb \\(esp-gdb\\) ([a-z0-9.-_]+)", + "versions": [ + { + "linux-amd64": { + "sha256": "b5f7cc3e4b5a58db655754083ed9652e4953e71c3b4922fb624e7a034ec24a64", + "size": 26947336, + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz" + }, + "linux-arm64": { + "sha256": "816acfae38b6b443f4f1590395f68f079243539259d19c7772ae6416c6519444", + "size": 27134508, + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-aarch64-linux-gnu.tar.gz" + }, + "linux-armel": { + "sha256": "4dd1bace0633196fddfdcef3cebcc4bbfce22f5a0d2d1e3d618f3d8a6cbfcacc", + "size": 25205239, + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-arm-linux-gnueabi.tar.gz" + }, + "linux-armhf": { + "sha256": "53a142b9a508a8babe6b7edf3090bb49e3714380ba819b54052425fcf1ac6f9c", + "size": 23491575, + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-arm-linux-gnueabihf.tar.gz" + }, + "linux-i686": { + "sha256": "27744d09d171be2f55ec15fa7f2d7f8ff94d33f7e130d24ebe082cb6c438618b", + "size": 25978028, + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-i586-linux-gnu.tar.gz" + }, + "macos": { + "sha256": "1432faa12d7301133f6ee654d60751b57adcc6cf323ee1ecc393f06f0225eff4", + "size": 38386785, + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-x86_64-apple-darwin14.tar.gz" + }, + "macos-arm64": { + "sha256": "d0b542ef070ea72857f9cf554f176a0a9d868cd59e05ac293ad39402bcc5277d", + "size": 21671964, + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-aarch64-apple-darwin21.1.tar.gz" + }, + "name": "11.2_20220823", + "status": "recommended", + "win32": { + "sha256": "1678b06aa80b1d689d05548056635efde5b73b98f2c3de5d555bcfc6f374c5d0", + "size": 23241302, + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-i686-w64-mingw32.zip" + }, + "win64": { + "sha256": "7060df4b6aa133e282147c3651d50222d677d6a0fff92979c500353b099a3f41", + "size": 25135265, + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-x86_64-w64-mingw32.zip" + } + } + ] + }, + { + "description": "GDB for RISC-V", + "export_paths": [ + [ + "riscv32-esp-elf-gdb", + "bin" + ] + ], + "export_vars": {}, + "info_url": "https://github.com/espressif/binutils-gdb", + "install": "always", + "license": "GPL-3.0-or-later", + "name": "riscv32-esp-elf-gdb", + "supported_targets": [ + "esp32c3" + ], + "version_cmd": [ + "riscv32-esp-elf-gdb-no-python", + "--version" + ], + "version_regex": "GNU gdb \\(esp-gdb\\) ([a-z0-9.-_]+)", + "versions": [ + { + "linux-amd64": { + "sha256": "6bf5b5d2d407e074af2a74fc826764934ac1625a1751c52fbc0d4d7772061f8f", + "size": 26799809, + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz" + }, + "linux-arm64": { + "sha256": "e54ef67cdb5724fc2da8f0487f19b2c83c08b560fff317f5ffd98fbb230b397a", + "size": 27021672, + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-aarch64-linux-gnu.tar.gz" + }, + "linux-armel": { + "sha256": "86772c6aee8a05b2c75a6b04e9da630e35e8415b64da8ccde92a5fb2d3c7fcf4", + "size": 25532577, + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-arm-linux-gnueabi.tar.gz" + }, + "linux-armhf": { + "sha256": "0893cbc6e987c9e2016775e364733f9c34eb1c6ba283d296d8ff503a5a054c59", + "size": 23773607, + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-arm-linux-gnueabihf.tar.gz" + }, + "linux-i686": { + "sha256": "3463be3e24182b7f1bd0fb232020534445b2d0ea0e7093c1b4f4da102b3baf52", + "size": 26188698, + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-i586-linux-gnu.tar.gz" + }, + "macos": { + "sha256": "a9db1811ebb9271134eba2f7c303fc2587bd4b2a1ae33cd05ff2605cd2fb30d2", + "size": 38397584, + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-x86_64-apple-darwin14.tar.gz" + }, + "macos-arm64": { + "sha256": "c94fb6d726b8d97e65e23237f5126a41343bca8f22a0414df5f0e6777e36f51c", + "size": 21593613, + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-aarch64-apple-darwin21.1.tar.gz" + }, + "name": "11.2_20220823", + "status": "recommended", + "win32": { + "sha256": "20cdee8a1c01428363ef02f4cc8035c65508d6b43560c525733eae94b7c7bb50", + "size": 23436802, + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-i686-w64-mingw32.zip" + }, + "win64": { + "sha256": "add72366485b784b66837ce263548980f1df144d0954c42d75a81f6acbd43cac", + "size": 24802315, + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-x86_64-w64-mingw32.zip" + } + } + ] + }, { "description": "Toolchain for Xtensa (ESP32) based on GCC", "export_paths": [