出版社内容情報
組み込みプログラミングにおいて、「AをやりながらBも同時に進める」といった並行処理は、プログラムの難易度を著しく上昇させます。しかし、リアルタイムOS(RTOS)を用いることで、タスク管理が容易になり、コードの見通しを良くすることができます。
本書の主題であるFreeRTOSは、軽量かつ幅広いプラットフォームに対応したRTOSです。現在はMITライセンスのもとオープンソースとして提供されています。Wi-Fi、Bluetooth、イーサネットを介したクラウド接続機能も強化されています。
本書では、リアルタイムOSであるFreeRTOSを、手軽に利用できるプラットフォームとしてArduinoを使うことを軸に解説します。特に、標準でFreeRTOSベースで構成され、デュアルコアに最適化されたESP32、およびデュアルコアのタスク割り当てが可能なRaspberry Pi Pico WをArduinoで使用する方法に焦点を当てます。小型で安価なXIAOシリーズを中心に、ブレッドボードでの具体的な製作例を通して、FreeRTOSの実践的な使い方を詳細に解説します。
【目次】
第1章 FreeRTOSとは
1-1 RTOSとは
1-2 FreeRTOSとは
1-3 FreeRTOSの内部構成と動作
1-3-1 Amazon FreeRTOSの全体構成
1-3-2 FreeRTOS Kernel部の構成
1-3-3 タスクの状態遷移
1-3-4 タイムスライス
1-3-5 メモリ管理
第2章 ArduinoとFreeRTOS
2-1 ArduinoとFreeRTOSの連携
2-2 Arduino ESP Coreの概要
2-3 Arduino-Picoの概要
第3章 テスト用ハードウェアの製作
3-1 XIAO IoT Boardの製作
3-1-1 XIAO IoT Boardの全体構成
3-1-2 主要部品の概要
3-1-3 回路設計と組み立て
3-2 Pico IoT Boardの製作
3-2-1 Pico IoT Boardの全体構成
3-2-2 主要部品の概要
3-2-3 回路設計と組み立て
3-3 周辺デバイスライブラリの使い方
3-3-1 BME280センサライブラリの使い方
3-3-2 OLED用ライブラリの使い方
3-3-3 実際の例題
第4章 FreeRTOSの基本の使い方
4-1 FreeRTOSを使うための準備
4-1-1 ESP32系の場合
4-1-2 Raspberry Pi Pico系の場合
4-1-3 ビルドと書き込み
4-2 タスクの作り方とタスク制御
4-2-1 タスクの基本書式
4-2-2 タスク生成関数
4-2-3 タスク制御用API関数
4-2-4 例題によるタスクの作成方法
4-2-5 例題によるタスク制御の使い方
4-3 Queue(キュー)の使い方
4-3-1 Queueとは
4-3-2 Queue制御用のAPI関数
4-3-3 競合が起きる例題
4-3-4 Queueを使った例題
4-4 Semaphore(セマフォ)の使い方
4-4-1 Semaphore(セマフォ)とは
4-4-2 Semaphore制御用API関数
4-4-3 例題によるSemaphoreの使い方
4-5 Mutex(ミューテックス)の使い方
4-5-1 Mutexとは
4-5-2 Mutex制御用API関数
4-5-3 Mutexなしの例題
4-5-4 例題によるMutexの使い方
4-6 Notification(タスクノーティフィケーショ



