• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

ESP32 - Как откомпилировать на чистом СИ.

uvs

New member
Добрый день.

Попробовал откомпилировать так, как указано в статье.
Туда автоматом добавляется FreeRTOS.

Как мне откомпилировать без FreeRTOS, а только на чистом СИ?
 

Atom

Member
Не надо путать "чистый С" и Expessif-IDF. На шаге3 в заголовке указана подгрузка хэдеров freeRTOS. можете попробовать их закомментировать, но компилироваться скорее не будет.
 

pvvx

Активный участник сообщества
FreeRTOS написан на "чистом СИ", без С++.
В Expessif-IDF для С++ применяется динамическая модель памяти "heap", подверженная дефрагментации.
Для стабильного ПО это практически неприменимо при отсутствии у процессора блока MMU.
И тут уже без разницы СИ или С++. С++ просто чаще строит вызовы запросов памяти и они скрыты...
 

pvvx

Активный участник сообщества
На чистом СИ проще контролировать запросы памяти, запрашивая и освобождая динамическую память последовательно исполняя в один момент времени только одну задачу, тем самым исключив дефрагментацию памяти (аналог выделения памяти в стеке). А FreeRTOS создан для поддержки работы в мультизадачном режиме, что и приводит к дефрагментации памяти. Чтобы этого не произошло необходимо использовать статическую модель памяти. Т.е. переписать части Expessif-IDF...
 
Сверху Снизу