(toppers-users 337) Re: question about V850/JSP

Takayuki WAKABAYASHI takayuki @ ertl.ics.tut.ac.jp
2001年 12月 18日 (火) 15:58:41 JST


豊橋技術科学大学の若林です.

T.Fukushima さんは書きました:
 > hardware_init_hook()で落ちてしまいます。これは、作業
 > 上のミスでしょうか?

ログを見てみますと,最初にシミュレータに接続しているようですね.
hardware_init_hookの内部では,クロック発生器のレジスタなどを
操作している場所があるのですが,これをシミュレータが
マップしていないメモリに対するアクセスと思ってはじいているようです.
 #0xffffff80 ペリフェラルコマンドレジスタ
 # 暴走でクロック発生器がいじられるのを防ぐための保護用レジスタ

これを回避するには,シミュレータならhardware_init_hookをしなくても
大丈夫なので,hardware_init_hookの直後にjmp r31を入れればOKです.
 #jsp/v850/rtev850ema1cb/sys_support.S:57 付近

ただ,レジスタを触っている場所は幾つかあります.特に,
シリアルポートとタイマの部分は何本かまとめて叩いて
いるので,これがシミュレータを通るかは怪しいところです.
シリアルポートは,gdbの持つ機能(trap #0x1f)で代用でき
そうですが,タイマのほうは難しそうです.実ターゲット上で
動作させたほうが問題は少なそうです.

V850用のgdbスタブ自体は,eCosのパッケージに入っているようなので,
こちらを取得すればターゲットをgdb経由で制御できます.
 #http://sources.redhat.com/ecos/

以上 参考になれば幸いです.

+----------------------------------------------+
| Takayuki WAKABAYASHI (わかばやし たかゆき)   |
|  mailto: takayuki @ ertl.ics.tut.ac.jp         |
+----------------------------------------------+
| 豊橋技術科学大学 工学研究科 電子情報工学専攻 |
|   組込みリアルタイムシステム研究室           |
+----------------------------------------------+