esp-idf/components/esp_hw_support
Darian Leung c5efb55d43 freertos: Add portTRY_ENTRY_CRITICAL() and deprecate legacy spinlock fucntions
Add TRY_ENTRY_CRITICAL() API to all for timeouts when entering critical sections.
The following port API were added:
- portTRY_ENTER_CRITICAL()
- portTRY_ENTER_CRITICAL_ISR()
- portTRY_ENTER_CRITICAL_SAFE()

Deprecated legacy spinlock API in favor of spinlock.h. The following API were deprecated:
- vPortCPUInitializeMutex()
- vPortCPUAcquireMutex()
- vPortCPUAcquireMutexTimeout()
- vPortCPUReleaseMutex()

Other Changes:
- Added portMUX_INITIALIZE() to replace vPortCPUInitializeMutex()
- The assembly of the critical section functions ends up being about 50 instructions longer,
  thus the spinlock test pass threshold had to be increased to account for the extra runtime.

Closes https://github.com/espressif/esp-idf/issues/5301
2021-11-22 18:42:10 +08:00
..
include freertos: Add portTRY_ENTRY_CRITICAL() and deprecate legacy spinlock fucntions 2021-11-22 18:42:10 +08:00
port mspi: make cpu clock source switch safe 2021-10-19 21:47:27 +08:00
test adc: support adc efuse-based calibration on esp32s3 2021-09-14 11:42:50 +08:00
clk_ctrl_os.c esp32h2: add rtc clock support 2021-08-26 11:25:39 +08:00
CMakeLists.txt light sleep: separate sleep retention function 2021-08-24 11:54:47 +08:00
compare_set.c esp_hw_support: update copyright notice 2021-08-05 17:38:43 +02:00
component.mk light sleep: separate sleep retention function 2021-08-24 11:54:47 +08:00
cpu_util.c esp_hw_support: update copyright notice 2021-08-05 17:38:43 +02:00
esp_async_memcpy.c esp_hw_support: update copyright notice 2021-08-05 17:38:43 +02:00
esp_clk.c esp_hw_support: update copyright notice 2021-08-05 17:38:43 +02:00
hw_random.c esp_hw_support: update copyright notice 2021-08-05 17:38:43 +02:00
intr_alloc.c esp_hw_support: update copyright notice 2021-08-05 17:38:43 +02:00
Kconfig light sleep: add software workaround for esp32s3 gpio reset issue 2021-10-20 11:36:22 +08:00
Kconfig.spiram.common Adjust the variable name & 2021-08-25 16:06:28 +08:00
linker.lf psram: put opiram_psram and spiram_psram in internal ram 2021-10-08 17:39:41 +08:00
mac_addr.c esp_hw_support: update copyright notice 2021-08-05 17:38:43 +02:00
Makefile.projbuild esp32: move spiram, himem 2021-07-16 20:14:26 +08:00
project_include.cmake esp_hw_support: Clean up CMakeLists file 2021-07-16 20:14:28 +08:00
README.md esp_hw_support: create component 2020-10-28 07:21:29 +08:00
regi2c_ctrl.c esp_hw_support: update copyright notice 2021-08-05 17:38:43 +02:00
sdkconfig.rename light sleep: add software workaround for esp32s3 gpio reset issue 2021-10-20 11:36:22 +08:00
sleep_gpio.c light sleep: fix Flash leakage when its CS pin has no hardware pullup 2021-09-15 20:34:18 +08:00
sleep_mac_bb.c light sleep: separate sleep wifi/bt mac bb function 2021-08-23 10:25:04 +08:00
sleep_modes.c sleep: deep sleep does not need cpu and wifi/bt mac retention 2021-11-12 19:38:32 +08:00
sleep_retention.c light sleep: add i/d-cache tagmem retention support for esp32s3 2021-08-27 11:11:09 +08:00

esp_hw_support

This component contains hardware-related operations for supporting the system. These operations are one level above that of hal in that these(1) use system services such as memory allocation, logging, scheduling or (2) may be multi-step operations involving/affecting multiple parts of the SoC.

Implementations that don't fit other components cleanly, but are not worth creating a new component for (yet) may also be placed here as long as they don't pull dependencies other than the core system components.