TOPPERS 活用アイデア・アプリケーション開発
コンテスト

部門	 

：	  活用アイデア部門	  	  	  	  アプリケーション開発部門	 

作品のタイトル	 ：	  組込みシステム中級者向け教材の開発

作成者：	  苫小牧高専組込みシステムグループ(代表：吉村斎，代表代理山本	  椋太)対象者

：	  リアルタイム OS 入門者

使用する開発成果物：	  TOPPERS/ASP カーネル

目的・狙い
RTOS を使用したことがない RTOS 入門者に対して，TOPPERS/ASP カーネルにおけるオブジェクトの概要と簡単な扱い方および簡単なデバイスドライバの作成について，講義と課題を通して学んでもらうことが，本作品における目的である．本作品においては，各オブジェクトについて，「浅く広く」知識を持たせることが狙いであり，オブジェクトを組み合わせて課題を乗り越えることを目標とする．

アイデア/アプリケーションの概要
本作品においては，教材をハードウェア，ソフトウェアおよび資料として作製した．
ハードウェアとして RX62N マイコンボード TECL (Technology Education ComputerLaboratory)を作製した．ソフトウェアとして，開発環境 CS+(ルネサスエレクトロニクス社) 上で動作する TECL 向け TOPPERS/ASP カーネルを移植により作成した．資料として，RTOS と TOPPERS/ASP カーネルの概要，タスク，周期ハンドラとアラー
ムハンドラ，セマフォ，食事する哲学者の問題，イベントフラグ，メールボックスとデータキュー，割込みハンドラ，ハードウェア制御の講義スライドを作成した．

1. 教材の目的	 	  今日の組込みシステムの発展は著しく，市場では，より高性能かつ低消費電力なマイクロコンピュータが要求されている．たとえば，テレビにはネットワーク機能が標準搭載されており，スマートフォンの長時間駆動が求められている．	  また，組込みシステムの大規模化や多様化により，高い信頼性，安全性，移植性および再利用性が求められている．これらの要求に伴い，リアルタイムオペレーティングシステム(以降 RTOS と呼ぶ)の普及が拡大している．	  苫小牧工業高等専門学校(以下，苫小牧高専と呼ぶ)では，H8 マイコンを RTOS の実験実習の用途に用いているが，すでに H8 マイコンの新製品開発の見込みが無い．これに加えて，統合開発環境や ICE(In	   Circuit	  Emulator)を利用していないなどの企業の開発現場とのギャップを埋める必要があると考える．	  ここで，組込みシステムの発展に対応可能な，新たな RTOS による組込みシステム教材の開発が求められている．本作品では，組込みシステム中級者程度を対象とした，RTOS を用いた組込みシステム教材を開発したものである．組込みシステム中級者とは，本作品と平行して開発した組込み初級者向けの教材を利用して、基本的なマイコンのプログラミングの経験があることを前提とし，RTOS を用いたアプリケーションの開発を学ぶことができる者であると定義する．	  本教材は，以下のハードウェアおよびソフトウェアを使用して実現した．
(1) ハードウェア
ハードウェアの全体像は「組込みシステム教育用マイコンボード」であり，汎用 RX62N マイコンボード「TECL-01」と，教育用ベースボード「TECL-02」から構成されている．本作品では，この組込みシステム教育用マイコンボードを試作する．「TECL-01」および「TECL-02」は，本作品において開発および動作確認等を行った．
(2) ソフトウェア
ソフトウェアの構成要素は，統合開発環境とリアルタイムオペレーティングシステム(以下，RTOS と呼ぶ)からなる．この RTOS において，TOPPERS/ASP カーネル(Toyohashi OPen Platform for
Embedded Real-time Systems/Advanced Standard Profile kernel)を，本作品で開発した組込みシステム教育用マイコンボードに向け1

て移植する．TOPPERS/ASP カーネルは，TOPPERS プロジェクトによって開発されたオープンソースの RTOS である．
TOPPERS/ASP カーネルを活用したソフトウェア開発には，GUI統合開発環境「CS+」を使用する．CS+は，ルネサスエレクトロニクス社製のマイコンの統合開発環境である．
本作品で使用する統合開発環境 CS+において開発可能な，RX62Nマイコンに対応した TOPPERS/ASP カーネルが存在せず，移植作業が必要である．
(3) 資料資料の構成要素は，スライド，テキストおよび課題からなる．この資料は，上述したハードウェアおよびソフトウェアを利用する．	  	  本作品においては，基本的な事項をただ座学で学習するだけではなく，実際に課題を与え状況を整理し，学生が能動的に参加できる教材を目指す．また，FD(ファカルティ・デベロップメント)の観点からも本作品の開発を進める．FD の観点から言えば，本作品そのものによって，教員が授業内容・方法を改善し向上させるための組織的な取組みにつながる．	  	  本作品では，ハードウェア，ソフトウェアおよび資料から組込みシステム教材を構築し，高専における情報工学系学科の第 5 学年程度を対象とした RTOS に関する講義を検討した．	  	  2. 教材の全体像	 	  本作品においては，図 1 のような実験実習項目を想定している．本作
品は図 1 の中でも，中級者を対象とする．	  	  	  図 1	   本作品で想定する実験実習項目	  2	  上記の実験実習項目を実施するためのハードウェアおよび，ソフトウェアの開発が求められる．本作品で作成する教材の全体像を図 2 に示す．また，実験実習において，本作品で作成する教材を用いた場合の実験実習環境を図 3 に示す．	  
本作品における教材の各構成要素について，次章から説明する．	  	  図 2	  TECL の全体像	  	  	  図 3	   想定する実験実習環境	  	  3	  3. ハードウェアの概要	 	  本作品で作製するハードウェア全体像を図 4 に示す．	  	  本作品で作製する教育用マイコンボード『TECL』は，『TECL-­‐01』と『TECL-­‐02』の 2 枚のボードから構成される．	   それぞれのボードについて，説明する．	  	  	  図 4	  TECL のハードウェア全体像	  	  	  RX マイコンボード『TECL-­‐01』は，汎用の RX62N マイコンボードである．TECL-­‐01 は３度の試作によって完成した．作製した TECL-­‐01 を，図５に示す．	  	  	  

4図 5 TECL-­‐01 の外観	  	  RX マイコンボード『TECL-­‐02』について，TECL-­‐01 を装着されることで教育向けに特化し，教育用ベースボードとして開発する．本作品においては，TECL-­‐02 の開発において設計作業を行った．	  	  TECL-­‐02 の設計方針は，以下の通りである．	  
●	 教育向けに，図 1 の実験テーマを実施できること●	 回路図の可読性が高いこと●	 回路素子に標準部品を用い，部品コストを低減すること．
●	 苫小牧高専における実験実習項目を踏襲できること●	 現在組込みシステムの業界で用いられている，比較的新しい技術を導入していること．	  また，TECL-­‐02 に搭載する機能は以下のとおりである．	  
(1) LED
青・黄・赤・緑の 4 色のチップ LED を，各 1 個搭載する．
(2) DIP スイッチ
4 ビットの DIP-SW を 1 個搭載する．あえてハードウェアによるプルアップおよびプルダウンを行わない．マイコンが持つプルアップコ
ントロールレジスタによって，設定する．
(3) 外部割込み入力用タクトスイッチ
RX マ イ コ ン が 持 つ 外 部 割 込 み 端 子 を 使 用 す る ． NMI(NonMaskable Intterrput)ではなく，IRQ(Interrupt ReQuest)端子を使用している．
(4) A/D 変換入力用可変抵抗
RX マイコンに搭載されている，分解能 10 ビットもしくは分解能12 ビットの A/D 変換器に対して，アナログ電圧を入力する．入力用のアナログ電圧は，可変抵抗によって変更すること．ができる．
(5) D/A 変換出力測定用テストピン
RX マイコンに搭載されている，分解能 10 ビットの D/A 変換器の，アナログ電圧を出力する．出力はピンヘッダの電位であり，オシロスコープなどの測定器を用いて出力アナログ電圧を確認する．
(6) LCD(Liquid Crystal Display)
LCD は，16 文字 2 行のものを採用した．また，LCD の駆動は I2C通信によって行う．
(7) DC モータ
駆動電圧 9[V]のエンコーダ付き DC モータを使用する．ロータリーエンコーダ付属の DC モータを使用し，カウント値は RX マイコンの5外部クロック入力端子に入力する．また，DC モータの駆動は I2C 通信によって行う．
(8) ステッピングモータ
使用するステッピングモータは，二相ステッピングモータとした．
入力は，4 ビットである．視覚的に励磁方法がわかりやすくするために，LED を 4 個搭載し，各入力ビットに対応させている．
(9) CAN(1ch)(10) Ethernet 100BASE-TX	  作製した TECL-­‐02 を図６に示す．	  	  図 6 TECL-­‐02 の外観	  4. ソフトウェアの概要	 	  ソフトウェアについて，TOPPERS/ASP カーネルを TECL に向けて移植した．移植元は，NCES 人材育成プログラム(NEP)において配布されている，「組込みソフトウェア開発技術の基礎」に含まれている，RX63N マイコン向けの TOPPERS/ASP カーネルである．	  また，マイコンボードのデバイスの動作確認ができる，TOPPERS/ASP上で動作するサンプルアプリケーションを作成した．サンプルアプリケ

6

ーションの動作結果を以下に示す．

図 7 LED の動作確認	  (a) 可変抵抗をひねる前(	   撮影まで時間が経過している	   )	  (b) 下の写真は可変抵抗をひねった後	   (	   さらに時間が経過している	   )	  図 8 LCD の動作確認	  図 8 ステッピングモータの入力信号の測定	  7

!!
(! !)!

!
(! !
  )!

図 9 DC モータの入出力信号の測定	  	 5. 資料の概要	 	  本作品では，苫小牧高専における講義「オペレーティングシステムⅡ」において行っている現行の内容を踏まえて RTOS に関する講義を検討す
る，講義の内容としては以下の項目を想定している．	  	  (1) RTOS と RX マイコンの概要
RTOS とは，そもそも何であるのかといった，基本的な説明をする，また，本教育システムのうち，組込みシステム教育用マイコンボードの説明をする，(2) TOPPERS/ASP カーネル	  TOPPERS/ASP カーネルの概要の説明をする，また，
TOPPERS/ASP カーネルのディレクトリ構造はどうなっているのかを説明する．
(3) タスク	  TOPPERS/ASP カーネルにおける，タスクの状態について説明す
る，また，タスクの遷移や，スケジューリングについても説明する，
また，これらの説明を理解するの実習課題をおこなう，

8

(4) 周期ハンドラ	  TOPPERS/ASP カーネルにおける，周期ハンドラの概要を説明す
る．また，周期ハンドラを理解すること．を目的としての，実習課
題を行う．
(5) アラーム	  TOPPERS/ASP カーネルにおける，アラームの概要を説明する．
また，アラームを理解することを目的として，実習課題を行う．
(6) セマフォ	  TOPPERS/ASP カーネルにおける，セマフォの概要を説明する．
また，セマフォを理解することを目的として，実習課題を行う．
(7) 哲学者の食事問題	  セマフォを用いて排他制御問題の１つである，哲学者の食事問題を解決する実習課題を行う．デッドロックを回避する目的の２つの解決策を実装すること．が目的である，１つ目の解決策は，待ち状態にタイムアウト機能をつけることによる TOPPERS/ASP カーネル
における，アラームの概要を説明する．また，アラームを理解することを目的として実習課題を行う．
(8) イベントフラグ	  TOPPERS/ASP カーネルにおける，イベントフラグの概要を説明する．また，イベントフラグを理解することを目的として，実習課
題を行う．
(9) 割込みハンドラ	  TOPPERS/ASP カーネルにおける，割込みハンドラの概要を説明する．また，割込みハンドラを理解することを目的として，実習課
題を行う．
(10)
データキューとメールボックス	  TOPPERS/ASP カーネルにおける，データキューの概要を説明する．また，データキューを理解することを目的として，実習課題を行う．メールボックスについては，サンプルアプリケーションの実行に留める．
(11)
デバイスドライバ	  TOPPERS/ASP カーネル上で動作させる I2C のドライバを作成することを通して，簡単なデバイスドライバの作成方法を理解する．

9

6. おわりに	 	  本作品においては，組込みシステム中級者向けの教材を作製した．この教材は，実際に苫小牧高専情報工学科における第５学年対象の平成 26年度の選択科目「オペレーティングシステムⅡ」において使用された．	  また，その後，苫小牧高専情報工学科における第５学年対象の平成 27年度の実験科目「情報工学実験」において使用された．使用者にアンケートを実施しており，その項目と評価を以下に示す．	  	  表 1	   スライド，課題および授業について	  	  	  とても良い(5)	  良い(4)	  どちらとも	  いえない(3)	  悪い(2)	  とても悪い(1)	  5	  3	  2	  1	  0	  4	  7	  4	  0	  0	  0.267	  0.467	  0.267	  0.000	  0.000	  2	  5	  5	  3	  0	  0.133	  0.333	  0.333	  0.200	  0.000	  0	  3	  6	  4	  2	  0.000	  0.200	  0.400	  0.267	  0.133	  1	  6	  4	  3	  1	  0.067	  0.400	  0.267	  0.200	  0.067	  2	  1	  5	  6	  1	  相対度数	  0.133	  0.067	  0.333	  0.400	  0.067	  度数	  10	  3	  2	  0	  0	  相対度数	  0.667	  0.200	  0.133	  0.000	  0.000	  	  スライド，課題および授業について	  (1)	  スライドは，分かりやすかったか	  (2)	  スライド量は，適切だったか	  (3)	  課題の量は，適切だったか	  (4)	  課題の難易度は，適切だったか	  (5)	  授業速度は，適切だったか	  (6)	  TA(実習の補助)がいたほうが良いか	  	  度数	  相対度数	  度数	  相対度数	  度数	  相対度数	  度数	  相対度数	  度数	  平均	  全体平均	  	  4.00	  3.40	  2.53	  3.13	  2.73	  4.53	  3.39	  ※	 回答数 15 人
表 2	   ソフトウェア開発環境について	  	  	  ソフトウェア開発環境について	  	  (7)	  (8)	  (9)	  実習における統合開発環境の	  使い勝手がよかったか	  実習において，TOPPERS/ASP	  カーネルにおける	  アプリケーション開発の流れを	  理解できたか	  E1 エミュレータにおける	  デバッグ実行(ブレークポイント	  やメモリウォッチ機能など)の	  必要性があったか	  	  	  度数	  相対度数	  度数	  相対度数	  度数	  相対度数	  とても良い(5)	  良い(4)	  どちらとも	  いえない(3)	  悪い(2)	  とても悪い(1)	  5	  3	  2	  1	  0	  1	  9	  4	  1	  0	  0.067	  0.600	  0.267	  0.067	  0.000	  1	  10	  4	  0	  0	  0.067	  0.667	  0.267	  0.000	  0.000	  0	  5	  6	  2	  2	  0.000	  0.333	  0.400	  0.133	  0.133	  平均	  全体平均	  	  ※	  回答数 15 人

103.67	  3.80	  2.80	  3.42	  表 3	   ハードウェア開発環境について	  	  	  ハードウェア開発環境について	  (10)	  実習においてマイコンボードの	  使い勝手はよかったか	  (11)	  マイコンボードには現在，	  LED・SW・LCD・ADC・	  DAC・DC モータ駆動・	  ステッピングモータ駆動・	  CAN・Ethernet・RS-­‐232C・	  USB の機能がある，	  機能はこれで十分と感じたか	  とても良い(5)	  良い(4)	  どちらとも	  いえない(3)	  悪い(2)	  とても悪い(1)	  	  	  5	  3	  2	  1	  0	  度数	  2	  9	  4	  0	  0	  0.133	  0.600	  0.267	  0.000	  0.000	  5	  4	  6	  0	  0	  0.333	  0.267	  0.400	  0.000	  0.000	  	  相対度数	  度数	  平均	  3.87	  3.93	  相対度数	  全体平均	  	  3.90	  ※	  回答数 15 人	  	  これらのアンケート結果から，およそすべての項目において３以上の評価を獲得している．	  	  しかし，課題の量，授業速度およびデバッグに関する項目において 3を下回っている．また，TA が必要であるという意見も多かった．課題の量と授業速度に関しては，この教材を用いた初年度ということから，低評価となったと考えられる．	  しかしながら，より課題アプリケーションの作成におけるデバッグ作業を効率良く行うことができるよう，現在のタスクや，他の非タスクコンテキストの状態をまとめられるような補助ワークシートを作成した．	  また，デバッグに関しては，説明不足であったと考え，補足スライドを作成することで対応した．	  以上のように，本作品では組込みシステム中級者向けの教材を作製した．	  	  謝辞	 	  本作品は、経済産業省平成 27 年度戦略的基盤技術高度化支援事業 「農業機械のさらなる高度化と海外進出に資する次世代電子制御ソフトウェア基盤の開発」における助成を受けたものである。

11