The following changes are made in this commit:
1. This commit updates the implementation of usleep() to now always yield
CPU time if undergoing a multi-tick sleep. This reduces the accuracy of
usleep() but in turn allows the scheduler to schedule different tasks.
2. The commit also updates the MCPWM unit test which fails due to the
change in the behavior of usleep().
Closes: https://github.com/espressif/esp-idf/pull/15132
This commit updates usleep() to always sleep for the required sleep
period or more. This fixes a bug where the usleep() could sleep for less
than the request sleep period.
Closes https://github.com/espressif/esp-idf/pull/15132
This option replaces implementations of functions from ROM:
- memcpy
- memcmp
- memmove
- str[n]cpy
- str[n]cmp
The functions used in the firmware will be better optimized for misaligned
memory. Here are some measurements in CPU cycles for 4096-byte buffers:
memcpy: 28676 -> 4128
memcmp: 49147 -> 14259
memmove: 33896 -> 8086
strcpy: 32771 -> 17313
strcmp: 32775 -> 13191
fix(heap): fixed CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH not working together with CONFIG_HEAP_TLSF_USE_ROM_IMPL
See merge request espressif/esp-idf!37692