(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