Commit Graph
100 Commits
Author SHA1 Message Date
Omar Chebib 8dfcafa1b2 Merge branch 'feat/intr_alloc_force_intrno' into 'master'
feat(esp_hw_support): add the possibility to allocate two sources to the same interrupt line

Closes IDF-9552

See merge request espressif/esp-idf!35473
2025-01-20 09:43:00 +08:00
Omar Chebib cf278e8060 docs(esp_hw_support): add Chinese translation for the shared interrupts documentation 2025-01-15 13:13:34 +08:00
Omar Chebib 16b8a2ea3b feat(esp_hw_support): two interrupts sources can now be mapped to the same interrupt line 2025-01-15 13:13:24 +08:00
Omar Chebib f3af70530e fix(esp_hw_support): fix a bug in the interrupt allocator related to shared interrupts
On RISC-V targets, when allocating a shared interrupt, the provided level would
override the current level of the allocated interrupt. As such, a medium level
interrupt could become a low level one and vice versa.
2025-01-15 12:03:18 +08:00
Omar Chebib e546ce3f15 fix(esp_hw_support): fix the interrupt allocator test app's CMakeLists.txt 2025-01-15 12:03:18 +08:00
Omar Chebib 52b558d218 Merge branch 'feature/enable_fp_backtracing' into 'master'
feat(riscv): implement frame pointer option for backtracing

See merge request espressif/esp-idf!32342
2025-01-13 18:11:49 +08:00
Omar Chebib d6cd339e46 fix: take into account MR comments 2025-01-09 11:57:02 +08:00
Omar Chebib ead2c8655e feat(esp_system): TaskWDT can now use frame pointer to print the backtrace 2025-01-09 11:57:02 +08:00
Omar Chebib 1e0cdcbd13 feat(heap): enable heap tracing for the RISC-V targets
When the frame pointer is enabled, it is possible for RISC-V targets to now
possible to enable and generate heap call traces.
2025-01-09 11:57:02 +08:00
Omar Chebib 980cf269c7 feat(riscv): implement frame pointer option for backtracing 2025-01-09 11:57:02 +08:00
Omar Chebib 776049660a Merge branch 'bugfix/esp32p4_linker_script' into 'master'
fix(esp_system): add missing `array` attribute in the ESP32-P4 linker script

Closes IDF-11936

See merge request espressif/esp-idf!36067
2024-12-31 16:19:13 +08:00
Omar Chebib 414c7056a2 fix(esp_system): add missing aaray attribute in the ESP32-P4 linker script 2024-12-30 18:36:58 +08:00
Omar Chebib 55955a5cd6 Merge branch 'feat/bootloader_multiboot' into 'master'
feat(bootloader): add an example that implements multiboot

Closes IDF-9409

See merge request espressif/esp-idf!35606
2024-12-26 16:26:26 +08:00
Omar Chebib 6540208f5a Merge branch 'fix/panic_arch_size' into 'master'
fix(esp_system): fix cache error size message

Closes IDF-11769

See merge request espressif/esp-idf!35112
2024-12-26 14:58:22 +08:00
Omar Chebib 4c8056882b fix(esp_system): fix cache error size message 2024-12-26 10:45:42 +08:00
Omar Chebib 840eef31ce feat(bootloader): add an example that implements multiboot
Add a new example for the bootloader that shows how to override it to implement multiboot.
2024-12-25 12:41:15 +08:00
Omar Chebib 28f1b18675 fix(bootloader): add a new property that contains the default linker scripts 2024-12-25 12:41:15 +08:00
Omar Chebib ff12ccfd10 Merge branch 'fix/ulp_riscv_interrupt_bug' into 'master'
fix(ulp): fix ULP RISC-V interrupt handler corrupting the stack

Closes IDFGH-14126

See merge request espressif/esp-idf!35154
2024-11-26 15:40:38 +08:00
Omar Chebib 46959b28d3 fix(ulp): fix ULP RISC-V interrupt handler corrupting the stack
* Closes https://github.com/espressif/esp-idf/issues/14930
2024-11-25 12:16:53 +08:00
Omar Chebib d5f244c5f7 Merge branch 'feat/psram_qemu_16_32_mb_qpi' into 'master'
feat(esp_psram): add support for QEMU 16MB and 32MB QPI PSRAM

See merge request espressif/esp-idf!34832
2024-11-14 12:04:22 +08:00
Omar Chebib fe93c990e6 feat(esp_psram): add support for QEMU 16MB and 32MB QPI PSRAM 2024-11-14 10:24:43 +08:00
Omar Chebib 3ec05583b2 Merge branch 'contrib/github_pr_14771' into 'master'
fix(example/system/console): Add 'info' to log_level command description (GitHub PR)

Closes IDFGH-13933

See merge request espressif/esp-idf!34413
2024-11-11 10:56:56 +08:00
Omar Chebib 50ac90b489 Merge branch 'fix/nmi_not_triggering_on_s3' into 'master'
fix(examples): fix NMI interrupt example to work on ESP32-S3

Closes IDFCI-2475

See merge request espressif/esp-idf!34267
2024-11-06 10:09:57 +08:00
Omar Chebib 569222488e Merge branch 'feature/bootloader_extra_dir' into 'master'
feat(bootloader): add the possibility to specify extra components directories

See merge request espressif/esp-idf!33433
2024-11-01 16:58:01 +08:00
Omar Chebib 729c55b790 docs: changed bootloader extra component to a property in build-system.rst 2024-11-01 13:52:01 +08:00
Omar Chebib e33bcaa6d3 feat(bootloader): use idf property to specify extra components directories 2024-11-01 13:52:01 +08:00
Omar Chebib 775c65a6b7 feat(bootloader): add the possibility to specify extra components directories 2024-11-01 13:52:01 +08:00
Omar Chebib f6d154e761 fix(examples): fix NMI interrupt example to work on ESP32-S3 2024-11-01 10:17:09 +08:00
Omar Chebib 66f6364bb1 Merge branch 'staging/esp32c61_bootloader_support' into 'master'
fix(bootloader_support): remove temporary notice in build test rule for ESP32-C61

Closes IDF-9260

See merge request espressif/esp-idf!33781
2024-10-31 17:38:58 +08:00
Omar Chebib 908e1e670a test(bootloader_support): enable analog super wdt reset for the ESP32-C61 2024-10-31 10:11:44 +08:00
Omar Chebib 4e4b6c1680 Merge branch 'fix/esp_hiram_heap' into 'master'
fix(esp_psram): fix a bug in PSRAM heap registration

Closes IDF-11288

See merge request espressif/esp-idf!33923
2024-10-21 10:01:05 +08:00
Omar Chebib d327186ddd fix(esp_psram): fix a bug in PSRAM heap registration
This commit fixes a bug in the PSRAM heap initialization that didn't take into
account the reserved himem area when registering the PSRAM virtual space as a heap.
2024-10-15 11:55:28 +08:00
Omar Chebib 72f83c3441 Merge branch 'staging/esp32c61_reset_reason' into 'master'
fix(soc): add missing reset reasons for the ESP32-C61

Closes IDF-9267

See merge request espressif/esp-idf!33736
2024-09-26 10:57:21 +08:00
Omar Chebib 22436dae10 fix(soc): add missing reset reasons for the ESP32-C61 2024-09-24 13:25:21 +08:00
Omar Chebib bc0b04d779 Merge branch 'staging/enabling_panic_test_esp32c61' into 'master'
test(panic): enable tests for esp32c61

Closes IDF-10994

See merge request espressif/esp-idf!33277
2024-09-10 11:37:38 +08:00
Omar Chebib d025ff4073 test(panic): enable tests for esp32c61 2024-09-05 14:50:58 +08:00
Omar Chebib c68c404cdc Merge branch 'fix/xtensa_nmi' into 'master'
fix(esp_hw_support): make the NMI interrupts available for the main application

Closes IDF-1891 and IDFGH-12631

See merge request espressif/esp-idf!32767
2024-09-02 11:18:32 +08:00
Omar Chebib 1157a27964 Merge branch 'bugfix/intr_alloc_rom_handler' into 'master'
fix(esp_hw_support): allow allocating interrupts with handlers in ROM with IRAM attribute

Closes IDF-7971

See merge request espressif/esp-idf!32561
2024-08-30 10:50:49 +08:00
Omar Chebib 18d545708a fix(esp_hw_support): allow allocating interrupts with handlers in ROM with IRAM attribute
The interrupt allocator now allows allocating an interrupt with a handler in ROM
and flags set to ESP_INTR_FLAG_IRAM
2024-08-29 14:21:43 +08:00
Omar Chebib 928859307f fix(esp_hw_support): make the NMI interrupts available for the main application
Closes https://github.com/espressif/esp-idf/issues/13629

NMI interrupt level has been freed for all the Xtensa targets, making it possible
for the main application to use it. An example has been added to show how to
proceed.
2024-08-29 13:55:47 +08:00
Omar Chebib 6f968394bd Merge branch 'bugfix/ldgen_file_single_entry' into 'master'
fix(ldgen): fix linker script generation from a single-entry fragment file

See merge request espressif/esp-idf!33033
2024-08-27 10:10:30 +08:00
Omar Chebib a8bb279dff fix(ldgen): fix linker script generation from a single-entry fragment file 2024-08-23 17:25:19 +08:00
Omar Chebib 305fabf2cf Merge branch 'bugfix/c5_mintstatus_value' into 'master'
fix(riscv): fix a bug that affected mintstatus CSR value in the CLIC

See merge request espressif/esp-idf!32176
2024-07-26 15:35:03 +08:00
Omar Chebib f06b235709 fix(riscv): fix a that affected mintstatus CSR value in the CLIC 2024-07-26 13:56:40 +08:00
Omar Chebib 6b10f1e952 Merge branch 'docs/explain_i2c_transmit_receive' into 'master'
docs: add explanation for I2C transmist-receive operation

Closes IDFGH-13002

See merge request espressif/esp-idf!31509
2024-06-21 15:38:57 +08:00
Omar Chebib 6a542c1fa0 docs: add explanation for I2C transmist-receive operation
* Closes https://github.com/espressif/esp-idf/issues/13952
2024-06-20 11:02:52 +08:00
Omar Chebib cd7c5a8bf5 Merge branch 'feat/ai_coproc_support_esp32p4' into 'master'
feat(riscv): add support for PIE coprocessor and HWLP feature

Closes IDF-9733 and IDF-9734

See merge request espressif/esp-idf!30576
2024-05-22 12:04:38 +08:00
Omar Chebib 82668dd3fe fix(riscv): make HWLP feature use direct saving of lazy saving 2024-05-21 17:27:46 +08:00
Omar Chebib 55acc5e5e7 feat(riscv): add support for PIE coprocessor and HWLP feature
FreeRTOS tasks may now freely use the PIE coprocessor and HWLP feature.
Just like the FPU, usiing these coprocessors result in the task being pinned
to the core it is currently running on.
2024-05-20 10:47:58 +08:00
Omar Chebib faf0ea8702 Merge branch 'fix/interrupt_source_c5_beta3' into 'master'
fix(esp32c5): fix interrupt sources number for the Beta3 version

See merge request espressif/esp-idf!30271
2024-04-17 10:11:15 +08:00
Omar Chebib f39b3099f6 fix(esp32c5): fix interrupt sources number for the Beta3 version 2024-04-16 18:17:00 +08:00
Omar Chebib 007a626049 Merge branch 'fix/esp32c5_interrupt_support' into 'master'
fix(esp32c5): add CLIC interrupt controller support for the ESP32-C5 (Beta3 & MP)

Closes IDF-8654 and IDF-8655

See merge request espressif/esp-idf!30017
2024-04-16 16:35:49 +08:00
Omar Chebib f6e935e013 fix(esp32c5): add CLIC interrupt controller support for the ESP32-C5 2024-04-16 10:38:14 +08:00
Omar Chebib 91bdbc1708 Merge branch 'fix/esp32p4_l2_cache_configured_from_flash' into 'master'
fix(spi_flash): fix a bug where L2 cache was configured from flash on the ESP32-P4

Closes IDF-9681

See merge request espressif/esp-idf!30189
2024-04-15 16:32:22 +08:00
Omar Chebib 6f888390ab fix(spi_flash): fix a bug where l2 cache was configured from flash 2024-04-15 13:55:38 +08:00
Omar Chebib 1683e9a92c Merge branch 'fix/unused_interrupts' into 'master'
fix(esp_hw_ ‎support): clear reserved interrupts that are unused or not applicable anymore

Closes IDF-7821 and IDF-9428

See merge request espressif/esp-idf!29639
2024-03-28 11:27:20 +08:00
Omar Chebib a79c6f7f67 fix(esp_hw_support): clear reserved interrupts that are not applicable for each target 2024-03-27 16:21:25 +08:00
Omar Chebib 793ca6d7a4 fix(i2c): fix issues related to timeout and alive interval tick
Fixes https://github.com/espressif/esp-idf/issues/4999

Former usage of I2C_CMD_ALIVE_INTERVAL_TICK macro overrode the ticks_to_wait
parameter when the latter was too big
2024-03-14 16:39:10 +08:00
Omar Chebib 67a2d48940 Merge branch 'bugfix/coredump_switch_stack' into 'master'
fix(espcoredump): Reconfigure the stack guard when using custom coredump stack

See merge request espressif/esp-idf!29355
2024-03-08 19:30:42 +08:00
Omar Chebib 9046bf1645 fix(espcoredump): Reconfigure the stack guard when using custom coredump stack 2024-03-08 17:25:42 +08:00
Omar Chebib eeb5e2f080 Merge branch 'refactor/cpu_interrupt_table' into 'master'
refactor(Core System/Interrupts): changed reserved interrupt functions to be now defined per SoC

Closes IDF-5728

See merge request espressif/esp-idf!29020
2024-03-06 11:26:17 +08:00
Omar Chebib c1849df791 refactor(esp_hw_support): changed reserved interrupt functions to be now defined per SoC 2024-02-28 15:21:10 +08:00
Omar Chebib 345bf79b4e Merge branch 'bugfix/esp32p4_remove_fence' into 'master'
fix(riscv): Remove the memory barrier when changing interrupt threshold

Closes IDF-7898

See merge request espressif/esp-idf!29119
2024-02-21 10:49:18 +08:00
Omar Chebib 2217854092 fix(riscv): Remove the memory barrier when changing interrupt threshold 2024-02-20 12:19:08 +08:00
Omar Chebib 6d045937d3 Merge branch 'feat/ulp_add_cycle_function' into 'master'
feat(lp_core): add a public function to get the timer cycle count

Closes IDFGH-12036

See merge request espressif/esp-idf!28910
2024-02-12 14:19:17 +08:00
Omar Chebib 5a32ca10ad feat(lp_core): add a public function to get the timer cycle count
Closes https://github.com/espressif/esp-idf/issues/13101
2024-02-09 16:50:02 +08:00
Omar Chebib 75eb489105 fix(bootloader): add legacy retained memory CRC calculation
* Closes https://github.com/espressif/esp-idf/issues/12849

In former versions of ESP-IDF, the user custom memory data in the retained memory
was taken into account during the CRC calculation. This was changed in a later
commit, the custom memory was ignored, therefore this can seen as a breaking change.
This commit gives the possibility to choose between the former (legacy) or
new way of calculating the CRC.
2024-02-09 16:49:56 +08:00
Omar Chebib 0db3268713 Merge branch 'bugfix/soft_uart_send_dummy_byte' into 'master'
fix(Peripheral Drivers/Dedicated GPIO): Remove dummy byte from the emulate_uart_send routine

See merge request espressif/esp-idf!28627
2024-01-24 10:38:12 +08:00
Omar Chebib 8ad898c8ab fix(peripheral_drivers/dedicated_gpio): Remove dummy byte from the emulate_uart_send routine
Let the user application decide for when to send the dummy byte instead of
hardcoding it from the assembly routine.
2024-01-23 15:59:13 +08:00
Omar Chebib cdde05335e Merge branch 'refactor/riscv_interrupt' into 'master'
refactor(riscv): Refactor crosscore interrupts and core interrupt code

Closes IDF-5720, DOC-5177, and IDF-7899

See merge request espressif/esp-idf!27845
2024-01-19 10:51:04 +08:00
Omar Chebib 0d9d004d00 Merge branch 'doc/esp32p4_intr_alloc' into 'master'
docs(soc): add a few details in the `intr_alloc` documentation for the ESP32-P4

Closes IDF-8781

See merge request espressif/esp-idf!28249
2024-01-19 10:50:42 +08:00
Omar Chebib 71e7f175ff Merge branch 'bugfix/stack_watermark_fpu_esp32p4' into 'master'
fix(riscv): adjust TCBs lowest stack address when the FPU is used

Closes IDF-8995 and IDF-8423

See merge request espressif/esp-idf!28429
2024-01-19 10:04:29 +08:00
Omar Chebib 102d5bbf72 refactor(riscv): added a new API for the interrupts 2024-01-18 16:36:53 +08:00
Omar Chebib 5cdf145f55 refactor(riscv): refactor crosscore interrupt 2024-01-18 16:27:36 +08:00
Omar Chebib c7e63078b7 fix(riscv): adjust TCBs lowest stack address when the FPU is used 2024-01-18 13:06:29 +08:00
Omar Chebib 9a6791b79d docs(soc): add a few details in the intr_alloc documentation for the ESP32-P4 2024-01-04 11:21:56 +08:00
Omar Chebib 227c5d2cb7 Merge branch 'bugfix/freertos_task_noaffinity_print' into 'master'
fix(freertos): display tasks with no affinity as -1 during tracing

Closes IDFGH-11759

See merge request espressif/esp-idf!28073
2023-12-26 10:11:31 +08:00
Omar Chebib 1472343439 fix(freertos): display tasks with no affinity as -1 during tracing
Closes https://github.com/espressif/esp-idf/issues/12858
2023-12-22 12:11:30 +08:00
Omar Chebib f27d65c7bc Merge branch 'contrib/github_pr_12852' into 'master'
cmake: correct the parameter annotation of idf_build_set_property (GitHub PR)

Closes IDFGH-11752

See merge request espressif/esp-idf!28067
2023-12-22 10:41:24 +08:00
Omar Chebib dc8fdae31b docs(freertos): revert usage of hidden option CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE when :ref: is used 2023-11-30 16:33:28 +08:00
Omar Chebib ca1a0bdc59 Merge branch 'bugfix/esp32p4_fpu_check' into 'master'
fix(riscv): fix a bug in FPU exception handling

See merge request espressif/esp-idf!27045
2023-11-15 17:19:55 +08:00
Omar Chebib e56f5b15cc fix(riscv): fix a bug in FPU exception handling
On the ESP32-P4, it is possible to have an exception because of an FPU instruction
while EXT_ILL CSR is not zero and its FPU bit is not set.
2023-11-14 06:55:08 +00:00
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 342535f47c Merge branch 'contrib/github_pr_12105' into 'master'
feat(espcoredump): Support for not overwriting existing core dump in flash (GitHub PR)

Closes IDFGH-10907

See merge request espressif/esp-idf!26865
2023-11-03 10:51:39 +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
Omar Chebib 51434a8367 Merge branch 'feature/esp32p4_fpu_support' into 'master'
feat(riscv): implement FPU support for RISC-V targets

Closes IDF-7770

See merge request espressif/esp-idf!25871
2023-10-23 16:50:36 +08:00
Omar Chebib a8b1475fe7 feat(riscv): implement coprocessors save area and FPU support
This commit mainly targets the ESP32-P4. It adds supports for coprocessors on
RISC-V based targets. The coprocessor save area, describing the used coprocessors
is stored at the end of the stack of each task (highest address) whereas each
coprocessor save area is allocated at the beginning of the task (lowest address).
The context of each coprocessor is saved lazily, by the task that want to use it.
2023-10-23 11:10:28 +08:00
Omar Chebib d3afca3020 Merge branch 'fix/esp32p4_supports_interrupts' into 'master'
feat(riscv): Add support to ESP32-P4's CLIC interrupt controller

Closes IDF-7795 and IDF-7793

See merge request espressif/esp-idf!25383
2023-09-01 11:48:39 +08:00
Omar Chebib 8ca191e4c1 fix(esp32p4): Fixed interrupt handling to use the CLIC controller 2023-08-31 12:16:08 +08:00
Omar Chebib 3bf829a157 Merge branch 'feature/esp32c3_opencores_ethernet_support' into 'master'
feat(esp_eth): add opencores ethernet support for ESP32-C3 (QEMU) target

See merge request espressif/esp-idf!25487
2023-08-28 11:16:26 +08:00
Omar Chebib 3e9d2155eb feat(esp_eth): add opencores ethernet support for ESP32-C3 (QEMU) target 2023-08-24 10:32:46 +08:00
Omar Chebib 0368aa5257 Merge branch 'feature/bootloader_ignore_extra_component' into 'master'
bootloader: add the possibility to ignore extra components

Closes IDF-7825

See merge request espressif/esp-idf!24806
2023-08-02 10:28:41 +08:00
Omar Chebib 7b5c0fb96b ci(build_system): add a test case for bootloader override 2023-07-28 15:04:21 +08:00
Omar Chebib c98d1f1619 feat(bootloader): add the possibility to ignore extra components 2023-07-28 15:04:21 +08:00
Omar Chebib d2471b11e7 Merge branch 'bugfix/fpu_registers_overwritten' into 'master'
Xtensa: fix a bug that altered CPU registers in FPU exception handlers

Closes IDFGH-10439

See merge request espressif/esp-idf!24518
2023-07-05 17:28:53 +08:00
Omar Chebib 2aee63a773 freertos: add a unit test for FPU context switch 2023-07-04 02:45:56 +00:00
Omar Chebib b03c8912c7 Xtensa: fix a bug that altered CPU registers in FPU exception handlers
* Fixes https://github.com/espressif/esp-idf/issues/11690
2023-07-04 02:45:56 +00: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
Omar Chebib 74d87aef0c Merge branch 'feature/dedicated_gpios_xtensa' into 'master'
Dedicated GPIO: add software UART implementation for Xtensa targets

See merge request espressif/esp-idf!21918
2023-05-04 12:49:27 +08:00
Omar Chebib 3bc3f87209 Merge branch 'bugfix/i2c_timing_wrong' into 'master'
i2c: fix a bug in sda sample timing

Closes IDFGH-8295

See merge request espressif/esp-idf!23185
2023-04-17 15:00:42 +08:00