Commit Graph

212 Commits

Author SHA1 Message Date
Erhan Kurubas
d744aefcec fix(coredump): increase sanity check before get summary
Closes https://github.com/espressif/esp-idf/issues/13594
2024-05-16 21:22:41 +02:00
Omar Chebib
0f852fcd5f fix(espcoredump): Reconfigure the stack guard when using custom coredump stack 2024-04-01 10:53:13 +08:00
Erhan Kurubas
ba28b5a599 refactor(espcoredump): simplify uart/flash write flow 2024-03-08 09:28:07 +01:00
Erhan Kurubas
4544d37078 refactor(espcoredump): replace uart and flash callbacks with aliases 2024-03-08 09:16:11 +01:00
Erhan Kurubas
0077c1234f refactor(espcoredump): keep checksum context in coredump stack 2024-03-08 09:12:09 +01:00
Erhan Kurubas
5ba3b99f2b feat(coredump): use SHA ROM functions for all targets except ESP32
For ESP32, continue using mbedtls due to a required ROM patch for the SHA implementation.
For other targets, we can now leverage the ROM functions.
2024-03-06 13:08:09 +01:00
Omar Chebib
f10d734f30 change(espcoredump): save RAM space by placing constants in flash
All the log messages of espcoredump component used to be in DRAM, which would
lower the available RAM space for the user application. Since the cache is always
enabled after an exception, constants can be put in flash.
2024-02-22 18:45:52 +08:00
Erhan Kurubas
fdc6099961 feat(esp-coredump): add esp32p4 chip support and doc update 2024-02-21 21:26:39 +08:00
Erhan Kurubas
054f33b386 feat(coredump): improve the probability of accessing healthy TCBs 2024-01-26 22:55:16 +08:00
Erhan Kurubas
d9d388dae7 feat(coredump): save twdt panic output to coredump elf file 2023-12-07 15:21:24 +01:00
Marius Vikhammer
8005821b09 Merge branch 'change/deprecate_legacy_xtensa_include_path_v5.2' into 'release/v5.2'
change(xtensa): Deprecate legacy include paths (v5.2)

See merge request espressif/esp-idf!27673
2023-12-07 17:27:38 +08:00
Darian Leung
555bd367e1 change(xtensa): Deprecate ".../xtensa_context.h" include path
This commit deprecates the "freertos/xtensa_context.h" and "xtensa/xtensa_context.h"
include paths. Users should use "xtensa_context.h" instead.

- Replace legacy include paths
- Removed some unnecessary includes of "xtensa_api.h"
- Add warning to compatibility header
2023-12-05 18:04:52 +08:00
Erhan Kurubas
567bc462f0 feat(coredump): save isr context to coredump elf file 2023-11-28 18:19:03 +01:00
Rahul Tank
d2e9314c24 fix(espcoredump): fixed compilation warning
Added conditional compilation for logging stack usage only when CONFIG_ESP_COREDUMP_LOGS is
enabled.

Closes: https://github.com/espressif/esp-idf/issues/12318
2023-10-19 16:48:28 +05:30
Jakob Hasse
548022fbe6 refactor(linux): excluded all non-Linux components from build
* All components which won't build (yet) on Linux are excluded.
  This enables switching to Linux in an application without
  explicitly setting COMPONENTS to main in the main
  CMakeLists.txt.
* ESP Timer provides headers for Linux now
* automatically disabling LWIP in Kconfig if it is not available

doc(linux): brought section
  "Component Linux/Mock Support Overview" up to date
2023-10-16 17:06:54 +08:00
Alexey Lapshin
2585e53d54 Merge branch 'feature/update-toolchain-to-esp-13.1.0_new_newlib' into 'master'
Update toolchain to esp-13.2.0_20230919

Closes GCC-250, GCC-322, GCC-324, GCC-327, GCC-330, and IDF-8287

See merge request espressif/esp-idf!25073
2023-10-10 08:18:33 +08:00
Alexey Lapshin
8bbcc224dd fix(espcoredump): fix gcc 13.1.0 warnings 2023-10-09 12:13:02 +04:00
Darian Leung
9968a48c36 refactor(freertos/task_snapshot): Make task snapshot private
Task snapshot API were never intended to be called from user code. This commit
makes task snapshot a private API thus moves `#include "freertos/task_snapshot.h"`
to `#include "esp_private/freertos_debug.h"`.

Task snapshot related Kconfig options have also been hidden.

Note: Added 'freertos_common' mapping to ldgen mapping execptions lists due to
inlining of 'freertos_debug.h' functions.
2023-10-07 13:14:55 +08:00
Ivan Grokhotkov
3f07dc5a61
feat(espcoredump): migrate the tests from unit-test-app 2023-09-21 14:32:45 +02:00
Darian Leung
659ec67967 refactor(freertos): Remove option for Task Snapshot
Previously, Task Snapshot could be conditionally built based on the
CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT option. However, there is no overhead
with always enabling Task Snapshot functions, as the linker will remove any
functions if they are not called.

This commit...

- removes all ESP-IDF dependencies on the CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT
option so that Task Snapshot functions are always available.
- Makes CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT a hidden option to maintain
compatibility with user code.
- adds documentation regarding Task Snapshot.
2023-08-28 20:11:27 +08:00
Erhan Kurubas
4714521b21 feat(coredump): add panic details to the elf file 2023-08-24 10:20:56 +02:00
Mahavir Jain
3befd5fff7 Merge branch 'contrib/github_pr_11869' into 'master'
bugfix: avoid warning in espcoredump when log disabled (GitHub PR)

Closes IDFGH-10636

See merge request espressif/esp-idf!25134
2023-08-10 02:19:32 +08:00
Aleksei Apaseev
ba51b09cb2 coredump: added the chip_rev field into the coredump header 2023-07-26 10:53:28 +08:00
Erhan Kurubas
912f5afefa fix(coredump): Fix strncpy error in core_dump_elf.c
core_dump_elf.c:504:5: error: 'strncpy' specified bound 66 equals
destination size [-Werror=stringop-truncation]
2023-07-22 02:22:58 +02:00
Christoph Baechler
88aa0d61c6 bugfix: avoid warning in espcoredump when log disabled 2023-07-14 08:42:54 +02:00
Vikram
677b70ea96 Optionally disable logs in espcoredump component
Early log strings used by this component are placed in DRAM.
Disabling these logs saves ~5KB of internal memory

Signed-off-by: Vikram <vikram.dattu@espressif.com>
2023-06-28 06:46:32 +00:00
Song Ruo Jing
921713fff4 uart: Support LP_UART port with UART driver on esp32c6 2023-06-16 07:31:40 +00:00
KonstantinKondrashov
b605404b06 esp_app_format: IRAM space optimization 2023-05-17 23:40:59 +08:00
Alexey Lapshin
0b078f5cd3 coredump: remove tests (moved to esp-coredump repo) 2023-05-11 12:13:52 +08:00
Cao Sen Miao
94120b82c2 esp32h2: add build test 2023-01-17 10:29:04 +08:00
Aleksei Apaseev
46651e7a6a espcoredump: fix incorrectly defined coredump chip version 2023-01-09 18:43:35 +08:00
Omar Chebib
835263e50a Coredump: add a test to check that coredump supports stacks in SPIRAM 2022-12-22 12:47:22 +01:00
Omar Chebib
42b2169542 coredump: add support for stacks in external RAM
Tasks having their stacks in SPIRAM can now be part of the coredump written to flash
2022-12-22 12:47:22 +01:00
Omar Chebib
1ff8a68c21 Merge branch 'bugfix/support_coredump_stack_xtensa' into 'master'
coredump: custom core dump stack is now supported on Xtensa targets

See merge request espressif/esp-idf!21335
2022-12-19 18:02:15 +08:00
Mahavir Jain
12b977dba6
coredump: add partition encrypted flag check for flash encryption case
Ref: https://esp32.com/viewtopic.php?f=13&t=30752
2022-12-02 17:15:01 +05:30
Omar Chebib
301cb74890 coredump: custom core dump stack is now supported on Xtensa targets 2022-12-02 12:01:19 +08:00
Armando
aba9f80cd2 partition: use esp_partition_munmap instead of spi_flash_munmap 2022-11-09 20:15:17 +08:00
KonstantinKondrashov
1a9ca94ac6 ci: Fix environment variable IDF_CI_BUILD is not set 2022-11-08 18:23:39 +08:00
Martin Vychodil
c9c7573f71 Storage: Partition APIs moved to the new component 'esp_partition'
All the partition handling API functions and data-types were moved from the 'spi_flash' component to the new one named 'esp_partition'. See Storage 5.x migration guide for more details
2022-11-02 21:54:45 +01:00
Song Ruo Jing
be0fdfa176 soc: Add a soc cap, SOC_CLK_RC_FAST_D256_SUPPORTED, for whether the target has the RC_FAST_D256 clock 2022-11-01 11:23:26 +08:00
Mahavir Jain
ed884fece6
espcoredump: enable tests for esp32c2 target 2022-09-28 20:41:01 +05:30
Mahavir Jain
a2db79eb26
espcoredump: add esp32c2 target in test_app 2022-09-28 20:41:01 +05:30
Mahavir Jain
9e6d181557
espcoredump: re-enable test_app build for esp32c2 2022-09-28 20:41:00 +05:30
Harshit Malpani
8fba04638b
espcoredump: Add support for esp32c2
This commit puts some code under SOC_RTC_MEM_SUPPORTED. This enables use of coredump in targets with no RTC memory support.
2022-09-28 20:41:00 +05:30
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
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
Laukik Hase
0071ea498f
esp_app_format: Fixed build errors and resolved dependencies 2022-08-17 10:59:31 +05:30
Roland Dobai
bab3830797 Tools: Fix flake8 version 5 warnings 2022-08-12 08:13:13 +00:00
Ivan Grokhotkov
401c10ecfb build system: re-add -Wno-format as private flag for some components 2022-08-03 16:42:47 +04:00
Omar Chebib
e25cda2c40 Task WDT: Interuptee task stack is now used for backtracing, regardless of the CPU core
For RISC-V and Xtensa targets, in case a panic needs to happen when
Task WDT is triggered (ESP_TASK_WDT_PANIC), the interruptee's stack
is now used for printing the backtrace.
Abort after Task Watchdog is triggered can happen on APP CPU (second core).
2022-08-02 12:41:14 +08:00