====== FlashをNiosIIのROMとして使う ====== 外付けのパラレルFlashやEPCSの残りの領域を使って、コードをFlash上に直接置くことができる。 * メリット * 容量が大きい * 電源投入するたびにプログラムを書き込まなくて良い * デメリット(XIPの場合) * 遅い (Flashによる。DE0のパラレルFlashの場合アクセスタイムが70nsのため、RAMに比べると圧倒的に劣る。) * デバッグが不便 (**無償版コア NiosII/e のみの制限事項で、ハードウェアブレークポイントが使えない。**) なお、EPCSの場合はXIP不可(たぶん)。よってブート時にRAMに展開することとなる。 ===== BSPの設定 ===== .text, .rodata, .exceptionをROMに置きたい場合、以下のBSP設定をONすること。そうしないとリセットベクタや.dataセクションコピー等の重要なロジックが抜け落ちる…。 * hal.linker.allow_code_at_reset * hal.linker.enable_alt_load * hal.linker.enable_alt_load_copy_rwdata 「.exceptionだけRAMに置いたらFlashProgrammerがうまくやってくれる」という意見もあったが、少なくとも11.1sp2では 適切なブートコピアを展開してくれないのでダメ。