1 ------------------------------------------------------------------------------
2 Hyper Operating System V4 Advance --μITRON4.0仕様OS
5 Copyright (C) 1998-2007 by Project HOS
6 http://sourceforge.jp/projects/hos/
7 ------------------------------------------------------------------------------
17 本ドキュメントは Hyper Operating System V4 Advance (以下 HOS-V4a)の
23 kernel/build ディレクトリの下に、各ターゲットプロセッサ毎に
25 現時点では、環境は GNU make 系のみ用意しております。
26 近年では、Windows系 及び UNIX系 どちらでも GNU make が利用可能に
27 なってきておりますので、別途入手をお願いします。
28 将来的には nmake などその他の環境も考慮に入れたいと考えています。
34 など、と実行すれば、カーネルライブラリが出来上がります。
39 HOS-V4aカーネルは、ユーザーアプリケーションにライブラリを
41 ライブラリ形式での提供ですので、スタートアップルーチンや
42 割込みベクタテーブルなどは、サンプル等を参考に、ユーザー側で
44 これにコンフィギュレータ(h4acfg.txt参照)にて、作成した
45 kernel_cfg.c をコンパイルしてリンクすることで HOSのAPIが
48 ユーザーアプリケーションをコンパイルする場合には、
49 kernel/include にインクルードパスを指定しておく必要があります。
50 利用するコンパイラの仕様にしたがって、インクルードパスを
56 HOS-V4aはμITRON4.0仕様準拠のAPIの他に、独自のAPIを備えています。
57 μITRON4.0仕様では、実装依存APIは vxxx_xxx の形で提供することと
58 定めており、HOS-V4a の独自APIもこの形式を取ります。
67 ハードウェア初期化やライブラリ初期化など、C言語の前処理が終わった後に
73 ER vclr_int(INTNO intno);
76 割込みコントローラ(IRC)に、割込み要因の保留&クリア機構があった場合に、
77 intnoで指定した割込み番号の割込み要因クリアを行います。
80 ターゲット依存である為、提供されないプロセッサも存在します。
82 本APIはIRCに割込み要因の保留があった場合に適用されるもので、周辺
83 デバイス側の割込み要因をクリアするものではないので注意が必要です。
85 割込みサービスルーチン(ISR)は1つの定割込み番号に複数のサービスを
86 登録することも可能である為、適切なタイミングでクリアしてください。
87 一般的にはエッジトリガの割込み(発生時のみトリガが起こる)では、
88 割込み処理の前にクリア、レベル割込み(割込み要因が解決するまで割込み
89 信号が消えない)では割込み処理の後にクリアします。
94 ER vchg_ilv(INTNO intno, INT ilv);
96 割込みコントローラ(IRC)に、割込み要因毎に割込み優先レベル設定が
97 あった場合に、intnoで指定した割込み番号の割込み優先レベルをilvに
101 ターゲット依存である為、提供されないプロセッサも存在します。
102 本APIはIRCに割込みレベル機能があった場合に適用されるものです。
107 ER vget_ilv(INTNO intno, INT *p_ilv);
109 割込みコントローラ(IRC)に、割込み要因毎に割込み優先レベル設定が
110 あった場合に、intnoで指定した割込み番号の現在の割込み優先レベルを
114 ターゲット依存である為、提供されないプロセッサも存在します。
115 本APIはIRCに割込みレベル機能があった場合に適用されるものです。
121 HOS-V4a は用途に応じて、利用しないAPIや属性を取り外したり、
122 適用する内部アルゴリズムを選択することで、メモリを削減したり、
123 パフォーマンスを重視したりといったカスタマイズが可能な構成に
126 具体的には、kernel/include/config 以下のインクルードファイルを
127 修正することによってカーネルの細かなカスタマイズが可能です。
129 例えば、オブジェクトの動的生成/削除を利用しないのであれば、
130 オブジェクト管理構造を単純化できます。タスク数やオブジェクト数が
131 少なければ、メモリを削減して単純なアルゴリズムを適用しても
132 パフォーマンスは落ちませんし、intがcharに置き換えられる部分も
135 HOS-V4a は、メモリ制約の厳しい用途から、大規模用途まで
136 自由にカスタマイズしながら適用できるOSを目指しています。
141 ------------------------------------------------------------------------------
143 ------------------------------------------------------------------------------