国内で利用されている組み込み向けのOSとして有名なものに、μItronというものが有ります。
μItronを使用すると、非常に省資源な環境(数kByteのRAM環境など)でも、マルチタスクのプログラミングを行う事ができます。
組み込み向けのプログラムを行う場合、実機でμItronを動作させるとタスク切り替えのタイミング等が実際の動作環境と全く同じとなります。一方で、組み込み向けの開発環境(IDE)はPC向けの環境と比べると見劣りする場合も多くまたprintfデバッグを行うにも制限が多いため開発・デバッグに苦労します。
この為、実際の製品開発では実機の方がよいのですが、初学者の勉強目的にはちょっと面倒です。
そこで、今回はWindowsでVisual Studioを使用してμItronの実行環境を構築してみます。
構築した環境はWindows上で動作し、Visual Studioによるデバッグ機能も利用できます。
使用するμItronの選定
無償で利用可能なμItronは幾つか有りますが、今回はルネサスのH8マイコン向けに作成されたHOSを使用する事にします。
HOSのメリットは以下の点です。
1.ソースコードが読みやすい
HOSのソースは比較的コメントが多く、プログラムも平易な書き方を去れているため読みやすいです。また、サービスコール(Unixで言うシステムコールの事)単位でファイルが分割されており、ソースツリーから見たい関数を探すのも簡単です。
2.ライセンスの自由度が高い
以下は、HOSのライセンスから利用条件の項目を抜粋したものです。3. 利用条件 利用にあたり著作権情報の改竄を行う事を禁じます。 上記を守る限り、商用/非商用を問わず、自由に利用することが出来ます。 利用にあたり著作権者への報告義務もありません。 |
HOSは著作権情報だけ残しておけば、コードをかなり自由に使用することが出来ます。他にソースが入手できるμITRONの実装には、TOPPERS/JSPが有りますが、こちらは利用の仕方によっては報告義務が課される場合が有ります。
2.環境を作るのが楽
実はHOSのソースにはVisualStudio2008,2010用のプロジェクトファイルが入ってます。なので、プロジェクトの環境構築に掛かる手間がかなり削減できます。
μItronカーネルのライブラリ作成
Linux等のOSでは、カーネルとユーザプログラムは別の実行ファイルになりますが、HOSでは単一のexeにOS機能が同梱される形となります。
HOSをH8マイコン上で動作させる場合、OSのサービスコール呼び出しは、内部では単なる関数呼び出しの形で実装されています。
この為、まずはOSのカーネル機能部分をlibファイルにします。
別にライブラリを作成せず、プログラムを作るたびに毎回カーネルの全*.cファイルをプロジェクトに追加しても良いのですが、管理が煩雑になるので、一旦libファイルを作成しておくと便利です。
まず、下記のサイトから最新のソースをダウンロードします。
Hyper Operating System(ITRON仕様OS)
ダウンロードするのは、hos-v4advanceです。
今回の記事では、hos-v4a-20110331.zipを使用しました。
ダウンロードしたzipを展開して、以下のプロジェクトを開きます。
hos-v4a\kernel\build\win\win32\vc2010\hosv4a.sln |
ソリューションの中には、h4acfgと、hosv4aという2つのプロジェクトが登録されています。
h4acfgは、itronのコンフィギュレータプログラムで、プログラムを作成する時に使用します。
hosv4aが実際のカーネルソースになり、ビルドするとカーネルのライブラリが生成されます。
両方のプロジェクトのビルドを行うと、Debugフォルダに以下のファイルが作成されます。
h4acfg.exe hosv4a.lib |
これでカーネルのライブラリが作成できました。
次回は、作成したライブラリを使用し、μItron環境下で動作するHelloWorldプログラムを作成するための手順を説明します。
[VisualStudioでμITRON]HelloWorldプログラムを作成する
関連記事
コメントを残す