[H8-ML(6053)] Re: 3069でROM 起動時にダンマリ?
From: ida@xxxxxxxxxxxxxxxxxxxx
Date: 2006年08月26日(土)14時42分18秒
こんにちは、井田です。

HEW4でプロジェクトを作成するとmain関数などのファイルが自動生成されます。
生成されたファイルの中に「intprg.cpp」に
__interrupt(vect=28) void INT_IMIA1(void) {/* sleep(); */}
__interrupt(vect=29) void INT_IMIB1(void) {/* sleep(); */}
:
:
などとあり、これがベクタテーブルの設定だと思っています。
タイマー割込みも使用していて、設定時間通りに割り込みが発生しているので、
動作してると思うのですが・・・

ただ、自動生成されたファイルを元に現在の処理を移植していくと、コンパイル時に
「L3100 (F) Section address overflow out of range : "C$VTBL"」というエラーが発生したので
「C$VTBL」をセクションに追加しています。

ベクタテーブルの動作と設定について、勉強・理解不足の部分もあるかとおもいます。

Section address overflowと表示されている時点で問題ありでしょうか?


>東浦と申します。
>
>多分、外していると思いますが、
>C$VTBLが非常に気になります。これってベクタテーブルでは?
>スケルトンが作るベクタテーブル側の設定で動いていて、作成
>されているベクタテーブルで動作していないとか?
>
>
>> セクションの設定は下記のようになっています。
>> 0x00200000は外部SRAM
>> 
>> 0x00000400	PResetPRG
>> 		PIntPRG
>> 0x00000800	P
>> 		C
>> 		C$DSEC
>> 		C$BSEC
>> 		C$INT
>> 		D
>> 		C$VTBL
>> 0x00200000	B
>> 		R
>> 0x00FFFD00	S
>> 		
>
スレッド概略
[6040(R)](起点)
 └[6048(U)]
   └[表示中]
     ├[6055(1)]
     └[6057(2)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]