インテルのみ表示可能 — GUID: qlr1642039349374
Ixiasoft
インテルのみ表示可能 — GUID: qlr1642039349374
Ixiasoft
5.8.3. 初期化されたメモリー・コンフィグレーションからの実行
リセットアドレスは、メモリー内のアプリケーションの先頭を指します (ブートローダなし)。プロセッサーがリセットから復帰する前に、リセットメモリーの内容を初期化する必要があります。初期化は、不揮発性リセットメモリー (フラッシュ、ROM、初期化された FPGA RAM など) を使用して実装するか、リセットメモリーに書き込む外部マスター (別のプロセッサーなど) によって実装できます。 HAL C ランタイムのスタートアップ・コード (crt0) は命令キャッシュを初期化し、alt_load()を使用して選択したセクションを VMA にコピーし、_start にジャンプします。関連する各セクション (.rwdata、.rodata、.exceptions) に対しては、ブール設定はこの動作を制御します。デフォルトの Tcl スクリプトは、表ブートローダーに依存する設定で説明されているように、これらをデフォルト値に設定します。
複数のリセット後に .rwdata を正しくする必要がある場合、alt_load() は .rwdata セクションを (別の RAM または .text RAM と同じ RAM 内の予約領域のいずれかに) コピーする必要があります。
- alt_load() が呼び出される
- 実行可能ファイルのコードがリセットされる
デフォルトの Tcl スクリプトは、リセットと .text メモリーが同じである場合に、このコンフィグレーションを選択します。
このブート・コンフィグレーションでは、プロセッサー・コアがリセットされると、デフォルトで .rwdata セクションは再初期化されません。通常、再初期化はブートローダーによって行われます。ただし、起動前に事前に初期化されると想定されるメモリーが不足しているため、このコンフィグレーションにはブートローダーがありません。ソフトウェアにプロセッサーのリセット時に再初期化する必要がある .rwdata セクションがある場合は、BSP の hal.linker.enable_alt_load_copy_rwdata 設定をオンにします。