Commit Graph

1309 Commits

Author SHA1 Message Date
Sudeep Mohanty
cf12478049 refactor(freertos): Deprecate xPortGetTickRateHz()
This commit deprecates xPortGetTickRateHz() from the FreeRTOS port API
as the FreeRTOS tickrate is constant for an application and can be
inferred using the CONFIG_FREERTOS_HZ config option.
2025-09-22 09:23:07 +02:00
Sudeep Mohanty
141e62806c feat(freertos-smp): Enabled FreeRTOS Runtime stats gathering for Amazon SMP Kernel 2025-09-22 09:23:07 +02:00
Sudeep Mohanty
9a4341bb87 refactor(freertos): Moved FreeRTOS Run Time Stats gathering to port.c
This commit creates a new port layer API xPortGetRunTimeCounterValue()
in port.c files. This helps to remove inclusion of header files such as
esp_timer.h and xtensa/hal.h from portmacro.h
2025-09-22 09:23:01 +02:00
Sudeep Mohanty
75619d8ef5 Merge branch 'task/remove_vportcleanuptcb_support' into 'master'
remove(freertos): Remove legacy vPortCleanUpTCB user hook

Closes IDF-8097

See merge request espressif/esp-idf!41867
2025-09-19 10:03:07 +02:00
Konstantin Kondrashov
b7da740f12 Merge branch 'feature/log_v2_optimization' into 'master'
feat(log): Optimize idf components for binary logging

Closes IDF-12775

See merge request espressif/esp-idf!40289
2025-09-19 14:45:43 +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
Konstantin Kondrashov
dcf486359e feat(log): Optimize log tag init for bin logging 2025-09-15 15:59:52 +03:00
Sudeep Mohanty
c76cc9a24d remove(freertos): Remove legacy vPortCleanUpTCB user hook
This commit removes support for the vPortCleanUpTCB() user hook as well
as drops support for associated Kconfig option,
CONFIG_FREERTOS_STATIC_TASK_CLEAN_UP.
2025-09-11 16:05:11 +02:00
Marius Vikhammer
926817e872 docs(freertos): fixed stack watermark documentation bytes vs words issue
Upstream freertos reports stack sizes in words, while IDF-kernel uses bytes.
2025-09-10 08:50:16 +08:00
Alexey Lapshin
b25cb2906c fix(freertos): fix xesppie registers save/restore 2025-08-25 11:58:21 +07:00
Marek Fiala
9d35d63651 feat(cmake): Update minimum cmake version to 3.22 (whole repository) 2025-08-19 14:44:32 +02:00
Sudeep Mohanty
11b80a7f11 Merge branch 'feat/freertos_in_flash_by_default' into 'master'
feat(freertos): Place FreeRTOS in flash by default

Closes IDF-12695

See merge request espressif/esp-idf!40579
2025-08-15 02:18:57 +02:00
Sudeep Mohanty
3ef41363cf Merge branch 'task/remove_freertos_compatibility' into 'master'
remove(freertos): Removed freertos_compatibility.c

Closes IDF-3851 and IDF-8144

See merge request espressif/esp-idf!40652
2025-08-11 10:25:33 +02:00
Omar Chebib
4f4083ecda Merge branch 'feature/dsp_coprocessor_support' into 'master'
feat(riscv): add support for the DSP coprocessor

Closes IDF-13087 and LLVM-369

See merge request espressif/esp-idf!40866
2025-08-08 11:06:22 +08:00
Sudeep Mohanty
26c19928a9 feat(freertos): Place FreeRTOS in flash by default
The following updates have been made in this commit:
- The commit places FreeRTOS code in flash memory by default.
- CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH has been removed.
- CONFIG_FREERTOS_IN_IRAM is unhidden and can be used to restore the
  previous memory placement.
- A test has been added for users to conduct performance impact testing
  based on memory placement configurations.
2025-08-07 19:56:30 +08:00
Omar Chebib
63cf7c06d3 test(freertos): add a test case for the DSP coprocessor 2025-08-07 14:40:30 +08:00
Omar Chebib
03f4744497 feat(riscv): add support for the DSP coprocessor 2025-08-07 14:40:30 +08:00
Marius Vikhammer
43667179f4 ci(system): enabled and cleanup misc system test-apps build-test-rules 2025-08-06 17:50:50 +08:00
Sudeep Mohanty
471a659e84 remove(freertos): Removed freertos_compatibility.c
The freertos_compatibility.c file has been removed and appropriate
guidelines have been added to hints.yml and the migration guide to use
alternatives for the backward compatibility functions that have been
removed.
2025-08-05 08:41:47 +02:00
Marius Vikhammer
4065fb20f3 Merge branch 'feature/esp_test_utils_component' into 'master'
change(test_utils): moved test_utils out of unit-test-app project

See merge request espressif/esp-idf!40678
2025-08-01 11:04:37 +08:00
Erhan Kurubas
fb53d6e719 change(coredump): drop binary format and crc checksum 2025-07-29 22:31:40 +03:00
Marius Vikhammer
bf84ab652a change(test_utils): moved test_utils component to tools/test_apps/components/ 2025-07-21 14:05:50 +08:00
Sudeep Mohanty
7b57540cc4 feat(freertos): Add xTaskGetStackStart and deprecate pxTaskGetStackStart
The following changes have been made:
- Add new xTaskGetStackStart() function with proper StackType_t* return type
- Deprecate pxTaskGetStackStart() with wrapper implementation for backward compatibility
2025-07-14 12:18:05 +08:00
Sudeep Mohanty
669939d786 remove(freertos): Remove deprecated functions from idf_additions.h
This commit removes the following deprecated functions:
- xTaskGetAffinity()
- xTaskGetIdleTaskHandleForCPU()
- xTaskGetCurrentTaskHandleForCPU()
2025-07-14 12:18:05 +08:00
Fu Hanxi
a5257dcc39 ci: apply idf-ci pytest plugin
Removed

- target markers. Now must use target as parametrization in esp-idf
- host test markers. Now will be automatically added with linux target and qemu marker
2025-07-09 10:33:28 +02: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
John Boiles
6287650225 fix(freertos): Use ESP_EARLY_LOGE in vPortTLSPointersDelCb for RISCV
Using ESP_LOG* in this function causes a crash
2025-06-06 10:11:32 +08:00
Marius Vikhammer
4d27e1a399 change(freertos): vApplicationStackOverflowHook is now flashed in flash if option enabled
CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH will now also place vApplicationStackOverflowHook in
flash
2025-05-30 14:22:54 +02:00
Marius Vikhammer
e527554144 feat(core): bringup dual-core for H4 2025-05-26 17:11:12 +02:00
Marius Vikhammer
503a9faa9f change(core): clean-up leftover todo items in code 2025-04-23 16:15:19 +08:00
Sudeep Mohanty
3caddd5393 test(freertos): Added a unit test for tickless idle tick jump scenario
This commit adds a unit test to test that tickless idle mode does not
cause an unexpected jump in tick count after tickless idle mode is
exited.
2025-04-15 09:38:26 +02:00
Sudeep Mohanty
3af5603938 fix(freertos): Fixed tickless idle tick count accounting
This commit fixes an issue where the FreeRTOS kernel does not account
for the pended ticks occuring during automatic light-sleep mode and
hence causing a jump in the tick count at a later stage in the
application lifetime.

Closes: https://github.com/espressif/esp-idf/issues/15642
2025-04-15 09:38:26 +02:00
Chen Jichang
c34b4eb882 feat(esp32h4): enable ESP32H4 ci build 2025-03-28 14:41:28 +08:00
Sudeep Mohanty
ee98297647 Merge branch 'feat/enable_freertos_smp_for_c5_c61' into 'master'
feat(freertos): Enable Amazon FreeRTOS SMP kernel for esp32c5 and esp32c61

See merge request espressif/esp-idf!37933
2025-03-27 18:07:11 +08:00
Sudeep Mohanty
71a79ac0b1 feat(freertos): Add config to move additional functions into Flash
This commit adds a new Kconfig option, viz.,
CONFIG_FREERTOS_PLACE_ISR_FUNCTIONS_INTO_FLASH, which places
additional FreeRTOS functions, such as those which can be called from
and ISR context, into Flash memory. This feature utilizes the Flash auto
suspend/resume feature of the Flash chip.
2025-03-24 09:19:28 +01:00
Sudeep Mohanty
1742a982d5 feat(freertos): Enable Amazon FreeRTOS SMP kernel for esp32c5 and esp32c61
This commit enables the Amazon SMP port for FreeRTOS for the esp32c5 and
esp32c61 targets.
2025-03-21 15:31:55 +01:00
Omar Chebib
0bc169e735 fix(freertos): optimize HWLP context switch by disabling it when unused 2025-03-13 11:11:24 +08:00
Omar Chebib
c26879d29e fix(freertos): workaround a hardware bug related to HWLP coprocessor
This commit manually sets the HWLP context to dirty when a Task that needs it is scheduled it.
2025-03-13 11:11:24 +08:00
Erhan Kurubas
a44c127dfa feat(freertos): add list offsets to the openocd_params 2025-03-06 01:32:33 +01:00
igor.udot
daf2d31008 test: format all test scripts 2025-03-05 12:08:48 +08:00
Omar Chebib
c95a12658e fix(freertos): fix a bug in prvTaskDeleteWithCaps related to coprocessors
When a coprocessor is used, the stack pointer is altered. It must be restored
before freeing the memory allocated to the task.
2025-02-18 11:59:04 +08:00
Sudeep Mohanty
ee18a4d9ab fix(freertos): Backported a change to suppress Coverity warnings
This commit backports the commit# f94bc89108ffca538cf91d5856149960a5d4be81
from the upstream FreeRTOS kernel repository to supress a Coverity
warning. The change was done to avoid using string modification
functions which cause a security violation.
2025-02-07 08:52:51 +01:00
gaoxu
5ef4f20778 feat(esp32h21): disable unsupported build test 2025-02-06 15:47:51 +08:00
Marius Vikhammer
afc1b31f43 Merge branch 'test/freertos_gptimer_not_supported' into 'master'
test(freertos): allow freertos tests to compile even when gptimer is not supported

Closes IDF-11554

See merge request espressif/esp-idf!36461
2025-01-20 09:56:48 +08:00
Marius Vikhammer
2ef05f9f9b test(idf_test): add performance target file for H21 2025-01-17 12:27:00 +08:00
Marius Vikhammer
638b22ef4e test(freertos): changed freertos tests to compile even if no gptimer 2025-01-17 12:07:07 +08:00
Mahavir Jain
6502148fdc fix(examples): simple http_server example build for Linux target
Static task creation on Linux target had issues with insufficient stack
memory allocation. Type of `StackType_t` is `unsigned long` and hence
it must be considered during stack memory allocation.

Fix ensures proper working of simple HTTP server example.
2025-01-10 09:50:18 +05:30
Sudeep Mohanty
65dba9f930 fix(freertos): Limit idle task name length for copy operation
This commit:
- Updates the FreeRTOS kernel prvCreateIdleTasks() function to
limit the length of the IDLE task name before copying it to avoid memory
out-of-bounds warnings.
- Fixes a bug where in the IDLE task name string could be a non
  null-terminated string in SMP configuration.
2025-01-03 18:06:47 +08:00
Alexey Lapshin
888b5f7e8d feat(newlib): add picolibc support 2024-12-02 21:35:56 +07:00
Laukik Hase
ba2af7f611 feat(esp_tee): Support for ESP-TEE - hal, soc and freertos components 2024-12-02 12:19:46 +05:30