1: 2014-12-27 (土) 15:05:49 takaboo | 現: 2017-05-17 (水) 20:38:38 takaboo | ||
---|---|---|---|
Line 1: | Line 1: | ||
TITLE:LPC82x Bootloader | TITLE:LPC82x Bootloader | ||
- | LPC82x Bootloader | ||
- | knowledge:STM32F3 Bootloader | ||
- | |||
- | |||
#norelated | #norelated | ||
#contents | #contents | ||
Line 14: | Line 10: | ||
**基本仕様 [#r62ea0f7] | **基本仕様 [#r62ea0f7] | ||
***コンパイル方法 [#kdc2554b] | ***コンパイル方法 [#kdc2554b] | ||
- | 弊社提供の[[GCC Developer Lite]]最新版のインストールコンポーネントとして「STM32F373でのみ使用」、もしくは「フルインストール」が選択されている必要があります。 | + | 弊社提供の[[GCC Developer Lite]]最新版のインストールコンポーネントとして「LPC82xでのみ使用」、もしくは「フルインストール」が選択されている必要があります。 |
- | ソースをダウンロードし適宜解凍し、GCC Developer Liteでソースを開き、コンパイルオプションにて「STM32F373 (Flash)」の設定リストを選択し、さらに最適化レベルを「-Os」にしてコンパイルします。コンパイル後に生成される.binファイルをISPやSWD等を介してフラッシュROMに書き込んだら準備完了です。 | + | ソースをダウンロードし適宜解凍し、GCC Developer Liteでソースを開き、コンパイルオプションにて「LPC824 (ROM)」の設定リストを選択し、さらに隣家スクリプトファイルを「lpc824_rom_tiny.x」に変更してコンパイルします。コンパイル後に生成される.binファイルをISPやSWD等を介してフラッシュROMに書き込んだら準備完了です。 |
***ソース及びコンパイル済みバイナリのダウンロード [#DOWNLOAD] | ***ソース及びコンパイル済みバイナリのダウンロード [#DOWNLOAD] | ||
#ref(LPC82x_BL_1.0.ZIP) | #ref(LPC82x_BL_1.0.ZIP) | ||
バージョン: 1.0~ | バージョン: 1.0~ | ||
- | 公開日: 2015/?/? | + | 公開日: 2021/?/? |
更新内容:一般向けリリース | 更新内容:一般向けリリース | ||
Line 28: | Line 24: | ||
現在リリースしているバージョンでは占有フラッシュ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として予約しているアドレスを修正すれば大抵のプログラムは動作するはずですが、それでも動作しない場合は広範な修正が必要になる場合もあります。 | ||
Line 70: | Line 66: | ||
即時転送を待ち受ける状態となりますので、STERMから任意のファイルを選択しXMODEM-1Kプロトコルで転送を開始させます。~ | 即時転送を待ち受ける状態となりますので、STERMから任意のファイルを選択しXMODEM-1Kプロトコルで転送を開始させます。~ | ||
成功すればOK、失敗するとNGと表示されます。 | 成功すればOK、失敗するとNGと表示されます。 | ||
- | >wCCCCCCCCC | + | >w |
OK | OK | ||
> | > |