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