現在,組み込みシステムのソフトウェア開発は,複雑かつ多様化するシステムに対応するため,リアルタイムOSを搭載する事例が増えている.また,IoT時代に対応したセンサ・ネットワークの構築にも,組み込みリアルタイムOSは欠かせない存在となっている.
本講義の目標は,組み込みリアルタイムOSの最新仕様であるμT-Kernelの機能を理解し,タスク数個の簡単なシステムが構築できる知識を習得することである.
実習ではC-FirstボードとArduino仕様の7セグメントLEDシールドをハードウェア・ターゲットとし,ルネサス エレクトロニクス社の統合開発環境CS+用にポーティングされたμT-Kernelのソース・コードを使用する.
また,μT-Kernelのカスタマイズ方法やデバッグ環境の構築についても,解説を行う.
1. リアルタイムOS(μT-Kernel)の概要(2.0時間)
1.1 組み込み系リアルタイムOSに求められるもの
1.2 組み込み系リアルタイムOSの最新仕様μT-Kernelの概要
2. タスクのスケジューリング方式(1.5時間)
2.1 タスクの状態遷移とレディキュー
2.2 タスクの状態遷移
2.3 システム・コールのコーディング例
3. タスク管理機能とタスク付属同期機能(1.0時間)
3.1 tk_sta_tskとtk_ext_tsk
3.2 tk_wup_tskとtx_slp_tsk
3.3 起床要求のキューイング
4. イベント・フラグ(1.0時間)
4.1 イベント・フラグの概要
4.2 tk_set_flgとtk_wai_flg
4.3 イベント・フラグによるデータの受け渡し
5. メール・ボックス(1.0時間)
5.1 メール・ボックスの概要
5.2 メッセージのフォーマット形式
5.3 tk_snd_mbxとtk_rcv_mbx
6. メッセージ・バッファ(1.0時間)
6.1 メール・ボックスの概要
6.2 tk_snd_mbfとtk_rcv_mbf
7. 総合演習(2.0時間)
7.1 ボリュームのA/D変換とLEDのダイナミック点灯
7.2 システム・コールの選択とコーディング
8. その他の機能(1.5時間)
8.1 セマフォ-とミューテックス
8.2 固定長メモリ・プールと可変長メモリ・プール
8.3 周期ハンドラとアラーム・ハンドラ
実習で使用するC-Firstボードと7セグLEDシールド
スタック見積ツールの画面
開発環境のサンプル画面●対象聴講者
・これから組み込み系リアルタイムOSを始める方
・μT-Kernelの機能を理解したい方
・C-First用にポーティングされたμT-Kernelの使い方を知りたい方
★C言語の基本的な文法は理解していることが前提となります
●講演の目標
・組み込み系リアルタイムOSの概要が理解できる
・μT-Kernelの機能が理解できる
・μT-Kernelを使った簡単なシステム設計ができるようになる