This feels oddly relevant as someone just starting to port an ESP8266-RTOS-SDK based application to ESP-IDF (ESP-32), and wondering what the best strategy for targeting both platforms is going to be.<p>The vanilla `taskENTER_CRITICAL()` [1] vs ESP-IDF `taskENTER_CRITICAL(mutex)` changes [2] in particular are related to espressif's own FreeRTOS SMP variant, and seem fairly major and invasive.<p>[1] <a href="https://www.freertos.org/taskENTER_CRITICAL_taskEXIT_CRITICAL.html" rel="nofollow">https://www.freertos.org/taskENTER_CRITICAL_taskEXIT_CRITICA...</a><p>[2] <a href="https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/freertos-smp.html#critical-sections" rel="nofollow">https://docs.espressif.com/projects/esp-idf/en/latest/esp32/...</a>