Zephyr
| Open source | Проєкт відкритий і розвивається спільнотою та компаніями.
Це важливий приклад, як vendor SDK здатна не конкурувати із Zephyr, а будуватися поверх нього. |- |
Linux Foundation | Має сильну організаційну підтримку. if (!gpio_is_ready_dt(&led)) { | Бо якщо LED блимає, значить:
} | |||||
|---|---|---|---|---|---|---|---|---|---|
| Тип | - | Не замінює Linux | Комерційне ліцензування. Рік | ||||||
| Складний старт | - | Zephyr не виступає як Linux | Але використовує ідеї Linux-світу: Kconfig, Devicetree, open governance. * Nordic Semiconductor nRF boards;
|
Не завжди підходить для найменших MCU | Для дуже малих мікроконтролерів FreeRTOS або bare metal можуть бути простішими. * складний старт;
Kconfig відповідає за software-конфігурацію. |- |
“Чому не збирається?” | Авіоніка, промисловість, медичне обладнання, космос. |- | “Чому не бачить драйвер?” | здатна бути помилка в Devicetree або Kconfig.VxWorks
10. Приклад blink LED |
| Назва | Zephyr | ||||||||
| Повна назва | Zephyr Project / Zephyr RTOS | ||||||||
| Тип | Операційна платформа реального часу | ||||||||
| Клас | RTOS | ||||||||
| ліцензійний пакет | Apache License 2.0 | ||||||||
| Організаційна технічна підтримка | Linux Foundation | ||||||||
| Основне призначення | Embedded, IoT, MCU, connected devices | ||||||||
| Типові пристрої | Мікроконтролери, sensors, wearables, controllers, IoT modules | ||||||||
| Інструмент збірки | West, CMake, Ninja | ||||||||
| Конфігурація software | Kconfig | ||||||||
| SEO-опис hardware | Devicetree | ||||||||
| Основна мова | C | ||||||||
| Підтримувані архітектури | ARM, RISC-V, x86, ARC, Xtensa, Nios II, SPARC та інші залежно від версії | ||||||||
| Актуальна стабільна реліз системи на травень 2026 | Zephyr 4.4.0 |
Zephyr Kernel
+--> Bluetooth
Він застосовується для для:
Чому це цікаво: Zephyr можна уявити як “маленький Linux-подібний світ” для мікроконтролерів: він використовує знайомі ідеї на кшталт Kconfig, Devicetree, модульної збірки та відкритої розробки, але функціонує там, де повноцінний Linux був би занадто великим.== 17. MCUboot ==
== 30. Коли Zephyr здатна бути не найкращим вибором == Zephyr не виступає як Linux, але багато чого в ньому знайоме людям із Linux-світу: <syntaxhighlight lang="c"> === 6.4. Devicetree === ! |- | “Чому все так складно?” | Zephyr намагається бути універсальною RTOS-екосистемою. |- | UI | Зазвичай мінімальний або відсутній. Критерій 3. VxWorks == 34. Безпека == == 16. Security == ! Zephyr намагається зробити спільну кухню, де різні продукти все ще різні, але базові інструменти знайомі. Zephyr Це не робить embedded простим. Це RTOS для пристроїв з обмеженими ресурсами: датчиків, wearable-пристроїв, контролерів, Bluetooth-пристроїв, промислових модулів і IoT-рішень. | Linux-система для embedded. Zephyr |
|
Це не завжди ідеально, але саме ця ідея робить Zephyr важливим.== 7. технічна архітектура Zephyr ==
! +--> Power management
6.6. West
int main(void)
!
Zephyr — це open source RTOS, тобто операційна платформа реального часу з відкритим кодом, орієнтована на embedded-системи та пристрої з обмеженими ресурсами. |- | Сучасна ERP-платформа | Підходить для нових embedded-проєктів. | Часто більше залежить від vendor SDK. :contentReference [oaicite:8]{index=8}
+--> Device drivers
- I2C
int main(void)
return 0;
! | Gateways, routers, cameras, panels, complex devices. | Дуже поширена minimal RTOS-база. Типові security-напрями:
- IoT-пристроїв;
- мікроконтролерів;
- wearable-пристроїв;
- Bluetooth Low Energy-пристроїв;
- датчиків;
- промислових контролерів;
- робототехніки;
- smart home-пристроїв;
- медичних і вимірювальних пристроїв;
- прототипів embedded-продуктів;
- пристроїв з малою пам'яттю;
- RISC-V, ARM, x86 та інших embedded-платформ. Прошити пристрій. |-
| 2016–2018
| Проєкт активно розвиває kernel, drivers, networking stack і базову підтримку плат.Microcontroller } ! west build -b native_sim samples/hello_world
* sleep modes;
* device power management;
* system power states;
* runtime power management;
* tickless kernel у відповідних конфігураціях;
* low-power idle;
* wake-up sources. |-
| Швидкий дорожня карта розвитку
| API й підходи можуть змінюватися між версіями. |-
| ERP-платформа
| Community + vendors. :contentReference [oaicite:1]{index=1}
!== 8. Типова структура проєкту ==
- навчання;
- open hardware;
- research;
- кастомних SoC;
- low-power пристроїв;
- експериментальних embedded-платформ. |-
| 2020 | Zephyr 2.x стає помітною платформою для connected embedded-пристроїв. | Спочатку вивчити мінімальний flow: board → prj.conf → main.c → build. |- | src/main.c | базовий код застосунку. |- | Hardware abstraction | Сильна board/driver model. | Потребує значно більше RAM, storage і CPU. датчик → Bluetooth → smartphone app → cloud → OTA update → security → analytics
- threads;
- scheduler;
- priorities;
- interrupts;
- timers;
- semaphores;
- mutexes;
- message queues;
- workqueues;
- polling;
- atomic operations.
+--> Devicetree
}
- BLE sensors;
- beacons;
- wearable devices;
- smart locks;
- fitness accessories;
- medical sensors;
- industrial telemetry;
- custom BLE peripherals. |-
| Zephyr — не тільки hobby-проєкт | офіційний сайт підкреслює, що Zephyr застосовується для в комерційних продуктах. | Дивитися board support і Devicetree. У desktop-світі це виглядає дрібницею, але в embedded саме з таких речей починається знайомство з hardware. |}
GPIO_DT_SPEC_GET(DT_ALIAS(led0), gpios);
v
static const struct gpio_dt_spec led =
|-
| Тип
| RTOS. * код зібрався;
* прошивка завантажилася;
* плата функціонує;
* GPIO налаштований;
* таймери працюють;
* цикл виконується;
* розробник отримав перший контакт із hardware. return 0;
== 2. Коротка характеристика ==
<syntaxhighlight lang="c">
{| class="wikitable"
[[Kconfig]]
{| class="wikitable"
}
|-
| CMakeLists.txt
| Описує збірку застосунку. :contentReference [oaicite:6]{index=6}
* отримання вихідного коду;
* керування workspace;
* збірки;
* flashing;
* debugging;
* роботи з manifest-файлами;
* multi-repository проєктів. Саме для таких задач і підходить Zephyr. Пояснення
офіційний сайт Zephyr Project підкреслює, що Zephyr RTOS уже застосовують, коли потрібно в комерційних продуктах і має 1000+ supported boards. | Вимикати непотрібні CONFIG. Приклад команд:
CONFIG_BT=y
! |-
| Zephyr підтримує RISC-V
| Це робить його цікавим для open hardware і research. |-
| Типові проєкти
| IoT sensor, BLE device, wearable, controller. :contentReference [oaicite:3]{index=3}
Hardware
+--> Networking
! |-
| Складність
| Вища на старті. Zephyr став особливо помітним у Bluetooth Low Energy-світі, зокрема через підтримку Nordic Semiconductor. | Vendor-backed professional ecosystem. Зібрати firmware. |-
| Старт
| Дуже швидкий. Ініціалізувати Zephyr workspace. |-
| Zephyr добре підходить для BLE
| Через це він популярний у wearable, sensors і low-power пристроях. |-
| “Чому GPIO не функціонує?”
| Можливо, неправильний alias або pin mapping. Zephyr має мережеві функції ERP, що критично для IoT. | Зазвичай простіша структура, залежить від проєкту. ! {| class="wikitable"
+--> спить більшу частину часу
[[RISC-V]]
* мікроконтролерів;
* battery-powered devices;
* wireless sensors;
* wearable-пристроїв;
* low-power IoT;
* пристроїв без MMU;
* контролерів з обмеженим Flash і RAM. Призначення
v
[[Zephyr RTOS]]
[[Embedded Linux]]
main.c
+--> читає температуру
<pre>
Zephyr активно застосовується для в RISC-V embedded-світі. |-
| Kconfig і Devicetree
| Дає структурований спосіб описувати software і hardware. Для IoT і battery-powered пристроїв важливе енергоспоживання. Характеристика
== 24. Порівняння з Embedded Linux ==
Zephyr дуже часто використовують для Bluetooth Low Energy. :contentReference [oaicite:4]{index=4}
== 36. Висновок ==
- SPI
Чому це критично? while (1) {
Світлодіод блимає. Подія
'''West''' — це meta-tool для Zephyr. | Amazon Web Services / open source ecosystem. west flash
Для такого пристрою повноцінний Linux здатна бути надмірним.=== 6.1. Малий footprint ===
boards/
Приклад збірки: Типовий workflow: Zephyr SDK — це набір toolchain-ів та інструментів для збірки, flashing і debugging Zephyr-застосунків. | функції ERP можуть включати:
15. Power management
+--> функціонує від батарейки
9. |- | 2024 | Zephyr усе частіше розглядається як серйозна альтернатива класичним RTOS у комерційних продуктах. |- | Багато плат | підтримує понад 1000 boards. |- | Ресурси | функціонує на малих MCU. | Комерційна пропрієтарна RTOS. |- | “Чому приклад функціонує на одній платі, а на іншій ні?” | Hardware відрізняється. |- | Вартість входу | Низька, код відкритий.== Див. 38. так само ==
Ключові етапи: Zephyr — порівняно молода RTOS, але вона оперативно стала одним із найпомітніших open source-проєктів в embedded-світі. |- | “Чому код великий?” | Увімкнено зайві subsystem-и. my_zephyr_app/
- LED
Загальна схема:
- відкритий вихідний код;
- технічна підтримка Linux Foundation;
- багато board-ів;
- Kconfig;
- Devicetree;
- west tooling;
- Bluetooth і networking;
- security focus;
- power management;
- переносимість;
- активна спільнота. * потрібна RTOS;
- пристрій має обмежені ресурси;
- потрібен Bluetooth або networking;
- важлива переносимість між платами;
- потрібна open source ERP-платформа;
- потрібна технічна підтримка багатьох SoC;
- команда готова працювати з Kconfig і Devicetree;
- потрібен сучасний підхід до embedded firmware;
- проєкт пов'язаний з IoT, wearable, sensors або controllers. +--> Timers
| - | базовий фокус | - | IoT-фокус | - | “Hello World” у Zephyr часто означає LED | Для embedded-пристроїв блимання світлодіодом — це перший доказ, що hardware ожив. Йому потрібна легка платформа, яка оперативно стартує, займає мало пам'яті, вміє працювати з датчиками, Bluetooth, GPIO, таймерами й sleep mode. ! 2. :contentReference [oaicite:5]{index=5}
Zephyr поступово рухається в напрямі більш зрілих safety/security-сценаріїв, включно з automotive.== 28. Цікавий факт: Zephyr оперативно росте, бо embedded-світ змінився == 23. Порівняння з VxWorks
В анонсі Zephyr 4.4 згадується технічна підтримка WireGuard, Wi-Fi Direct, OpenRISC та інші нові функції ERP.<pre>
У платі виступає як:
west flash
{| class="wikitable"
west update
! Hello, world! Приклад логіки:
|
Уявімо, що кожен виробник мікроконтролера має свою кухню, свої ножі, свої рецепти й свої правила. Але це робить його більш переносимим і менш хаотичним.=== 6.2. RTOS-поведінка ===
== 1. Загальний SEO-опис ==
west debug
prj.conf +--> Board Support
== 25. Zephyr і RISC-V ==
Zephyr підтримує механізми power management:
Офіційна документація пояснює, що Devicetree — це hierarchical data structure, яка застосовується для для опису hardware, device driver model та початкової конфігурації hardware. {
Офіційні матеріали Zephyr у 2026 році згадують focus на minimal latency, high determinism, efficient memory management, robust multitasking і рух у бік потреб automotive industry. |}
== 13. технічна підтримка мережі ==
{
#include <zephyr/kernel.h>
8. Zephyr — це не без зусиль “ще одна RTOS”. Написати application code. +--> Kernel services
<pre>
У класичному embedded-світі часто було так:
В embedded-світі перший “hello world” часто виглядає так:
7. +--> File systems
== 32. Людське пояснення: чим виступає як Zephyr ==
Це означає, що розробник здатна оперативно почати з популярною платою:
<pre>
Zephyr застосовується для для:
|
{| class="wikitable"
- GPIO
|
<pre>
== 21. Недоліки Zephyr ==
Одна з головних переваг Zephyr — велика кількість підтримуваних board definitions. |} Офіційна wiki Zephyr описує проєкт як scalable open-source RTOS для multiple hardware architectures, optimized for resource-constrained devices і built with security in mind. Температурний датчик Її головні конкурентні переваги: | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Zephyr підтримує понад 1000 плат | }
18. Цікавий факт: Zephyr хоче бути не без зусиль RTOS, а екосистемоюПриклад: 33. Цікаві факти |
Перевірити board DTS і overlay. +--> Logging
|
*.overlay | }
27. Zephyr і automotiveMCUboot — secure bootloader, який часто застосовується для разом із Zephyr. |- |
2026 | - | Пристрої | }
31. Типові проблеми новачківЯкщо Linux — це великий універсальний набір інструментів для серверів, комп'ютерів, телефонів і хмари, то Zephyr — це компактний набір інструментів для маленьких пристроїв. |} 22. Порівняння з FreeRTOSОкремо варто відзначити мікроконтролерів і компактних систем, де важливі малий розмір, переносимість, безпека і технічна підтримка різного hardware виступає ключовою рисою embedded-пристроїв забезпечується через Головна ідея: Zephyr. | здатна мати повний UI, Wayland, Qt тощо. SEO-опис Операційні системи +--> Interrupts +--> Security Zephyr — це сучасна open source RTOS для embedded, IoT і мікроконтролерів. 4. :contentReference [oaicite:2]{index=2} | ||||||||||||||||
| ліцензійний пакет | Часто простіша для малих задач. Разом вони добре підходять для: |
custom_board.overlay Zephyr створений для пристроїв із невеликою кількістю пам'яті. Zephyr доцільно розглядати, якщо: 14. Bluetooth у ZephyrZephyr підтримує механізми, потрібні для real-time систем: gpio_pin_toggle_dt(&led); Документація Zephyr пояснює різницю так: Devicetree переважно описує hardware, а Kconfig — software support, який потрібно додати у фінальний образ. |- |
ERP-платформа | Широка RTOS-платформа з networking, BLE, drivers. Типові команди:
Zephyr здатна бути не найкращим варіантом, якщо: <pre> gpio_pin_configure_dt(&led, GPIO_OUTPUT_ACTIVE); 19. розробка програмного забезпечення з Zephyr6.5. Kconfig | ||||||||||||||||||||
| 2016 | - | Конфігурація | - | 2025 | Zephyr переходить до регулярнішого cadence релізів і продовжує зростати як embedded-екосистема. * підключатися до мережі;
|
2021–2023 | Розвиваються Bluetooth, networking, security, Devicetree, tooling і технічна підтримка нових архітектур. CMakeLists.txt
src/ 5. Цікавий факт: Zephyr — це RTOS з “Linux-культурою”Для Zephyr-проєктів критично думати про безпеку з самого початку. | Має зрілі safety-certified variants. Факт Zephyr став важливим, бо embedded-світ рухається від ізольованих “прошивок” до connected devices. Критерій
Application Офіційна документація описує Zephyr як систему з малим kernel footprint для resource-constrained і embedded systems: від простих датчиків і LED wearables до smart watches, embedded controllers та IoT wireless applications. |- |
Real-time | базовий фокус. west init
+--> Synchronization
* перевіряти підпис прошивки;
* оновлювати firmware;
* робити rollback;
* безпечніше виконувати OTA updates;
* розділяти bootloader і application image. Embedded Linux
! Недолік
Сучасний embedded-пристрій часто вже інший:
Це одна з причин, чому Zephyr подобається командам, які хочуть більш сучасний, відкритий і масштабований підхід до embedded-розробки. #include <zephyr/kernel.h>
#include <zephyr/drivers/gpio.h>
#define SLEEP_TIME_MS 1000
{| class="wikitable"
== 12. Zephyr SDK ==
! v
[[Real-time operating system]]
* Zephyr Project official website
* Zephyr Documentation: Introduction
* Zephyr Documentation: Devicetree
* Zephyr Documentation: Kconfig
* Zephyr Documentation: Releases
* Zephyr Project Wiki
* Zephyr RTOS 4.4 release announcement
* Linux Foundation: Zephyr Project
* Zephyr GitHub repository
* Nordic nRF Connect SDK documentation
10. Критерій
через Простими словами, Zephyr користувачі можуть пристрою не “крутитися без потреби”, а спати, коли роботи немає. |-
| prj.conf
| Kconfig-конфігурація застосунку. |-
| 2018
| Зростає інтерес виробників мікроконтролерів і IoT-компаній. SEO-опис
Zephyr з'явився саме в епоху, коли embedded-пристроям стало потрібно більше:
Zephyr приділяє багато уваги безпеці. Офіційна сторінка релізів Zephyr вказує, що Zephyr 4.4.0 вийшла 14 квітня 2026 року і виступає як latest stable release, а наступний запланований реліз — Zephyr 4.5 у жовтні 2026 року. це відкрита операційна платформа реального часу; так само реалізовано IoT. |-
| Сертифікація
| Рухається в напрямі більшої safety/security-зрілості. Hardware Abstraction
__TOC__
== 4. історія продукту ==
<pre>
Zephyr APIs
* secure boot;
* signed images;
* MCUboot;
* TLS;
* cryptography libraries;
* memory protection на підтримуваних архітектурах;
* userspace;
* permissions;
* security advisories;
* vulnerability handling;
* SBOM і supply chain-підходи в сучасних embedded-проєктах.</div>
! |-
| Zephyr SDK 1.0 з'явився разом із Zephyr 4.4
| Це важлива ознака зрілості tooling-екосистеми. Чому виникає
== 3. Що таке Zephyr простими словами ==
<pre>
кнопка → мікроконтролер → мотор
{| class="wikitable"
Один vendor → свій SDK → свої драйвери → своя документація → свій спосіб збірки. FreeRTOS
<pre>
'''Devicetree''' у Zephyr описує hardware. |-
| Організація
| Linux Foundation. Перевірити logs. |-
| У Zephyr hardware і software конфігуруються окремо
| Devicetree описує hardware, Kconfig — software-функції. |-
| Потрібно розуміти hardware
| Zephyr не прибирає embedded-складність на 100%.
Це критично для: Типові сценарії: IoT Це не означає, що Zephyr автоматизовано замінює AUTOSAR або комерційні safety RTOS, але показує напрям розвитку.SEO title: Zephyr — відкрита RTOS для IoT, embedded-систем і мікроконтролерів SEO keywords: Zephyr, Zephyr RTOS, RTOS, Linux Foundation, embedded systems, IoT, microcontrollers, Kconfig, Devicetree, West, MCU, BLE, RISC-V, ARM, FreeRTOS, Embedded Linux </noinclude>
{{SEO
Шаблон для службового SEO-опису сторінки.
}}
Zephyr здатна бути привабливим для BLE-проєктів, бо дає готову RTOS-структуру, Bluetooth stack, драйвери й підтримку популярних SoC. :contentReference [oaicite:0]{index=0} </syntaxhighlight> |
+--> Scheduler
+--> Drivers 35. Zephyr у сучасному embedded-світі |
Запуск або прошивання залежить від target board. Обрати board. |- |
Переносимість | Один застосунок легше переносити між board-ами, ніж у багатьох vendor SDK. Devicetree описує, де вони знаходяться,
Це спроба зробити embedded-розробку менш схожою на набір ізольованих vendor SDK і більше схожою на спільну відкриту платформу. | Можливий, але залежить від kernel config і PREEMPT_RT. |} 11. Цікавий факт: “Hello World” в embedded — це часто LEDCONFIG_GPIO=y west build Колись embedded-пристрій часто був ізольованим: - UART west.ymlкритично: Zephyr — це не Linux-дистрибутив і не desktop-система. | Перевірити overlay, compatible, status і CONFIG_*. 9. Приклад Hello World+--> передає інформаційні дані через Bluetooth Багато vendors → одна спільна RTOS → спільні API → спільний build system → спільна документація. Zephyr добре відповідає саме на ці потреби. |- |
west.yml | Manifest для west workspace. Файл
CONFIG_I2C=y
+--> Kconfig
Devicetree
printk("Hello from Zephyr!\n");
CONFIG_LOG=y
6. Основні особливості6.3. технічна підтримка багатьох плат |
Zephyr return 0; West Рекомендовані практики: | - sensor +--> Threads Він оптимізує: Zephyr 4.4 став першим релізом, який постачається з Zephyr SDK 1.0.1; офіційний анонс описує SDK як complete, standalone toolchain package для build, flash і debug на всіх підтримуваних архітектурах та основних ОС — Windows, Linux і macOS. k_msleep(SLEEP_TIME_MS); | Повільніший через bootloader, kernel, userspace. |}
37. Джерела29. Коли варто використовувати Zephyr |
:contentReference [oaicite:7]{index=7} 5. |- | Модульність | Можна вмикати тільки потрібні компоненти.== 20. конкурентні переваги Zephyr == Zephyr найкраще підходить для команд, які створюють сучасні connected embedded-пристрої й хочуть мати не без зусиль маленьке ядро, а цілу відкриту RTOS-екосистему. Налаштувати prj.conf. 1. |- | Не завжди простіше за vendor SDK | Для маленького проєкту vendor SDK іноді швидший.
QNX
як приклад, виступає як пристрій:
west debug
west build -b nrf52840dk_nrf52840 app
|
Дивитися CMake output, west build logs і Kconfig warnings. За потреби додати Devicetree overlay. Значення У звичайному програмуванні перша програма друкує: Головні обмеження: |