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