Nios® Vエンベデッド・プロセッサー・デザイン・ハンドブック

ID 726952
日付 10/31/2022
Public
ドキュメント目次

4.4.1.1. alt_load()

BSP Editorを使用して、HALコードで alt_load() 関数をイネーブルすることができます。

インプレースで実行するブートフローで使用すると、alt_load() 関数は次のタスクを実行します。
  • BSP設定に基づいて、メモリーセクションをRAMにコピーするミニ・ブート・コピアーとして動作します。
  • データセクション (.rodata, .rwdata, .exceptions) をRAMにコピーしますが、コードセクション (.text) はコピーしません。コードセクションの (.text) セクションは読み出し専用セクションであり、ブート・フラッシュ・メモリー領域に残ります。このパーティショニングはRAMの使用を最小限に抑えるのに役立ちますが、コードの実行パフォーマンスが制限される可能性があります。これは、フラッシュメモリーへのアクセスがオンチップRAMへのアクセスよりも遅いためです。

次の表に、BSP Editorの設定と機能を示します。

表 13.  BSP Editorの設定
BSP Editorの設定 関数
hal.linker.enable_alt_load alt_load() 関数をイネーブルします。
hal.linker.enable_alt_load_copy_rodata alt_load().rodata セクションをRAMにコピーします。
hal.linker.enable_alt_load_copy_rwdata alt_load().rwdata セクションをRAMにコピーします。
hal.linker.enable_alt_load_copy_exceptions alt_load().exceptions セクションをRAMにコピーします。