Linux 6.11 на ESP32-S3: витончені налаштування для вашого мікроконтролера

Фото до статті
Фото до статті

Завдяки двоядерним процесорам Xtensa Lx7 в ESP32-S3, що працюють на відносно високій частоті 240 МГц, та наявності PSRAM обсягом до 16 МБ, може виникнути питання, чи здатен він запускати Linux. Як демонструє

із ядром Linux 6.11, відповідь — «так», хоча й з певними обмеженнями.

Однією з проблем ESP32-S3 є відсутність певних компонентів, які операційні системи, як Linux, вважають стандартними, наприклад, блоку керування пам’яттю (MMU). Для вирішення цього використовувалася конфігурація Linux NOMMU разом зі спеціальною реалізацією функції fork(). Хоча попередня версія 0.7 працювала умовно, поточна версія 0.8 — перша, яка надійно завантажується та надає достатньо оперативної пам’яті після запуску.

Порівняння між двома версіями можна побачити на головному зображенні: версія 0.8 після завантаження надає вражаючі 3,7 МБ вільної пам’яті, а загальне використання ресурсів і продуктивність значно покращилися. Варто зазначити, що Linux доступний лише один процесорний цикл, тоді як інший використовується типовим стеком FreeRTOS ESP-IDF для забезпечення роботи WiFi та Bluetooth.

Усе це було протестовано на ESP32-S3 з конфігурацією N16R8, що означає 16 МБ Flash-пам’яті, яка також використовується для запису даних, та 8 МБ Octal PSRAM. Стосовно практичного застосування,

зазначає, що це дослідницький проєкт, хоча можна уявити розгортання вбудованого Linux, подібно до мережевого роутера, що працює під керуванням BusyBox.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *