0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ZephyrRTOSってなぁに?

Last updated at Posted at 2025-01-05

この文章は、ZephyrRTOS Advent Calendar 2024 1の4日目のエントリとして書かれました。

はじめに

ZephyrRTOS 2が最近流行ってるらしいです。むとうのまわりでも流行ってきています。
ZephyrRTOSってなんなんでしょうか?
ちょっとむとうの考えをまとめてみましょう。

この文章は、あくまでむとうが思っているZephyrRTOSに関してのポエムです。偏見が入っていたりするかと思いますので、ご利用時は自分で調べてみてください。

そもそもRTOSってなぁに?

RTOSはReal Time Operating Systemの略です。

RTOSの基礎については、RTOS Fundamentals(FreeRTOS)3 などを読んでみてください。

マイコンを使うときに、リアルタイムに処理を行いたいことがあります。
このような場合に利用されるOSがリアルタイムOSです。

SoCのコアが一つの場合は、高速に処理を入れ替えることでマルチタスクを実現しています。
リアルタイムの処理も同様で、タスクの優先順位を与え、この順位に従ってタスクの変更を行なっています。

RTOSの例

むとうが聞いたことがあるフリーで利用可能なRTOSには、以下のようなものがあります。

各RTOSの特徴を簡単にまとめてみました。

OS 開発元 ライセンス IPスタック
ZephyrRTOS Linux Foundation Apache 2.0 独自(BSD Socket like)
FreeRTOS AWS MIT / 商用6 LwIP7 (GNU)
TOPPERS TOPPERSプロジェクト(国産) TOPPERS(独自)8 9 TINET10 (独自:FreeBSD3.4由来)

ZephyrRTOS

では、ZephyrRTOSについて見ていきましょう。

ZephyrRTOSの特徴

ZephyrRTOSの公式ページの情報を見てみましょう。

Overviewに関する良い資料としては、Zephyr Project Overview11 があります。

  • 安全で、接続性に優れた、将来性のあるもの
    • サイズが小さいが大きいシステムにも拡張可能
    • 自由度が大きいが安全
    • 接続性
      • Ethernet, 802.15.4, Thread, LoRa, Bluetooth, CAN bus, …
      • 独自実装のIPスタック(IPv6, IPv4, UDP, TCP, ICMPv4, ICMPv6)
      • TLS, DTLS, MQTT, CoAP, HTTP, …
  • 開発者による、開発者のためのもの: オープンソース(Apache 2.0ライセンス)
  • 750以上のボード、多数のSoCをサポート: サポートボード一覧 12
    • 色々なSoCで動作: ARM, STM32, nRF, ...
    • 色々なボードで利用可能: M5Stackシリーズ, Raspberry Pi シリーズ, micro:bit, Seeed XIAOシリーズ, ...
    • 既に色々な製品で利用: Zephyrが動いているプロダクト 13

ZephyrRTOSの開発環境

ZephyrRTOS開発環境を構築するためには、Getting Started Guide14 を参照してください。Ubuntu, macOS, Windowsでの環境構築に関して、解説されています。

SDKは、コンパイラ、ライブラリ、作業用のツール(meta-tool)westなどからなります。

本誌にも、いくつかの記事が開発環境を構築する話や実際にプログラムをビルドしフラッシュする話になっていますので、こちらも是非ご覧ください。

おわりに

ZephyrRTOSに関して、簡単に眺めてみました。
これからもどんどん利用されていくと思われますので、是非この機会にZephyrRTOSにチャレンジしてみませんか?

  1. https://qiita.com/advent-calendar/2024/zephyr

  2. https://zephyrproject.org/

  3. https://www.freertos.org/Documentation/01-FreeRTOS-quick-start/01-Beginners-guide/01-RTOS-fundamentals

  4. https://www.freertos.org/

  5. https://www.toppers.jp/

  6. https://www.freertos.org/Documentation/02-Kernel/01-About-the-FreeRTOS-kernel/04-Licensing

  7. https://savannah.nongnu.org/projects/lwip/

  8. 免責、著作権表示が必要、作成したデバイスの報告が必要

  9. https://www.toppers.jp/license.html

  10. https://www.toppers.jp/tinet.html

  11. https://www.zephyrproject.org/wp-content/uploads/2024/12/Zephyr-Overview-20241203.pdf

  12. https://docs.zephyrproject.org/latest/boards/index.html

  13. https://www.zephyrproject.org/products-running-zephyr/

  14. https://docs.zephyrproject.org/latest/develop/getting_started/

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?