(toppers-users 132) Re: スタブなしについて質問 2
Shinya Honda
honda @ ertl.ics.tut.ac.jp
2001年 3月 20日 (火) 23:07:19 JST
豊橋技術科学大学の本田です.
- "Takeda Masaru" <takeda-masaru @ ryusyo.co.jp>-san writes ---
> どうもお世話になります。
> 前述のスタブなしの場合についてですが、
> 回答をいただいたとおりにやってみたのですが、
> できた実行ファイルをROMに焼いても動きません。
> ただし、手持ちのハードに合わせるために、
> 少しだけ手を加えたファイルがあります。
> ハードの相違点は
> ○クロック24.54545MHz
> ○リトルエンディアン
> ○ROM領域 0番地〜
> ○RAM領域 0x10000000番地〜
> ○スタック領域 〜0x101ffff0
> ○RS232Cボーレート 38400bps
> こんなところです。
> Makefile.configとsys_config.hを変更しました。
> 添付しますのでどうか見て下さい。
Makefile.configとsys_config.hの設定は,これでいいと思います.
> あと、sh3.txtにhardware_init_hookにBSCの
> 設定を追加するように書かれていたので、
> 自分なりに書いてみましたがこれもだめでした。
> これも必要ですか?
>
hardware_init_hookには,ボード依存の初期化を記述する必要があります.
DVESH7700のhardware_init_hookが空なのは,イメージのロードにGDB-STUB を
使うことを想定しているため,GDB-STUBの方で初期化が終了しているので,必
要ないからです.(手抜きという話もありますが....)
そのため,直接カーネルをROMから起動しようとした場合は,
hardware_init_hookにBSC等の初期化処理を記述する必要があります.
添付されたsys_support.Sを見ますと,SHのアセンブラの記述方法が間違って
ます.SHは16bit固定長命令のため,基本的に大きな即値を扱うには,一旦レ
ジスタに読み込む必要があります.
例えば,
#define BSC_BCR1 0xffffff60
move.l #0x0800, BSC_BCR1
をGCCの形で書くと,
mov.l BSC_BCR1,r0
mov.l BSC_BCR1_DATA,r1
mov.w r1, @ r0
.align 4
BSC_BCR1:
.long 0xffffff60
BSC_BCR1_DATA:
.long 0x0800
バスコントロールレジスタ(BCR1)は,16ビットレジスタなので,mov.wでアク
セスする必要があります.
hardware_init_hookは,sh3-stubのinit_dvesh3.Sを参考にして下さい.具体
的には,init_bscをhardware_init_hookに変えて,ファイルの下の方のXXX_D
をターゲットボードにあわせて,各コントロールレジスタに設定する値に変え
ます.以下()内は,SH7708シリーズハードウェアマニュアルの関連ページ番号
です.
FRQCR_D: 内蔵周波数レジスタ(FRQCR)の設定値(9-18)
BCR1_D: バスコントロールレジスタ(BCR1)の設定値(10-15)
BCR2_D: バスコントロールレジスタ2(BCR2)の設定値(10-18)
WCR1_D: ウェイトコントロールレジスタ1(WCR1)の設定値(10-20)
WCR2_D: ウェイトコントロールレジスタ2(WCR2)の設定値(10-21)
MCR_D: 個別メモリコントロールレジスタ(MCR)の設定値(10-24)
DCR_D: DRAMコントロールレジスタ(DCR)の設定値(10-29)
RTCSR_D: リフレッシュタイマコントロール(RTCSR)の設定値(10-34)
RTCNT_D: リフレッシュタイマカウンタ(RTCNT)の設定値(10-36)
RTCOR_D: リフレッシュタイムコンスタントレジスタ(RTCOR)の設定値(10-37)
RFCR_D: リフレッシュカウントレジスタ(RFCR)の設定値(10-37)
以下はDVESH7700固有のレジスタです.
DGR_CSR0_D:
DGR_CSR21_D:
DGR_CSR23_D:
DGR_CSR24_D:
ターゲットボードで他にROMから動作するプログラムのソースがありましたら,
その初期化処理を見て,上記のレジスタの設定値をそのまま使うのが一番確実
だと思われます.
以上,よろしくお願いします.
-------------------------------------------
豊橋技術科学大学 情報工学専攻 1年 高田研究室
E-mail honda @ ertl.ics.tut.ac.jp
WWW http://www.ertl.ics.tut.ac.jp/~honda
本田 晋也