C
Infineon ボード用ブートローダーフラッシング手順
ブートローダ
全てのInfineon TRAVEO T2Gボードにはブートローダが必要です。デフォルトでは、最初のArm Cortex-M0+ CPUコアのみがパワーアップします。システムで使用可能な他のCPUコアを設定し、パワーアップするのはこの最初のコアの責任です。このスタートアップ・アプリケーションは、ブートローダと呼ばれます。基本的なコア・コンフィギュレーションには、ターゲット・コアを駆動するクロックの立ち上げと、ベクタ・テーブル・アドレス(VTOR )のコンフィギュレーションが含まれます。
電源とリセットのシーケンス
ターゲット CPU に電源が投入されると、一般的には、オフセットVTOR+0 からSP_Main アドレスを読み出し、その後、リセットと呼ばれる例外番号 1 のオフセットであるアドレスVTOR+4 にジャンプします。他の例外ハンドラもこのベクタテーブルに定義されています。
例外ハンドラ・アドレスの最下位ビットは、Arm命令セット(ビット未設定)とThumb命令セット(ビット設 定)を選択するために使用されます。TRAVEOファミリに搭載されているArm Cortex-M CPUは、Thumb命令セットのみの実行をサポートしています。Reset 、例外アドレスの最下位ビットが設定されていることが重要です。
アプリケーションは既にフラッシュメモリに存在することが想定されるため、ダイナミックブートイメージは存在せず、したがって専用のブートイメージフォーマットも存在しません。これは、コンフィギュレーションを実行するCPUコアとコンフィギュレーションされるCPUコアの間の調整が、設計上完全に同期していなければならないことを意味する。
通常、スタティック・アドレスはリンカ・コンフィギュレーションを使用して設定され、このアドレスを定義しなければならない場所の数を最小限に抑えます。このアプローチは、Qt Quick Ultralite でデフォルトで使用されています。
注意: VTOR のベクタ・テーブル・オフセットは、少なくとも 128 バイトのアライメントが必要です。その他のデバイス固有の制限が適用される場合があります。
以下も参照してください。
ブートローダが後続のArm Cortex-M7コアをパワーアップする一方で、TRAVEO T2G MCUのArm Cortex-M0+自体のパワーアップについては、対応するMCUデータシートの「CPUスタートアップシーケンス」の章で説明されています。この動作はTRAVEOファミリに特有のものです。
アーキテクチャレベルでは、Armv6-MおよびArmv-7Mアーキテクチャリファレンスマニュアルの以下の章に、擬似コードとして表現された正確なシステムリセット動作とベクタテーブルフォーマットに関する詳細情報が記載されています。
- リセットの動作
- ベクタテーブル
- 例外番号の定義
ブートローダのフラッシュ
ブートローダのフラッシュは、ファイル名を除けば、どのアプリケーションのフラッシュと も変わりません。詳細については、フラッシュ・インストラクションの章を参照してください。
フラッシュ・プログラミング・ツールがデフォルトのインストール・ロケーションにインストールされているか、システム・パス (PATH) から見つかった場合、フラッシュ・ターゲットは常に有効になっています。これにはブートローダも含まれます。そのため、コマンドラインレベルでプログラミングツールを使用する必要はなく、代わりにQt Creator を使用することができます。
複数の異なるバイナリ・ファイルをフラッシュする場合は、フラッシュ・メモリの消去プロパ ティをチェックしてください。データを書き込む前に、ユーティリティは既存のデータを自動的に消去します。通常、消去セクタの粒度は、書き込むデータ・セクタやブロックよりも大きくなります。例えば、内部コード・フラッシュに一度に256ビットを書き込むことができますが、対応する消去セクタのサイズは32キロバイトです。消去セクタが複数の個別のバイナリ・ファイルで重複している場合、最後に書き込まれたバイナリからの内容のみが有効になります。
ブートローダ・イメージ
ブートローダ・イメージは、Qt for MCUs インストール先のbin/bootloaders/cypress/<board>-<platform>_bootloader.elf で入手できます。ソースからQt Quick Ultralight をビルドする場合、ブートローダ・イメージもビルド・ディレクト リに置かれます。
次の表は、ブートローダ・イメージの名前と対応するMCUの一覧です。
| ボード | ターゲット名 | ブートローダ・イメージ |
|---|---|---|
| トラベオT2G cyt3dl (4m) | tviic2d4m | tviic2d4m-baremetal_bootloader.elf |
| トラベオT2G cyt3dl (4m ライトキット) | tviic2d4mlite | tviic2d4mlite-baremetal_bootloader.elf |
| トラベオT2G cyt4dn (6m) | tviic2d6m | tviic2d6m-baremetal_bootloader.elf |
| トラベオT2G cyt4dn(6mライトキット) | tviic2d6mlite | tviic2d6mlite-baremetal_bootloader.elf またはtviic2d6mlite-baremetal_mtb_bootloader.elf (ModusToolbox) |
| トラベオT2G CYT4DN (6M DDR) | tviic2d6mddr | tviic2d6mddr-baremetal_bootloader.elf |