こんにちは、井田です。
"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
>>>
>>
>