基礎から学ぶ組込みμT-Kernelプログラミング
書籍情報
発売日 : 2021年12月15日
著者/編集 : 坂村 健/豊山 祐一
出版社 : パーソナルメディア
発行形態 : 単行本
書籍説明
内容紹介
IoTエッジノート向け世界標準OS「μT-Kernel」を徹底解説。組込みプログラミングを基礎から学べる入門書の決定版。
目次
監修のことば
はじめに
第1部 基礎編 IoTエッジノードとμT-Kernel
1.1 IoTエッジノードとリアルタイムOS
1.1.1 IoTエッジノードとは
1.1.2 IoTエッジノードと組込みシステム
1.1.3 リアルタイムOSとは
1.2 TRONプロジェクトとμT-Kernel
1.2.1 TRON のリアルタイムOS
1.2.2 IoT-EngineとμT-Kernel
1.2.3 IoTエッジノードの国際標準OS
1.3 μT-Kernel 3.0の基本
1.3.1 μT-Kernel 3.0 のソフトウェア
1.3.2 タスク
1.3.3 タスクの基本的な同期
1.3.4 イベントフラグ
1.3.5 セマフォ
1.3.6 ミューテックス
1.3.7 メッセージバッファ
1.3.8 メモリプール管理機能
1.3.9 メールボックス
1.3.10 時間管理機能
1.3.11 アラームハンドラ
1.3.12 周期ハンドラ
1.3.13 割込みハンドラ
第2部 実践編 マイコンボードで組込みプログラミング
2.1 マイコンボードで実行するμT-Kernel 3.0
2.1.1 マイコンボードと開発環境
2.1.2 μT-Kernel 3.0 の入手と開発環境の準備
2.1.3 マイコンボードのデバイス制御(LEDとスイッチ)
2.2 動かして覚えるリアルタイムOS
2.2.1 μT-Kernel 3.0 のプログラミング
2.2.2 タスクの生成と実行
2.2.3 マルチタスク
2.2.4 タスク間の同期
2.2.5 イベントフラグによる同期
2.2.6 メッセージバッファによる通信
2.2.7 メールボックス、メモリプール、時刻管理
2.2.8 セマフォによる排他制御
2.2.9 ミューテックスによる排他制御
2.2.10 周期ハンドラの実行
2.2.11 アラームハンドラの実行
2.3 μT-Kernel 3.0からI/Oデバイスを制御
2.3.1 I/O デバイスとデバイスドライバ
2.3.2 A/Dコンバータによるセンサー入力
2.3.3 UART によるシリアル通信
2.3.4 I2C通信による外部I/Oデバイスの制御
2.3.5 割込みによる外部入力信号の検出
第3 部 応用編 IoTエッジノードへの応用と展開
3.1 μT-Kernel 3.0のカスタマイズ
3.1.1 カスタマイズの基本
3.1.2 システムコンフィグレーション
3.1.3 サービスプロファイル
3.2 μT-Kernel 3.0のソースコード
3.2.1 μT-Kernel 3.0 のソースコード構成
3.2.2 ソースコードのハードウェア依存部
3.2.3 ハードウェア依存部の実例
3.3 μT-Kernel 3.0のポーティング
3.3.1 ポーティングの基本
3.3.2 起動処理
3.3.3 割込み関連処理
3.3.4 タイマ関連処理
3.3.5 ディスパッチ処理
3.4 デバイスドライバの作成
3.4.1 デバイスドライバの仕様
3.4.2 サンプル・デバイスドライバ
付録
Appendix-1 GitとGitHubによるμT-Kernel 3.0の開発
A1.1 GitとGitHub
A1.2 GitHubとμT-Kernel 3.0
A1.3 Eclipse(STM32CubeIDE)によるGitHub 操作
Appendix-2 μT-Kernel 3.0のプログラムのデバッグ
A2.1 μT-Kernel 3.0のデバッグ機能
A2.2 Eclipse(STM32CubeIDE)によるデバッグ
参考資料
μT-Kernel 関連商品紹介
索引
はじめに
第1部 基礎編 IoTエッジノードとμT-Kernel
1.1 IoTエッジノードとリアルタイムOS
1.1.1 IoTエッジノードとは
1.1.2 IoTエッジノードと組込みシステム
1.1.3 リアルタイムOSとは
1.2 TRONプロジェクトとμT-Kernel
1.2.1 TRON のリアルタイムOS
1.2.2 IoT-EngineとμT-Kernel
1.2.3 IoTエッジノードの国際標準OS
1.3 μT-Kernel 3.0の基本
1.3.1 μT-Kernel 3.0 のソフトウェア
1.3.2 タスク
1.3.3 タスクの基本的な同期
1.3.4 イベントフラグ
1.3.5 セマフォ
1.3.6 ミューテックス
1.3.7 メッセージバッファ
1.3.8 メモリプール管理機能
1.3.9 メールボックス
1.3.10 時間管理機能
1.3.11 アラームハンドラ
1.3.12 周期ハンドラ
1.3.13 割込みハンドラ
第2部 実践編 マイコンボードで組込みプログラミング
2.1 マイコンボードで実行するμT-Kernel 3.0
2.1.1 マイコンボードと開発環境
2.1.2 μT-Kernel 3.0 の入手と開発環境の準備
2.1.3 マイコンボードのデバイス制御(LEDとスイッチ)
2.2 動かして覚えるリアルタイムOS
2.2.1 μT-Kernel 3.0 のプログラミング
2.2.2 タスクの生成と実行
2.2.3 マルチタスク
2.2.4 タスク間の同期
2.2.5 イベントフラグによる同期
2.2.6 メッセージバッファによる通信
2.2.7 メールボックス、メモリプール、時刻管理
2.2.8 セマフォによる排他制御
2.2.9 ミューテックスによる排他制御
2.2.10 周期ハンドラの実行
2.2.11 アラームハンドラの実行
2.3 μT-Kernel 3.0からI/Oデバイスを制御
2.3.1 I/O デバイスとデバイスドライバ
2.3.2 A/Dコンバータによるセンサー入力
2.3.3 UART によるシリアル通信
2.3.4 I2C通信による外部I/Oデバイスの制御
2.3.5 割込みによる外部入力信号の検出
第3 部 応用編 IoTエッジノードへの応用と展開
3.1 μT-Kernel 3.0のカスタマイズ
3.1.1 カスタマイズの基本
3.1.2 システムコンフィグレーション
3.1.3 サービスプロファイル
3.2 μT-Kernel 3.0のソースコード
3.2.1 μT-Kernel 3.0 のソースコード構成
3.2.2 ソースコードのハードウェア依存部
3.2.3 ハードウェア依存部の実例
3.3 μT-Kernel 3.0のポーティング
3.3.1 ポーティングの基本
3.3.2 起動処理
3.3.3 割込み関連処理
3.3.4 タイマ関連処理
3.3.5 ディスパッチ処理
3.4 デバイスドライバの作成
3.4.1 デバイスドライバの仕様
3.4.2 サンプル・デバイスドライバ
付録
Appendix-1 GitとGitHubによるμT-Kernel 3.0の開発
A1.1 GitとGitHub
A1.2 GitHubとμT-Kernel 3.0
A1.3 Eclipse(STM32CubeIDE)によるGitHub 操作
Appendix-2 μT-Kernel 3.0のプログラムのデバッグ
A2.1 μT-Kernel 3.0のデバッグ機能
A2.2 Eclipse(STM32CubeIDE)によるデバッグ
参考資料
μT-Kernel 関連商品紹介
索引
著者情報
坂村 健
工学博士、IEEE Life Fellow
INIAD(東洋大学情報連携学部)学部長・教授、東京大学名誉教授、トロンフォーラム会長
オープンなコンピュータアーキテクチャTRON を構築。現在TRON は米国IEEE の標準OS となり、IoTのための組込みOSとして、携帯電話の電波制御をはじめ家電製品、オーディオ機器、デジタル機器、住宅設備、ビル設備、車のエンジン制御、ロケット、宇宙機の制御など世界中で使われている。
2015 年、国際電気通信連合(ITU)より「ITU150 アワード」を受賞。2006 年日本学士院賞、2003年紫綬褒章。
著書に『DXとは何か』、『IoTとは何か』(角川新書)、『イノベーションはいかに起こすか』(NHK出版新書)など多数。
豊山, 祐一
坂村, 健, 1951-
豊山 祐一
INIAD(東洋大学情報連携学部)特任研究員
半導体メーカーで組込みシステムのソフト開発に従事。トロンフォーラムのTRON Safe Kernel WGの座長やT3 WGのメンバーを務める。
現在、μT-Kernel 3.0関連の開発に取り組むとともに、組込みシステムの教育にも携わっている。