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