(toppers-users 2804) Re: Toppers/ASP の windows上でのシミュレータ
ykominami
ykominami @ nifty.com
2008年 9月 8日 (月) 09:24:40 JST
小南と申します。
松園 敬二 さんは書きました:
> 松園と申します。
>
> Toppers/ASP のシミュレーション環境についてお尋ねします。
>
> Toppers/JSP には Windows 上で Toppers/JSP を動かす
> ためのシミュレータが付いていましたが、ASP では
> 見当たらないようです。
ASPについてはWindowsシュミレータは提供されていません。
> この ML の過去ログで skyeye というシミュレータ簡易
> パッケージがあることを知りました。これは ARM 用のようです。
>
> CPUに非依存なシミュレーション環境はあるのでしょうか?
>
> # H8 の場合は HEW を使えるらしいですが
ここまでの記述ですと、松園さんの求められているものが絞りきれて
いないように感じます。
skyeye自体は、LinuxでもWindowsでも動作します。
skyeye自身は、ARMコア+周辺機能(Timer,UART,NICなど)を
シミュレートします。
skyeye上で、ARM用の各種OSが動作します。
このため、Windows上でskyeyeをコンパイルし、Windows上でARM用
クロスコンパイル環境を構築し、TOPPERS/ASPのskyeye用簡易パッケージ
でsample1をコンパイルする
と、Windows上で動作するskyeyeの上で、TOPPERS/ASP(とその上の
アプリケーション)
を実行することができます。
これは引き合いにだされているHEWのH8シミュレータ機能でH8依存部を
もつTOPPERS/ASPを実行する事と、同じ構造になると思います。
#ただし、私自身はHEWのH8シミュレータ機能は使った経験はありません。
> CPUに非依存なシミュレーション環境はあるのでしょうか?
といのは、シミュレーション環境のどの部分がCPUに非依存であればよい
のでしょうか。
TOPPERS/JSPのWindowsシュミレータでも、skyeyeでも、シミュレーション
環境自体の実行はWindows上で行えます。
skyeyeならLinux上でも動作します。
TOPPERS/JSPのシミュレータは、カーネルのターゲット依存部がWindows
上で動作するように記述されています。
その意味ではCPUに非依存とはいえますが、カーネルのターゲット非依存部
(各種サービスコールを実装している部分など)から見れば、他のCPUアーキテクチャ
毎のターゲット依存部と同列の存在であり、CPU非依存というよりは、Windows
という一つの仮想のCPUアーキテクチャという扱TOPPERS/ASPカーネルのターゲッ
ト依存部が
TOPPERS/ASPカーネルのターゲット依存部が
いになります.
#TOPPERS/JSPのターゲット依存部の相当するものは、TOPPERS/ASPにおいては
#CPUアーキテクチャに依存する部分と、ボードに依存する部分を別ディレクトリ
#に分けて記述するように変更されています。
#TOPPERS/ASPでは、ターゲット依存部はTOPPERS標準割り込み処理モデルに
#則り、実装されることが求められます。
それから、TOPPERS/ASPには、Mac OS X版シミュレータが存在します。
これはMac OS X上で動作するシミュレータであり、その意味ではCPU非依存です。
ただし、そのままではLinux、Windowsなどでは動作しません。
私はTOPPERSプロジェクトのコンポーネントWGにおいてTECS(TOPPERS Embedded
Component System)の開発時のテストベンチ用に、Mac OS X版シミューレタ
をベースにLinuxで動作するように修正して使っています。
けれどもcygwinの環境ではコンパイルはできるが、ASPカーネルの初期化処理中
にcore dumpする状態です。
以上が、私の知っている、TOPPERS/ASPのシミュレータの現状です。
--
ykominami @ nifty.com