This commit temporarily disables a bugfixed introduced by FreeRTOS v10.5.1 that
ensures timed out tasks will only preempt if their priority is higher than the
currently running task.
This bugfix has been temporarily reversed due to some compatibility issues with
some IDF tests.
This commit adds a workaround for a compiler optimization issue in FreeRTOS
v10.5.1 in xTaskResumeAll() where pxTCB is only read once, even if in a loop.
A follow up ticket has been added to properly resolve this issue.
This commit optimizes the following utility functions to achieve higher
overall system performance:
xTaskGetCurrentTaskHandle():
- Made into stand alone function instead of wrapper call to "ForCore" variant
- Replaced critical sections with disabling interrupts. Lack of lock contention
improves performance.
xTaskGetCurrentTaskHandleForCore():
- Removed unecessary critical sections
xTaskGetSchedulerState():
- Replaced critical sections with disabling interrupts. Lack of lock contention
improves performance.
Previously the linux port of FreeRTOS set configMAX_PRIORITIES to 7. However,
multiple linux POSIX simulator examples will call API that create tasks with
priortiies >= 7.
This commit fixes the configMAX_PRIORITIES and unifies all ports to have 25
priorities.
This commit fixes the FreeRTOS CMock component in the following ways:
- Updated include directories to work with vanilla FreeRTOS v10.5.1
`#include "portmacro.h"` style inclusion.
This commit updates the sdkconfig for some examples when building with the
v10.5.1 kernel. The updates fixes the following:
Place FreeRTOS functions into flash
- Some examples use nearly 100% of available IRAM, thus any small increase in
IRAM in other components (e.g., FreeRTOS) will lead to a build error. As a
result, 'CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH' has been enabled in those
examples to save some IRAM.
- Some examples consume too much flash memory, leading to the 'factory'
parition overflowing. IN those examples,
'CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE' has been enabled to use a larger
'factory' partition.
Various convenience macros in tasks.c will simply leave macro arguments unused
when built for single-core. This leads to an 'unused variable' warning.
This commit updates those macrso so that the unused arguments have a
'(void)' statement.
Following the upgrade to FreeRTOS kernel v10.5.1, this commit updates the
version numbers, licenses, and SBOM files of FreeRTOS files to reflect v10.5.1.
Note:
- Updated licenses as v10.5.1 now uses SPDX format
- Removed CVE-2021-43997 as it was fixed post v10.4.5
This commit makes v10.5.1 the default FreeRTOS kernel in ESP-IDF by removing
the CONFIG_FREERTOS_USE_KERNEL_10_5_1 option and v10.4.3 specific code
blocks.
This commit removes the v10.4.3 kernel files in prepartion for upgrading to
v10.5.1.
- Portable files still remain
- Added as a separate commit to preserve commit history
1.bringup c3 v1.1 and sync func to c3 eco7 rom
2.support to set null&probe lifetime
3.support to adjust listen interval to dtim period
4.support tx pkt w/o wake null
5.allow to tx null0 if requtest to rx data
Previously, the hash map was a doubly linked list but was never
using the characteristics of it.
This commit switches the hash map to a singly linked list instead
This commit also fixes memory leak in heap trace tests by setting
hashmap size to 10 for the tests (instead of the default value of 250)
See https://github.com/espressif/esp-idf/issues/11173