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