原因
BBootのイメージサイズが、Block RAMのサイズよりも大きくなってしまった可能性があります。xpsでリンカスクリプトを指定せずにビルドした場合、イメージサイズがBlock RAMのサイズより大きくなってもエラーになりません。
また、ビルドの際にBBootのサイズが表示されますが、この値は、使用していないベクタ領域やアライメントによる未使用空間を除外しているため、イメージファイルのサイズよりも小さい値になっています。そのため、単純にこの値とBlock RAMのサイズを比較して、プログラムがBlock RAMの領域内に収まっているか確認することができません。
対策
xpsでリンカスクリプトを生成することで解決することができます。
このリンカスクリプトには、各セクションでどのメモリ領域を使用するかという情報が書かれているため、BBootのイメージサイズがBlockRAMよりも大きい場合は、エラーメッセージを出力します。
- [Software] > [Generate Linker Script...]を選択します
- 何も編集せずに「OK」ボタンを押下します。
- ビルドします。
BlockRAMのサイズを変更する場合は、再度xpsでリンカスクリプトを作成してください。