適用先: ARM 開発ツール
回答
この記事に含まれている情報の適用先:
- RealView MDK-ARM の全バージョン
質問
STR71x デバイスの拡張割り込みコントローラでは、すべての割り込み処理ルーチン(ISR)を 1 つの 64KB セグメント内に配置することが要求されます。これを uVision と RealView コンパイラで実現する方法を教えてください。このためにスキャッタファイルを記述する必要がありますか?
回答
この作業はユーザ定義のスキャッタファイルを使用せずに行うことができます[Project]→[Options for Target]→[Target] ダイアログで ISR に対して読み出し専用のメモリ領域(例: IROM2)を 1 つ定義することだけが必要です。このメモリ範囲は 64KB 境界をまたいではならず、このダイアログで定義されている他のメモリ領域には含まれない必要があります。
その後で、同じメモリ領域(例: IROM2)を ISR が含まれているすべての C ソースに割り当てます。ここで、プロジェクト ワークスペース内のファイルまたはグループを選択し、[Project]→[Option for File/Group] ダイアログを開きます。メモリ領域は [Memory Assignment]→[Code/Const] から選択することができます。
詳細
- RV Compiler Introduction (KeilARMHLPRVI.chm), Embedded Programs - Linker Configuration and Specific Memory Areas
関連項目
- ARM: HOW TO CREATE ONE HEX FILE FOR MY APPLICATION
- ARMCC: STR7 INTERRUPT HANDLERS