Commit Graph

202 Commits

Author SHA1 Message Date
Omar Chebib
ff2a492002 Merge branch 'staging/espcoredump_move_strings_flash' into 'master'
change(espcoredump): save RAM space by placing constants in flash

See merge request espressif/esp-idf!26872
2023-11-03 12:20:25 +08:00
Omar Chebib
8ac4b48b2f 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.
2023-11-02 19:09:57 +08:00
Simon Arlott
1feb3c9f9b espcoredump: Support for not overwriting existing core dump in flash
If there's an unattended boot loop or a crash that causes another crash on
the next boot, it needs to be possible to avoid overwriting a saved core
dump with another core dump.

Add an option to do this and skip writing core dumps if the partition isn't
empty.

Fixes #12027.

Mergeshttps://github.com/espressif/esp-idf/pull/12105
2023-11-02 06:58:47 +00: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
Guillaume Souchere
6005cc9163 hal: Deprecate interrupt_controller_hal.h, cpu_hal.h and cpu_ll.h interfaces
This commit marks all functions in interrupt_controller_hal.h, cpu_ll.h and cpu_hal.h as deprecated.
Users should use functions from esp_cpu.h instead.
2022-07-22 00:06:06 +08:00
Mahavir Jain
a94c74c26b
mbedtls: remove dependency on driver component
- keep `esp_pm` dependency conditional in mbedtls
- refactor `bt` cmakelist to keep dependencies as private

Related: IDF-1265
2022-07-18 21:10:51 +05:30
Fu Hanxi
c0568611dd docs: changes docs supported targets tables 2022-07-14 08:26:32 +08:00
Fu Hanxi
05d2357062 feat: use standalone project idf-build-apps for find/build apps utils 2022-07-14 08:26:31 +08:00
Roland Dobai
3d1508db9d Tools: Make espcoredump.py executable
Closes https://github.com/espressif/esp-idf/issues/9319
2022-07-11 17:32:47 +02:00
Darian Leung
5de652bbe2 espcoredump: Fix espcoredump.py shebang and file mode
This commit adds back the shebang and executable file mode for
espcoredump.py
2022-07-06 21:03:11 +08:00
Cao Sen Miao
a690a87829 spi_flash: Remove legacy spi_flash drivers 2022-07-01 11:01:34 +08:00
Roland Dobai
b6e6adddc3 Merge branch 'refactor/change_copyright_components' into 'master'
components: Change copyright in components files

See merge request espressif/esp-idf!18580
2022-06-20 16:02:12 +08:00
simon.chupin
45482bd1c0 components: Change copyright in components files 2022-06-17 16:59:56 +02:00
Mahavir Jain
51bbee2e19 espcoredump: allow reserving dedicated stack size for Xtensa architecture
Core issue with SET_STACK was fixed with e543e97c7b

Related: IDF-2797
2022-06-06 03:24:50 +00:00