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
Omar Chebib
801f934ac9
Dedicated GPIO: add software UART implementation for Xtensa targets
...
The software UART example is now compatible with Xtensa targets that have dedicated GPIOs. In other words, this example is now compatible with ESP32-S2 and ESP32-S3.
2023-04-14 15:31:34 +08:00
Omar Chebib
a0f8434f93
i2c: fix a bug in sda sample timing
...
* Closes https://github.com/espressif/esp-idf/issues/9777
This bug prevented SCL line to work properly after a NACK was received in master mode.
2023-04-13 14:37:44 +08:00
Omar Chebib
2f4c32afac
Apply 1 suggestion(s) to 1 file(s)
2023-03-13 14:47:09 +08:00
Omar Chebib
0fa63be9d1
Merge branch 'bugfix/fix_psram_kconfig_help' into 'master'
...
psram: removed deprecated statement about coredump and external BSS
See merge request espressif/esp-idf!22561
2023-03-08 13:31:53 +08:00
Omar Chebib
9852cb49f7
psram: removed deprecated statement about coredump and external BSS
2023-03-07 05:59:08 +00:00
Omar Chebib
d55060d184
Merge branch 'staging/rename_twdt_config_examples' into 'master'
...
TWDT: Use the new TWDT Kconfig options in the examples and tests
See merge request espressif/esp-idf!20363
2023-02-20 10:42:23 +08:00
Omar Chebib
5e5343d429
TWDT: Use the new TWDT Kconfig options in the examples and tests
2023-02-17 11:22:25 +08:00
Omar Chebib
5eb8defb30
Merge branch 'staging/coredump_extram_support' into 'master'
...
coredump: enable support for stacks in external RAM
Closes IDF-5497 and IDF-2391
See merge request espressif/esp-idf!21067
2022-12-26 17:52:41 +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
Omar Chebib
301cb74890
coredump: custom core dump stack is now supported on Xtensa targets
2022-12-02 12:01:19 +08:00
Omar Chebib
7baa63cbc2
Merge branch 'staging/asm_dedic_gpio_example' into 'master'
...
Dedicated/Fast GPIO: add examples implementing software I2C, UART and SPI on RISC-V targets
Closes IDF-5936
See merge request espressif/esp-idf!20921
2022-11-23 14:19:01 +08:00
Omar Chebib
d965b7fdec
Merge branch 'staging/esp_static_assert' into 'master'
...
C/Cxx: Static assertions are now unified
Closes IDFGH-8479
See merge request espressif/esp-idf!20569
2022-11-22 17:04:02 +08:00
Omar Chebib
623bffaab8
Dedicated GPIO: add examples implementing software I2C, UART and SPI on RISC-V targets.
...
Use dedicated GPIOs in examples to show how to emulate a UART, I2C and SPI bus.
(Using assembly and C)
2022-11-22 14:17:40 +08:00
Omar Chebib
43c03d95a4
CI: check_public_headers script will detect the use of static asserts in headers
...
When a public header contains _Static_assert or static_assert, check_public_headers.py script will detect it and report it as an issue.
Indeed, public headers shall now use ESP_STATIC_ASSERT.
2022-11-21 16:18:13 +08:00
Omar Chebib
cd21058097
C/Cxx: unify static assertions with the macro ESP_STATIC_ASSERT
...
Closes https://github.com/espressif/esp-idf/issues/9938
2022-11-21 16:18:08 +08:00
Omar Chebib
54954518b1
Merge branch 'staging/riscv_wrapper_freertos_tasks' into 'master'
...
RISC-V: Create a wrapper around FreeRTOS Tasks to detect the ones returning
Closes IDF-4662
See merge request espressif/esp-idf!20845
2022-11-21 12:14:34 +08:00
Omar Chebib
6fe563163c
RISC-V: fix PC not saved when using backtrace
2022-11-18 15:07:38 +08:00
Omar Chebib
d580f6b076
RISC-V: Create a wrapper around FreeRTOS Tasks to detect the ones returning
2022-11-18 15:07:32 +08:00
Omar Chebib
69d80b200c
Merge branch 'bugfix/xtensa_freertos_16B_aligned' into 'master'
...
FreeRTOS: Make the default stack alignment 16 for Xtensa
Closes IDF-3604
See merge request espressif/esp-idf!21040
2022-11-14 10:53:10 +08:00
Omar Chebib
bcb8516744
FreeRTOS: Make the default stack alignment 16 for Xtensa
2022-11-11 19:31:20 +08:00
Omar Chebib
65ecbb1b9b
Merge branch 'contrib/github_pr_10027' into 'master'
...
[Panic] also print to secondary USB Serial/JTAG Console (GitHub PR)
Closes IDFGH-8578
See merge request espressif/esp-idf!20827
2022-10-28 12:04:36 +08:00
Omar Chebib
009d15e59d
Merge branch 'staging/esp_timer_restart' into 'master'
...
esp_timer: add a function to restart timers
See merge request espressif/esp-idf!20386
2022-10-26 16:37:33 +08:00
Omar Chebib
8e9b1e8a7a
Merge branch 'bugfix/bt_bss_wrong_address' into 'master'
...
Bluetooth: fix BSS placement in the linker script generated by ldgen
Closes BT-2883
See merge request espressif/esp-idf!20749
2022-10-25 16:34:30 +08:00
Omar Chebib
950981906b
Bluetooth: fix BSS placement in the linker script generated by ldgen
2022-10-24 16:37:30 +08:00
Omar Chebib
c8614a0dbf
esp_timer: add a function to restart timer
...
Timers, periodic or not, can now be restarted thanks to esp_timer_restart function.
This is done atomically, which can be used to feed a periodic timer, or simply change the period.
2022-10-18 04:42:27 +00:00
Omar Chebib
dd7fde8799
Merge branch 'contrib/github_pr_9095' into 'master'
...
Update uart_events_example_main.c (GitHub PR)
Closes IDFGH-7532
See merge request espressif/esp-idf!18391
2022-09-21 19:51:37 +08:00
Omar Chebib
4f1a9e436e
Merge branch 'feature/add_int_task_wdt_esp32c2' into 'master'
...
WDT: implement interrupt wdt and task wdt for ESP32-C2
Closes IDF-4035, IDF-4205, and IDF-5055
See merge request espressif/esp-idf!18918
2022-09-16 10:43:34 +08:00
Omar Chebib
79598b1db7
Flash: fix flash_suspend example to include worst case
...
flash_suspend example will now test the worst case in order to be able
to detect real regression:
- shorter response time is acceptable, as the tested function may be in the cache already
- response time longer than 120us will be considered a potential regression
2022-09-15 14:37:59 +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
Omar Chebib
6dfac0dd68
example: add an example to show how to wrap functions in IDF and bootloader
...
A section in the documentation has also been added to talk about the wrap feature of the linker.
2022-09-09 16:47:16 +08:00
Omar Chebib
3ffa2ad39c
Merge branch 'feature/bootloader_date_log' into 'master'
...
Bootloader: print date and time to the banner on boot
Closes IDFGH-8229
See merge request espressif/esp-idf!20002
2022-09-08 22:39:18 +08:00
Omar Chebib
3a429b8b7a
Bootloader: print date and time to the banner on boot
...
* Closes https://github.com/espressif/esp-idf/issues/9718
2022-09-08 06:08:49 +00:00
Omar Chebib
779d880580
Merge branch 'bugfix/rtc_retain_mem_always_erased' into 'master'
...
Bootloader: retained memory can now be kept after reboot when custom data enabled
See merge request espressif/esp-idf!19809
2022-09-01 16:42:54 +08:00
Omar Chebib
0b5ab940ae
TLSF: fix the patch for tlsf_check function in ROM
...
tlsf_check in the patch was not called because the the TLSF functions
table in ROM was still pointing to the ROM implementation.
2022-08-31 13:30:10 +08:00
Omar Chebib
26c4550e6d
Bootloader: retained memory can now be kept after reboot when custom data enabled
...
User's custom data are not taken into account during the CRC calculation anymore.
Which means taht the retained mem structure is not systematically erased
on each reboot anymore.
2022-08-31 03:23:30 +00:00
Omar Chebib
239ca6a02c
Merge branch 'bugfix/fix_typo_get-started' into 'master'
...
docs: fix typo in get-started chapter
See merge request espressif/esp-idf!19762
2022-08-29 22:04:44 +08:00
Omar Chebib
2f8c76abf2
Merge branch 'bugfix/rename_configs_not_set' into 'master'
...
Confgen: KConfig options not set in sdkconfig.defaults files can now be renamed
See merge request espressif/esp-idf!19751
2022-08-26 16:33:27 +08:00
Omar Chebib
0030e46a96
Confgen: KConfig options not set in sdkconfig.defaults files can now be renamed
2022-08-26 03:36:28 +00:00
Omar Chebib
6f3c6dcd86
Merge branch 'bugfix/i2c_port_unsigned' into 'master'
...
I2C: i2c_port_t type is now an enumeration
Closes IDFGH-7433
See merge request espressif/esp-idf!18230
2022-08-25 17:25:51 +08:00
Omar Chebib
f6ac350337
I2C: i2c_port_t type is now an enumeration
...
* Closes https://github.com/espressif/esp-idf/issues/9009
2022-08-24 10:51:09 +08:00
Omar Chebib
49613ab832
Build: add hints for the breaking changes of esp_system related components
2022-08-11 11:35:04 +08:00
Omar Chebib
d622bcfd46
Merge branch 'contrib/github_pr_9517' into 'master'
...
fix malloc(0) and heap_caps_alloc_failed() (GitHub PR)
Closes IDFGH-8007
See merge request espressif/esp-idf!19421
2022-08-09 15:49:27 +08:00
Omar Chebib
c6ddf7288c
heap: add a unit test for malloc(0) and slightly optimize heap_caps_malloc_prefer
2022-08-09 10:30:36 +08:00
Omar Chebib
790aa40c38
Merge branch 'contrib/github_pr_7144' into 'master'
...
Update i2c.c to consider two I2C buses for clear bus counter (GitHub PR)
Closes IDFGH-5398
See merge request espressif/esp-idf!19093
2022-08-09 10:26:25 +08:00
Omar Chebib
75ede16b38
I2C: Fix the reset counter
2022-08-08 11:05:11 +08:00
Omar Chebib
b2eb0e16d4
Merge branch 'bugfix/TWDT_link_interruptee_stack' into 'master'
...
Task WDT: Interuptee task stack is now used for backtracing
Closes IDF-4976
See merge request espressif/esp-idf!19026
2022-08-03 18:23:28 +08:00
Omar Chebib
2f7bae7a6e
Task WDT: add a panic test case for to test panic on both CPU cores
2022-08-02 12:41:14 +08: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
Omar Chebib
fde4afc67a
Merge branch 'bugfix/queue_use_vtasksettimeoutstate' into 'master'
...
FreeRTOS: Modifying a timeout is now protected on multi-core configuration
Closes IDF-3808
See merge request espressif/esp-idf!19259
2022-07-29 15:33:01 +08:00
Omar Chebib
692891e773
FreeRTOS: Modifying a timeout is now protected on multi-core configuration
2022-07-29 11:56:06 +08:00
Omar Chebib
4e7ba0f8bd
CI: Fix the test "smallest partition is nearly full"
...
This test will not fail anymore if the binary size is bigger than 170K.
2022-07-21 15:49:20 +08:00
Omar Chebib
e5c83211a7
Merge branch 'bugfix/interrupt_stack_bss' into 'master'
...
System: move interrupt stack to .bss instead of .data section
Closes IDFGH-7635
See merge request espressif/esp-idf!18697
2022-07-12 13:44:07 +08:00
Omar Chebib
bac62cfac8
System: move interrupt stack to .bss instead of .data section
...
The interrupt stack for Xtensa targets is now declared in C, automatically moving it to .bss section instead of .data section.
* Closes https://github.com/espressif/esp-idf/issues/9188
2022-07-11 17:49:21 +08:00
Omar Chebib
f5c3c533bb
Merge branch 'bugifx/heap_prefer_call_failed_callback' into 'master'
...
Heap: heap_caps_*_prefer functions now properly call alloc_failed callback
Closes IDFGH-7521
See merge request espressif/esp-idf!18427
2022-07-11 11:57:05 +08:00
Omar Chebib
c017f006cd
Merge branch 'contrib/github_pr_9255' into 'master'
...
Fix datatype conversion compiler error #9254 (GitHub PR)
Closes IDFGH-7713
See merge request espressif/esp-idf!18872
2022-07-06 10:37:30 +08:00
Omar Chebib
a0ca353cda
Heap: heap_caps_*_prefer functions now properly call alloc_failed callback
...
heap_caps_*_prefer functions will now only call heaps_caps_alloc_failed
callback if all attempts to allocation memory fail (and not after each attempt
anymore).
* Closes https://github.com/espressif/esp-idf/issues/9086
2022-07-05 05:57:04 +00:00
Omar Chebib
fca7be2ddb
Merge branch 'bugfix/fix_disassembler_interpreting_padding' into 'master'
...
(Xtensa) Build: add .xt.prop to the compiled ELF file
See merge request espressif/esp-idf!17268
2022-07-05 13:48:42 +08:00
Omar Chebib
3c9856bdd1
(Xtensa) Build: add .xt.prop and .xt.lit to the compiled ELF file
...
Adding prop and lit sections to the ELF will let the debugger and the disassembler
have more info about data bytes present in the middle of the Xtensa
instructions, usually used for padding.
2022-07-05 04:39:29 +00:00
Omar Chebib
cfeaa50b53
Merge branch 'bugfix/esp32c2_missing_eh_frame_sections' into 'master'
...
espsystem: add missing eh_frame sections on esp32c2
See merge request espressif/esp-idf!18629
2022-07-04 17:13:40 +08:00
Omar Chebib
7e42038c86
Merge branch 'refactor/move_regi2c_headers' into 'master'
...
Refactor: move regi2c_*.h header files from esp_hw_support to soc component
See merge request espressif/esp-idf!18676
2022-07-04 11:32:30 +08:00
Omar Chebib
cd48baf979
Refactor: move regi2c_*.h header files from esp_hw_support to soc component
...
When creating G0 layer, some regi2c_*.h headers were moved out from
esp_hw_support (G1) to soc (G0). In order to be consistent with that change,
move all the remaining regi2c_*.h headers to soc too.
2022-06-30 09:40:44 +00:00
Omar Chebib
3c1b8cd75a
ci: add a test for .eh_frame(_hdr) section for RISC-V targets
2022-06-30 02:51:37 +00:00
Omar Chebib
fa9856c815
espsystem: add missing eh_frame sections on esp32c2
2022-06-30 02:51:37 +00:00
Omar Chebib
8fae0f0753
G0: Support Xtensa targets for G0-only compilation
...
G0-only example now supports Xtensa targets. This means that G0 layer
does not depend on G1+ layers anymore
2022-06-20 11:34:20 +00:00
Omar Chebib
741b62d618
Build: Xtensa assembly files are now assembled with -mlongcalls option
2022-06-20 13:56:49 +08:00
Omar Chebib
752026a174
Merge branch 'refactor/remove_g0_dep_on_g1_riscv' into 'master'
...
G0: RISC-V targets have now an independent G0 layer
See merge request espressif/esp-idf!17926
2022-06-16 11:53:39 +08:00
Omar Chebib
6783f52045
CI: examples generating an ELF file only can now pass CI
2022-06-14 15:00:53 +08:00
Omar Chebib
2fd784c97a
G0 RISC-V: Remove "private_include/regi2c_brownout.h" header as it has been moved and simplify "regi2c_ctrl.h"
2022-06-14 15:00:53 +08:00
Omar Chebib
33ac70a3ed
G0: add a build example to check G0 dependencies
2022-06-14 15:00:53 +08:00
Omar Chebib
5bcd9b2db8
G0: RISC-V targets have now an independent G0 layer
...
G0 doesn't depend on any G1+ layer for RISC-V based targets
2022-06-14 15:00:53 +08:00
Omar Chebib
2d84985baa
Merge branch 'bugfix/i2c_notify_task_in_ISR' into 'master'
...
I2C: Fix a bug making the I2C task wait too long on an event
Closes IDFGH-7169
See merge request espressif/esp-idf!18027
2022-05-23 12:29:22 +08:00
Omar Chebib
872a4311f2
I2C: Fix a bug making the I2C task wait too long on an event
...
The I2C ISR will now notify the task waiting on an event. Thus, the task can stop waiting on the event queue as soon as possible.
2022-05-23 02:02:00 +00:00
Omar Chebib
68ddce7c0b
Merge branch 'bugfix/esp32_i2c_incorrect_speed' into 'master'
...
I2C: Fix SCL period timings on ESP targets
See merge request espressif/esp-idf!17999
2022-05-20 13:33:03 +08:00
Omar Chebib
477bc9e64c
I2C: Fix SCL period timings on ESP targets
...
The output frequency is now more accurate as the SCL period timings have been fixed.
This fix applies for ESP32, ESP32S3, ESP32C3, ESP32C2 and ESP32H2
2022-05-18 05:36:08 +00:00
Omar Chebib
36e7adabac
Merge branch 'bugfix/i2c_too_short_panics_master' into 'master'
...
I2C: Read transactions, without a STOP, won't panic anymore
Closes IDFGH-6928
See merge request espressif/esp-idf!17455
2022-04-27 12:40:57 +08:00