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

"C$VTBL"について訂正です
コンパイラーマニュアルを見直してみると、
"C$VTBL"は下記の意味のようです。
名称:C++仮想関数表領域
内容:クラス宣言中に仮想関数があるときに仮想関数をコールするためのデータを格納


>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)](起点)
 └[6053(U)]
   └[表示中]


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


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