1: 2014-08-20 (水) 13:26:06 yoshida | 現: 2014-08-20 (水) 13:26:06 takaboo | ||
---|---|---|---|
Line 32: | Line 32: | ||
現在リリースしているバージョンでは占有フラッシュROM領域が16kbyte以下である前提とします。 | 現在リリースしているバージョンでは占有フラッシュROM領域が16kbyte以下である前提とします。 | ||
#ref(bl_memmap.png,100%) | #ref(bl_memmap.png,100%) | ||
- | ユーザが使用できるフラッシュROMの領域は、ブートローダの後ろ0x08004000からフラッシュROMの最終番地までとなります。 | + | ユーザが使用できるフラッシュROMの領域は、ブートローダの後ろ0x08004000からフラッシュROMの最終アドレスまでとなります。 |
***ユーザプログラム [#a1597f0a] | ***ユーザプログラム [#a1597f0a] | ||
ブートローダから実行を遷移させる事ができるユーザプログラムは、以下の条件を満たしていなければなりません。 | ブートローダから実行を遷移させる事ができるユーザプログラムは、以下の条件を満たしていなければなりません。 | ||
- | -起動アドレスが0x08004000番地である | + | -先頭アドレスが0x08004000にオフセットしており、ベクタテーブルがその先頭アドレスより配置されている |
- | -0x08000000~0x08003FFF番地のフラッシュROM領域に対して書き込み操作を行わない | + | -0x08000000~0x08003FFFのフラッシュROM領域に対して書き込み操作を行わない |
GCCを使用している場合は、リンカスクリプトファイルにてROMとして予約しているアドレスを修正すれば大抵のプログラムは動作するはずですが、それでも動作しない場合は広範な修正が必要になる場合もあります。 | GCCを使用している場合は、リンカスクリプトファイルにてROMとして予約しているアドレスを修正すれば大抵のプログラムは動作するはずですが、それでも動作しない場合は広範な修正が必要になる場合もあります。 |