「NDS ソフト/HOS」の編集履歴(バックアップ)一覧はこちら

NDS ソフト/HOS」の最新版変更点

追加された行は青色になります。

削除された行は赤色になります。

 ** HOS-V4 (Hyper Operating System V4)
 - μITRON4.0仕様の組み込み向けリアルタイムOSをDSに移植
+- 移植の記録と関連するファイルを公開
+- 何に使おうか?
 
 *** ソースコードの入手
 - [[http://sourceforge.jp/projects/hos/]]
 - 上記サイトで HOS-V4 のアーカイブ(h4_102.tgz)をダウンロード
 
 *** ライブラリのコンパイル
 - HOS-V4 ライブラリをビルド
 - 使用する環境は devkitARM r23b + libnds-071023
 - 作業ディレクトリとして hos-v4/lib/arm/nds を利用
 - hos-v4/lib/arm/gcc/h4arm.mak を変更して makefile に利用
  % cd hos-v4/lib/arm/nds
  % make -f h4arm.mak
 
 *** 移植
 - プロセッサ依存のインクルードファイル(hos-v4/include/arm/hospac.h)の修正
 - 依存部分の API の対応
 |hospac_ini_sys|初期化|
 |hospac_dis_int|割り込み禁止|
 |hospac_ena_int|割り込み許可|
 |hospac_cre_ctx|実行コンテキスト作成|
 |hospac_swi_ctx|実行コンテキスト切り替え|
 |hospac_set_tex|例外処理実行設定|
 |hospac_idle|アイドル時処理|
 - 割り込み処理の対応
 
 *** hos4cfg のコンパイル
 - cygwin の環境で make
 - DS 用の環境は msys なので CFLAGS と LFLAGS に -mno-cygwin を追加
 - msys で引数がうまくわたらないので、hos4cfg.cpp を修正 (テストプログラム以外で使う場合、要注意)
  % cd hos-v4/config
  % make -f gcc.mak
 
 *** テストプログラム
+- コンフィギュレーションファイルの作成
+- タイマー関連の実装
+-- 1ms をシステムタイムの単位として、その時間毎に isig_tim() を呼び出す必要あり
+-- これを行うため TIMER3 割り込みを利用
 #ref(test_hos.png)
 
 *** ダウンロード
-- HOS-V4 DS 移植部分の差分ファイル
+- 自己責任の上で使用してください(参考程度に)
+- HOS-V4 DS 移植部分のファイル差分 ([[hos-v4-diff-for-nds080602.zip>http://www41.atwiki.jp/tako2lab/?cmd=upload&act=open&page=NDS%20%E3%82%BD%E3%83%95%E3%83%88%2FHOS&file=hos-v4-diff-for-nds080602.zip]])
 -- 実はμITRON の仕様についてはよく知っていないので、これが正しいかどうか正確にはわかりません
 -- 特に IRQ ハンドラからの遅延ディスパッチのあたりが怪しいです
-- テストプログラム
+-- 大部分は動作未確認です (テストプログラム程度)
+- テストプログラム([[test_hos080602.zip>http://www41.atwiki.jp/tako2lab/?cmd=upload&act=open&page=NDS%20%E3%82%BD%E3%83%95%E3%83%88%2FHOS&file=test_hos080602.zip]])
 -- テストプログラムでハマったのが iprintf で、スタックを 2KB 程使ってしまいサイズが小さいとハングするので、念のため 4KB を指定しています
 -- Makefile の HOSDIR を hos-v4 のあるディレクトリに書き換えること