[Generate a linker script] ページの [Basic] ビューの次のセクションを設定します。これらの主要なセクションを適切なメモリ領域に割り当てると、パフォーマンスを向上できます。コード、データ、およびヒープまたはスタック セクションの横にあるドロップダウン リストを使用して、ブロックを配置する領域とメモリのタイプを選択します。
- Code Sections
- 実行コード (命令) を格納します。このタスクには、通常 DDR メモリが使用されます。割り込みハンドラーまたはよく使用される関数を個別のセクションにビルドし、BRAM または OCM などのレイテンシの短いメモリにマップできます。
- Data Sections
- 初期化されたデータおよび初期化されていないデータを配置します。DDR メモリがよく使用されますが、データ サイズ要件が小さい場合は、パフォーマンスを向上するため OCM または BRAM を使用できます。
- Heap and Stack
- ヒープへのアクセスには、
malloc()
などのダイナミック メモリ割り当て呼び出しを使用します。これらのセクションは通常 DDR に配置したままにしますが、小さいことがわかっている場合は OCM または BRAM に配置できます。スタックがそれほど使用されない場合は、DDR に配置したままにしておいてもパフォーマンスの大幅な低下はありません。 - Heap Size
- ヒープ サイズを指定します。ダイナミック メモリ割り当てを明示的に使用しない場合でも、
printf()
などのヒープを使用する関数があります。それらの関数用に数 KB 割り当てておくことをお勧めします。 - Stack Size
- スタック サイズを指定します。スタックはメモリの下方に増加し、警告なしでヒープに侵食する可能性があります。再起関数や深い階層を使用する場合は特に、十分なメモリを割り当てるようにしてください。