概要
組み込みプログラミングにおいて,「AをやりながらBも同時に進める」といった並行処理は,プログラムの難易度を著しく上昇させます。しかし,リアルタイムOS(RTOS)を用いることで,タスク管理が容易になり,コードの見通しを良くすることができます。
本書の主題であるFreeRTOSは,軽量かつ幅広いプラットフォームに対応したRTOSです。現在はMITライセンスのもとオープンソースとして提供されています。Wi-Fi,Bluetooth,イーサネットを介したクラウド接続機能も強化されています。
本書では,リアルタイムOSであるFreeRTOSを,手軽に利用できるプラットフォームとしてArduinoを使うことを軸に解説します。特に,標準でFreeRTOSベースで構成され,デュアルコアに最適化されたESP32,およびデュアルコアのタスク割り当てが可能なRaspberry Pi Pico WをArduinoで使用する方法に焦点を当てます。小型で安価なXIAOシリーズを中心に,ブレッドボードでの具体的な製作例を通して,FreeRTOSの実践的な使い方を詳細に解説します。
こんな方におすすめ
- ラズパイPIやESP32で,もっと多機能な作品を作りたい人
- FreeRTOSを使いたい人
サポート
ダウンロード
本書で作成した例題のプログラムと,回路図,配置図がダウンロードできます。圧縮ファイルですので,解凍してお使いください。
回路図(Hardwareフォルダ)
- 「○○_SCH」は回路図
- 「○○_BRD」は配置図
- 「Gerber」フォルダは,プリント基板発注用のデータ
プログラム(Programフォルダ)
章ごとに作成したプログラムが格納されています。
- 「○○ .ino」はArduino IDEで開くスケッチ
- 「Libraries」フォルダは共通して使えるライブラリ
- 「○○ .aia」はMIT App Inventor2のプログラム
なお,ソースリスト中にWi-FiのSSIDやパスワード,クラウドサービスのIDなどが必要なものは,そのままでは動作しません。読者の方の環境に書き換える必要があります。
これらのファイルについて,一般的な環境においては特に問題のないことを確認しておりますが,万一障害が発生し,その結果いかなる損害が生じたとしても,小社および著者はなんら責任を負うものではありません。また生じた損害に対する一切の保証をいたしかねます。必ずご自身の判断と責任においてご利用ください。
以上のことをご確認,ご了承の上,データをご利用願います。
- ダウンロード
- ArduinoIDE_FreeRTOS.zip
なお,本zipファイルの展開時に「圧縮 (zip 形式) フォルダーは無効です」というメッセージが表示されることがあります。実際にはファイルは破損しておらず,サードパーティ製の解凍ツールをご利用いただくことで,解凍することができます。zipファイル中に大量のファイルが含まれており,またフォルダ階層も深いため,この現象がおきたものと考えられます。
詳細は以下のMicrosoft公式ブログをご覧ください。
https://jpwinsup.github.io/blog/2026/06/23/Shell/Explorer/zipfldr-maxpath-japanese-encoding/
正誤表
本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。
P.175 図7-2 回路図
| 誤 |
pin30(RUN)端子とGNDが接続されている(交点に黒丸がある) |
| 正 |
pin30(RUN)端子とGNDは接続しない(交点に黒丸なし) |
| 正しい回路図 |

|