• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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...
 
Сверху Снизу