MSP430用ブートローダの作成
テクニカル・ノート 13285
アーキテクチャ:
MSP430
コンポーネント:
general
更新日:
2018/09/04 7:18
はじめに
このテクニカルノートでは、MSP430用のブートローダーを作成する方法について説明します。
一般的な提案
情報
MSP430用のブートローダとアプリケーションを作る方法はいくつかあります。IAR Embedded Workbench for MSP430 では、次の2つのプロジェクトを作成することをお勧めしています:
ブートローダ用のプロジェクトとアプリケーション用のプロジェクト
後で、ブートローダとアプリケーションはリンカの --image_input オプションを使用して、ダウンロードするためにマージすることができます。
アプリケーションの中にブートローダーコードをマージするには、 下記例のように、--image_input と -g リンカオプションを使用します、:
-gbootsymbol
--image_input=$PROJ_DIR$\Debug\Exe\Bootloader.bin,bootsymbol,BOOTLOADER,1
リンカ設定ファイル (.xcl) には、以下を追加します:
-Z(CONST)BOOTLOADER=addr1-addr2
アプリケーションをビルドすると、ブートローダを含む 、(デバッグ情報を含まない)1つの出力ファイルが作成されます。
背景
Oブートローダとアプリケーションのプロジェクトを別々する理由の1つは、 コンパイラが"サポート関数" uses (例えば "?DivMod16u"、"?ShiftLeft32")を使用した場合、これらの関数は簡単に手動で配置または制御できないためです。
追加情報
Help -> IAR Linker and Library Reference Guide 中の "--image_input" についての記載を参照してください。
このオプションは、Project -> Options -> Linker -> Config の"Raw binary image" オプションに対応します。
デバッグ情報をロードするには、Project -> Options -> Debugger -> Images -> Download extra image (Debug info only) を使用してください。
代替案(デバッグ)
適用
シミュレータまたはFETデバッガドライバでのデバッグ。
背景
両ドライバーともに、追加のイメージをダウンロードすることができます。(これは、次のステップで使用されます)。
手順
- (上記のように) ブートローダ用のプロジェクトと、アプリケーション用のプロジェクトをビルドします。
- リンク時にはプロジェクトを"マージ"しない でください!
- アプリケーション用プロジェクトをアクティブプロジェクトとします。
- Project -> Options -> Debugger -> Images -> Download extra image によって(アプリケーション・プロジェクトに)ブートローダプロジェクトを追加します。
- 重要 - "Debug info only" チェックボックスに チェックしていないことを確認してください。 (すなわち 上記'一般的な提案'とは逆です。)
- ダウンロードしてください。
- 追加の考慮事項
- 2つの main関数(ブートローダとアプリケーションに)があるため、"run to main" を無効にしてください。
- (Tools -> Options ダイアログ中の) "Stack plug in" を無効にしてください。
- デバッグ時 - デバッグ時に、View > 'Images'ウィンドウを利用し、(コンテキストメニューを使用して)どちらのイメージからのデバッグ情報も制御が可能です。
全ての製品名は、それぞれの所有者の商標または登録商標です