禺画像]
Raisonance Ride7 に STM32F103VBT6DFU と STM32F103VBT6IAP を追加した。
STM32F103VBT6DFU は CodeStart 0x8003000
STM32F103VBT6IAP は CodeStart 0x8002000
これでメニューに出てくるようになったので、簡単に切替できる。
ただし、NVIC_SetVectorTable でベクターテーブルだけはオフセットを指定しなければならない。
コメントに書いたことをまとめると
@Sim ディレクトリにデバイスファイルを追加 (STM32F103VBT6DFU.sim)
AHFARM.XML にそのデバイスを登録 (STM32F103VBT6DFU)
BRegistry にそのデバイスを登録 (STM32F103VBT6DFU)
CScripts file を変更して RAMStart と CodeStart を *.sim から読み込むように変更
と、なかなか手順が複雑
追記:
一番簡単なのはリンカーオプションでスタートアドレスを指定する方法だ。
ここに書いてある。
-Wl,--section-start -Xlinker .isr_vector=0x08003000
を追加するだけでよい。
もちろん nvic は変更が必要。
この方法だと STM32P103VBT6DFU.sim などの登録や、スクリプトファイルの変更は必要ない。
禺画像]
参照:
STM32: Relocatable code
セコメントをする