The error messages for vPortEnterCritical and vPortExitCritical are
misleading when they're called on a multi-core target, as they seem to
imply that the call is NOT supported on a single-core target. In fact,
they are, these functions are, however, not supported on multi-core
targets, so the error message has been updated to reflect this.
Merges https://github.com/espressif/esp-idf/pull/18109
Optimize freertos pytest test coverage to reduce redundant test runs and add support for gcov code coverage
Closes IDF-14186 and IDFCI-7565
See merge request espressif/esp-idf!44048
Split the idf_performance.h and target ver, which hold the performance
thresholds, into the headers of each testing.
In the past pytest also parse the common header to get the thresholds.
Now the logic is also removed. Performance thresholds are supposed to be
in the pytest scripts.
fix(freertos): Added stability fixes to tick hook test
Closes IDFCI-7671, IDFCI-7672, IDFCI-7679, and IDFCI-7680
See merge request espressif/esp-idf!44402
This commit adds the following:
- Added support to FreeRTOS component to report code coverage using gcov
and app trace.
- Added a new sdkconfig.ci.code_coverage for code coverage tests.
- Added a new Kconfig option CONFIG_FREERTOS_ENABLE_COVERAGE_TESTS to
control the code instrumentation.
- Added an idf_component.yml file to the test_app to fetch the esp_gcov
component from the component registry.
- Updated the README to explain how to take code coverage data.
test(freertos): Added stability fixes to the delete blocked tasks test
Closes IDFCI-3701, IDFCI-3718, IDFCI-4709, IDFCI-6443, and IDFCI-7544
See merge request espressif/esp-idf!44403
This commit fixes a race condition in suspend-resume tests where in
a test task could escape deletion and result in a memory leak after test
completion.
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.
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
This commit removes support for the vPortCleanUpTCB() user hook as well
as drops support for associated Kconfig option,
CONFIG_FREERTOS_STATIC_TASK_CLEAN_UP.
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.