Commit Graph
273 Commits
Author SHA1 Message Date
Xiao Xufeng 789ce684c9 fix(mmap): fixed some API read wrong data via mmap when flash being erased/written while XIP on PSRAM
Before:

The cache won't be disabled when XIP on psram. But during flash
erasing/programming, read data will be courrupt.

When XIP in psram is enabled, the image is not mapped to the cache so
usually there will be no flash access. The only way to read from flash
is via the driver or use mmap. The driver has protection during erasing,
while th mmap region not.

Now:

Mmap APIs provide a flag to make mmap->unmap region mutually exclusive
to flash erase/programming when XIP from psram. SPI Flash write APIs
will benefit from this. When the flag is used, no concurrent access to
mapped region will happen while writing; otherwise the cache will be
disable to avoid data corruption.

Most ESP-IDF APIs calls mmap with this flag. As for users calling
mmap-like APIs directly, they can choose whether to enable this by a
flag.

Closes https://github.com/espressif/esp-idf/issues/14897
2026-06-16 01:00:43 +08:00
Marius Vikhammer f7344e0a46 refactor(panic): route panic handlers through esp_sys_event
Let panic-related components register their hooks through
esp_sys_event so panic sequencing stays extensible without
hardcoded esp_system dependencies.
2026-06-10 11:21:47 +08:00
Marius Vikhammer 6377ac3ec2 test(panic): refactor panic test to split out coredump 2026-05-15 11:00:44 +08:00
Erhan Kurubas 6a713b97c6 fix(coredump): fix fake stack address range overlapping esp32s31 DRAM 2026-04-10 19:58:56 +02:00
Chen Jichang b8c527a87c refactor(flash_enc): move esp_flash_encryption_enabled() to efuse component 2026-02-05 11:42:08 +08:00
Erhan Kurubas 5ba3e9df98 feat(coredump): add coredump_extram attribute
Closes https://github.com/espressif/esp-idf/issues/15429
2026-02-02 10:25:03 +01:00
Michael (XIAO Xufeng) 5984b29af5 Merge branch 'refactor/spi_flash_private' into 'master'
refactor(spi_flash): reorganize header files, improve encapsulation and simplify ROM implementation

See merge request espressif/esp-idf!44347
2026-01-28 17:39:51 +08:00
igor.udot 4c26ab876b ci: update build-test-rules to use common_components 2026-01-23 10:14:09 +08:00
Xiao Xufeng 8dbf23630a refactor(spi_flash): reorganize header files and improve API encapsulation
This commit reorganizes SPI flash header files to better reflect their
visibility and intended usage:

1. Rename `esp_flash_port/` to `esp_flash_chips/`:
   - Better reflects that these headers are for chip driver implementations
   - All chip driver headers moved to `esp_flash_chips/` directory
   - Added README.md explaining semi-public nature of these headers

2. Move internal headers to `esp_private/`:
   - `esp_flash_internal.h` -> `esp_private/esp_flash_internal.h`
   - `memspi_host_driver.h` -> `esp_private/memspi_host_driver.h`

3. Move chip driver related headers to `esp_flash_chips/`:
   - `esp_private/esp_flash_types.h` -> `esp_flash_chips/esp_flash_types.h`
   - `spi_flash/spi_flash_defs.h` -> `esp_flash_chips/spi_flash_defs.h`
   - `spi_flash_override.h` -> `esp_flash_chips/spi_flash_override.h`
   - All `spi_flash_chip_*.h` headers moved to `esp_flash_chips/`

4. Code improvements:
   - Remove unused includes (e.g., `spi_flash_override.h` from `cache_utils.c`)
   - Use public API `esp_flash_get_size()` instead of direct member access
   - Add `esp_flash_is_quad_mode` to linker.lf for IRAM placement

5. Documentation updates:
   - Add README.md in `esp_flash_chips/` explaining semi-public headers
   - Update programming guide with warnings about internal headers
   - Update both English and Chinese documentation

6. Update all references across the codebase:
   - Update includes in `spi_flash` component
   - Update `bootloader_support`, `app_update`, `esp_tee`, `espcoredump`
   - Update example projects

Breaking changes:
- Headers moved to new locations require include path updates
- `custom_flash_driver` example temporarily disabled until external
  components are updated
2026-01-23 03:38:54 +08:00
Aditya Patwardhan eb4a871eca refactor(esp_hal_security): Updated esp_hal_security build and includes 2026-01-21 10:02:44 +05:30
Erhan Kurubas 14c16bee61 feat(coredump): add coredump_noinit attribute 2026-01-11 18:57:37 +03:00
Ashish Sharma 457e7df33e feat: migrates esp_coredump to PSA APIs 2025-12-30 09:31:49 +05:30
Erhan Kurubas 267ebaf902 fix(espcoredump): support ESP32P4 ECO5 unified memory layout 2025-12-09 18:03:33 +01:00
Song Ruo Jing 1862fdec74 refactor(gpio): split GPIO HAL into separate component
cleaned up some includes in GPIO peripheral files
2025-11-26 15:35:07 +08:00
Erhan Kurubas 083999290e fix(espcoredump): prevent double exception during int_wdt panic with custom stack 2025-11-20 11:14:42 +01:00
Alexey Lapshin 2d12315b62 fix(tools): clean gdbinit files generation 2025-09-17 16:58:02 +08:00
Alexey Lapshin 612b5f88db fix(tools): apply pre-commit hook changes 2025-09-17 16:58:02 +08:00
Sudeep Mohanty bb0f072c7a refactor(freertos): Make task snapshot debug API public
This commit makes the task snapshot related API public under the header
freertos_debug.h.
2025-09-15 16:13:29 +02:00
Erhan Kurubas 0d97c63885 change(coredump): make conditional build in cmake based on config options 2025-09-10 05:23:20 +08:00
Marek Fiala 9d35d63651 feat(cmake): Update minimum cmake version to 3.22 (whole repository) 2025-08-19 14:44:32 +02:00
Erhan Kurubas 55c60e1c34 fix(coredump): implement CONFIG_ESP_COREDUMP_MAX_TASKS_NUM limitation
Closes https://github.com/espressif/esp-idf/issues/14407
2025-08-07 17:17:01 +03:00
Erhan Kurubas 50ab1bff4b fix(coredump): do not build sources when coredump is not enabled 2025-08-07 17:13:44 +03:00
Erhan Kurubas a877a070cb change(coredump): return ESP_ERR_NOT_FOUND for blank partition
Closes https://github.com/espressif/esp-idf/issues/15153
2025-07-29 22:31:40 +03:00
Erhan Kurubas fb53d6e719 change(coredump): drop binary format and crc checksum 2025-07-29 22:31:40 +03:00
Nebojsa Cvetkovic d0ceef20f4 refactor(xtensa): Rename specreg.h register macros
This commit renames all registers in xtensa/specreg.h to by adding the
prefix XT_REG_. This is done to avoid naming collisions with similar
variable names. A new register file, viz., xt_specreg.h is created. The
previous names are still available to use but have been deprecated.

Closes https://github.com/espressif/esp-idf/issues/12723
Merges https://github.com/espressif/esp-idf/pull/16040
2025-06-17 15:37:33 +02:00
Erhan Kurubas 86bffdf23b fix(coredump): make sure consistency with uart data and calculated checksum
Closes https://github.com/espressif/esp-idf-monitor/issues/23
2025-03-26 10:00:12 +01:00
igor.udot daf2d31008 test: format all test scripts 2025-03-05 12:08:48 +08:00
Erhan Kurubas 287e55a1c6 fix(coredump): disable uart txd pullup using gpio hal 2025-02-05 22:32:19 +08:00
Erhan Kurubas e58763c777 fix(coredump): fix note section alignments 2025-02-05 22:32:19 +08:00
Erhan Kurubas 81a5f7dc80 fix(coredump): only clear high bit in PC when set 2025-02-05 22:32:19 +08:00
Marek Fiala 2c814ef2fa feat(tools): Enforce utf-8 encoding with open() function 2024-12-27 17:12:21 +08:00
Erhan Kurubas 1456fec98c change(coredump): include coredump own stack into coredump file 2024-12-18 10:19:39 +03:00
Erhan Kurubas 7da66fb098 change(coredump): make sure consistency with written data and calculated checksum 2024-12-18 10:19:39 +03:00
Erhan Kurubas dc3c5956b1 fix(espcoredump): fix incorrect pointer usage in checksum update call 2024-12-04 18:43:30 +08:00
Alexey Lapshin 10115792ac fix(espcoredump): fix GCC-14 analyzer warnings for coredump 2024-12-04 18:43:30 +08:00
Ivan Grokhotkov 68e9bcbf1e fix(build): clean up dependencies on driver component 2024-11-07 13:09:23 +01:00
morris aebf700919 refactor(freertos): rename SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY and move to freertos 2024-10-09 13:32:03 +08:00
Erhan Kurubas 2d7807f839 fix(esp-coredump): fix build error when mbedtls hardware sha disabled 2024-09-26 10:32:11 +02:00
Erhan Kurubas 23bc6eac43 test(coredump): enable esp32c5 coredump tests 2024-08-30 13:17:44 +03:00
Erhan Kurubas ee01c2c524 fix(coredump): fix array out of the bounds error
Closes https://github.com/espressif/esp-idf/issues/14117
2024-07-04 14:44:19 +02:00
Marius Vikhammer 2eb4cd3d84 docs(c61): add docs build for C61 2024-06-03 10:24:27 +08:00
Erhan Kurubas 002faf3b0a ci(panic): extend extram_stack tests 2024-05-27 14:51:30 +02:00
Erhan Kurubas 1dd4b95349 fix(coredump): properly save task's stack when stack is located in PSRAM 2024-05-27 13:55:14 +02:00
harshal.patil 3eb6487bb5 fix(bootloader_support): Make esp_flash_encrypt.h independent of spi_flash_mmap.h header 2024-05-13 16:54:45 +05:30
gaoxu 1138d7d56a feat(gpio): update c5 mp gpio docs 2024-05-13 16:19:28 +08:00
morris 6a57c26469 Merge branch 'feature/esp32c5_mp_gpio_support' into 'master'
esp32c5 mp gpio support

Closes IDF-9649

See merge request espressif/esp-idf!30474
2024-05-11 22:50:23 +08:00
gaoxu 6e4b50511e feat(coredump): replace fun sel function 2024-05-11 10:51:16 +08:00
Erhan Kurubas 8e524d708c fix(coredump): fix buffer overflow inside esp_core_dump_get_summary
Closes https://github.com/espressif/esp-idf/issues/13754
2024-05-07 06:49:28 +02:00
Erhan Kurubas 551d91ea8a ci(coredump): fix capture dram tests 2024-05-06 15:43:43 +02:00
Erhan Kurubas 60a99a9f97 fix(coredump): don't allow mapping of non-encrypted coredump partition 2024-05-06 15:39:12 +02:00