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