Keil Logo

ARM: HOW TO LOCATE INTERRUPT SERVICE ROUTINES FOR STR71X


Information in this article applies to:

  • RealView MDK-ARM any Version

QUESTION

The Enhanced Interrupt Controller of STR71x devices requires all interrupt service routines (ISRs) to be located in one 64 Kbyte segment. How can I achieve this with µVision and the RealView compiler? Do I need to write a Scatter-File for this?

ANSWER

This can be done without a user defined Scatter-File. You just need to define one Read/Only Memory Area (e.g. IROM2) for your ISRs in the dialog Project — Options for Target — Target. This memory range must not cross a 64 Kbyte boundary and must be excluded from other memory areas defined in this dialog.

Then, assign the same memory area (e.g. IROM2) to all C-source files which contain ISRs. Therefore, select the file or group in the project workspace and open the dialog Project — Option for File/Group. The memory area can be selected under Memory Assignment — Code/Const.

MORE INFORMATION

  • RV Compiler Introduction (\Keil\ARM\HLP\RVI.chm), Embedded Programs - Linker Configuration and Specific Memory Areas.

    Documentation Note:

    Some earlier versions of the Keil ARM toolchain included this introduction; current versions contain more relevant material. To view this reference,
    1. Download and extract the attachment fro the Attached Files section.
    2. Rename the file extension from .txt to .chm.
    3. Open with the Windows HTML Help Executable (from C:\Windows\Hh.exe).

    This guide also contains the section "Convert from CARM", which deals with migrating from CARM to the RealView Compiler. More recent compiler migration guides can be found online at infocenter.arm.com or in PDF form (\Keil_v5\ARM\HLP\).

SEE ALSO

ATTACHED FILES

Request the files attached to this knowledgebase article.

FORUM THREADS

The following Discussion Forum threads may provide information related to this topic.

Last Reviewed: Friday, April 15, 2016


Did this article provide the answer you needed?
 
Yes
No
Not Sure
 
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.