Commit Graph

135 Commits

Author SHA1 Message Date
Jiang Jiang Jian 378bab6e55 Merge branch 'feat/usb-cdc-select_v5.4' into 'release/v5.4'
feat(usb_cdc): Add select functionality (backport v5.4)

See merge request espressif/esp-idf!40892
2025-08-26 10:51:11 +08:00
Marius Vikhammer 00f4245160 fix(console): fixed secondary console not working on all chips without VFS 2025-08-22 09:38:46 +08:00
Guillaume Souchere d5dca1a78d feat(usb_cdc): Add select functionality 2025-07-29 10:14:19 +02:00
Guillaume Souchere 4b5e246b5b fix(esp_vfs_console): USB CDC read when non blocking
In non blocking mode, the read function is expected
to return weather data is available for reading or not.

In case data are available but the size does not match
the expected size, the function read should return whatever
data is available.

Previously, the function was returning -1 with errno set
to EWOULDBLOCK even if the size of data in the buffer was
less than the requested size. It would only return the
available data if the size in the buffer was greater or equal
to the requested size.

The implementation of cdcacm_read is modified to return the avilable
data from the buffer even is the size is lesser than the requested
size.
2025-02-06 09:01:30 +01:00
Marius Vikhammer 9960cdd313 Merge branch 'docs/cpu_lockup' into 'master'
Docs/cpu lockup

See merge request espressif/esp-idf!33072
2024-08-27 10:36:11 +08:00
Marius Vikhammer baf026dcf8 docs(system): add cpu lock up description 2024-08-26 11:59:51 +08:00
Marius Vikhammer 6e51c0525d fix(wdt): changed register dump on non panic task WDT to be more descriptive
Closes https://github.com/espressif/esp-idf/issues/14400
2024-08-22 10:48:26 +08:00
Konstantin Kondrashov aed84fa818 feat(efuse): Support Linux target 2024-05-15 16:54:45 +03:00
KonstantinKondrashov a3bfb3f857 feat(ipc): Adds a new no blocking IPC call 2024-03-22 19:49:42 +02:00
Marius Vikhammer c0a2043562 fix(system): update reset reasons for C6 and H2 2024-02-20 12:27:09 +08:00
Erhan Kurubas 7234303e9e feat(system): move esp_dbg_stubs_init into component 2024-01-31 20:12:45 +01:00
Marius Vikhammer 06850e0e1e refactor(system): removed esp_system from astyle ignore list and reformated it 2024-01-30 15:17:15 +08:00
Jakob Hasse 65e4118893 docs(esp_system): Document limitations of esp_execute_shared_stack_function 2024-01-25 19:02:25 +08:00
Darian Leung f50d83413e refactor(tools): Tidy up core component files copyright ignore
Some files that should have their copyrights checked are still placed on the
copyright ignore list.

- These entries have been tidied up
- Copyrights of those files have been updated.
2024-01-22 18:07:35 +08:00
Omar Chebib 5cdf145f55 refactor(riscv): refactor crosscore interrupt 2024-01-18 16:27:36 +08:00
Marius Vikhammer 9f1d001849 Merge branch 'feat/cache_error_c6_h2' into 'master'
fix(panic): fixed cache error being reported as illegal instruction

Closes IDF-6398, IDF-5657, IDF-7015, and IDF-6733

See merge request espressif/esp-idf!27430
2023-12-21 10:32:06 +08:00
Chip Weinberger 3686689a2a feat(esp_system): Add esp_backtrace_print_all_tasks()
This commit adds esp_backtrace_print_all_tasks() which prints the backtraces
of all tasks at runtime.

Closes https://github.com/espressif/esp-idf/issues/9708
CLoses https://github.com/espressif/esp-idf/pull/11575

[Omar Chebib: Prevent task switching while printing backtraces of tasks.]
[Omar Chebib: Ensure all task stacks are flushed from register to RAM.]
[Omar Chebib: Removed esp_task_snapshot_to_backtrace_frame() as task snapshot is private API.]
[Omar Chebib: Added test case for esp_backtrace_print_all_tasks().]

Signed-off-by: Omar Chebib <omar.chebib@espressif.com>
2023-12-12 19:54:17 +08:00
Erhan Kurubas 58ee206c99 feat(coredump): save twdt panic output to coredump elf file 2023-12-05 13:28:51 +01:00
Marius Vikhammer 9a6de4cb3e fix(panic): fixed cache error being reported as illegal instruction
On riscv chips accessing cache mapped memory regions over the ibus would
result in an illegal instructions exception triggering faster than the cache
error interrupt/exception.

Added a cache error check in the panic handler, if any cache errors are active
the panic handler will now report a cache error, even if the trigger exception
was a illegal instructions.
2023-12-04 10:49:00 +08:00
Ivan Grokhotkov 75c92c3a66 refactor(startup): implement registration of core init functions
Similar to how the secondary init functions were already registered
via ESP_SYSTEM_INIT_FN, do the same for the core init functions.
This MR doesn't actually move the init functions into respective
components yet. This has to be carefully done in follow-up MRs.
2023-11-27 10:20:51 +01:00
Marius Vikhammer 22091c8744 feat(wdt): add multicore support for WDTs on RISCV 2023-10-23 18:26:08 +08:00
xuxiao 31bb66813a revert(lwip): Revert changes to LWIP task priority macro from MR 25020 2023-10-11 17:54:27 +08:00
KonstantinKondrashov 7a878bdc50 feat(esp_system): Support IPC_ISR for ESP32P4 2023-09-15 23:38:12 +08:00
Marius Vikhammer e58becec0a feat(esp-system): support reset reasons on P4 2023-09-15 08:11:34 +08:00
wuzhenghui 6fea0260a3 fix(esp_system): suppress compiler warning if ESP_SYSTEM_PANIC_SILENT_REBOOT is enabled 2023-09-12 16:30:42 +08:00
Xu Xiao 8847eeec0c feat(wifi): optimize esp32c6 iperf performance 2023-09-04 14:34:54 +08:00
Erhan Kurubas 4714521b21 feat(coredump): add panic details to the elf file 2023-08-24 10:20:56 +02:00
Jakob Hasse 44e4ef79e2 fix(esp_system): Fixed C++ compilation of libunwind.h 2023-08-09 16:17:08 +08:00
Armando a336b94527 feat(esp_system): base support on p4 2023-07-25 05:59:10 +00:00
Martin Vychodil 65bc1ed055 System: remove digital-system reset within OS restart when Memprot on 2023-06-26 20:22:59 +02:00
Linda ab14c1dd80 docs: update comment of member idle_core_mask 2023-06-12 14:09:02 +08:00
Zim Kalinowski dc7ff8676c Merge branch 'feature/libunwind_backtracing' into 'master'
System: implement libunwind library for RISC-V backtracing

Closes IDFGH-6189

See merge request espressif/esp-idf!18147
2023-05-16 14:19:16 +08:00
Omar Chebib eeaa40f71d System: implement libunwind library for RISC-V backtracing
Closes https://github.com/espressif/esp-idf/issues/7866

A minimal x86 implementation has also been added, it is used to perform a host test.
2023-05-15 11:19:03 +08:00
Jakob Hasse c8791f30c0 compiler: replaced noreturn by __noreturn__ in header files
* noreturn may be replaced by third-party macros,
  rendering it ineffective

* Closes https://github.com/espressif/esp-idf/issues/11339
2023-05-11 16:07:45 +08:00
morris 083d9e7c0f mcpwm: reset peripheral in restart, panic and halt
mcpwm is commonly used in power eletronic area, when restart happens,
make sure the mcpwm generator is not working.

closes https://github.com/espressif/esp-idf/issues/11324
2023-05-06 15:58:58 +08:00
laokaiyao bf2a7b2df6 esp32h4: removed esp32h4 related codes 2023-04-23 12:03:07 +00:00
Nebojsa Cvetkovic 67e9db7cf5 esp_system: Add reset reasons for USB_UART and USB_JTAG
Merges https://github.com/espressif/esp-idf/pull/10950
2023-04-19 10:09:19 +08:00
Ivan Grokhotkov 9924d9f271 esp_system: usb_console support for ESP32-S3
Closes https://github.com/espressif/esp-idf/issues/8879
Closes https://github.com/espressif/esp-idf/issues/8738
2023-04-12 11:17:41 +02:00
Marius Vikhammer 5d26a0de9a wdt: add support for H2 2023-02-23 11:22:51 +08:00
Armando a49d074cbb esp_system: include FreeRTOS.h explicitly in critical_section.h
Prior to this commit, if only critical_section.h is included, there
might be error about portNUM_PROCESSORS undeclared.

As critical_section.h should be OS-agnostic, added FreeRTOS.h in it
2023-02-16 15:12:13 +08:00
Marius Vikhammer 5e9e8c396f wdt: add support for WDTs on C6 2023-01-19 12:58:26 +08:00
Cao Sen Miao 8cc9260f86 ESP32H2: Add system support for ESP32H2 2022-12-07 11:38:51 +08:00
Jakob Hasse fd04374aa5 feat (driver) added new critical section API to UART driver 2022-11-25 18:11:35 +01:00
morris 560ea9b754 systimer: support etm event 2022-11-23 15:32:34 +08:00
laokaiyao 8677216576 esp32h2: renaming esp32h2 to esp32h4 2022-11-08 17:05:33 +08:00
xueyunfei 8c17b04cef lwip:bugfix for increase ping task stack size 2022-10-19 10:49:13 +08:00
Song Ruo Jing 1eb9a24a48 esp_system: Minor update for esp32c6 2022-09-26 20:32:13 +08:00
Omar Chebib 6798bfc4b0 TWDT: the Kconfig option ESP_TASK_WDT_EN is now used to enable Task Watchdog 2022-09-15 14:37:59 +08:00
Omar Chebib 30d12af191 TWDT: refactor the TWDT to be driver agnostic
This refactoring brings a private API for the TWDT implementation, which
can now use a hardware timer (Timer Group) or a software timer (esp_timer)
2022-09-15 14:37:59 +08:00
Omar Chebib 53c7dd4efc WDT: implement interrupt wdt and task wdt for ESP32-C2
ESP32-C2 has a single group timer, thus it will use it for the interrupt watchdog,
which is more critical than the task watchdog. The latter is implement in
software thanks to the `esp_timer`component.
2022-09-15 14:37:59 +08:00