Placing the section which holds __ramfunc functions
Technical Note 82175
Architectures:
ARM
Component:
linker
Updated:
5/31/2018 9:14 AM
Introduction
This Technical Note sorts out an issue in version 5.xx of IAR Embedded Workbench for ARM.
Background
The issue is that the documentation is unclear on this topic.
Information
The __ramfunc
functions are placed in the section .textrw
The placement can be done as in this example. In the .icf
file do:
define symbol __RAM_func_start__ = 0x00200000;
define symbol __RAM_func_end__ = 0x00207FFF;
define region RAM_func_region = mem:[from __RAM_func_start__ to __RAM_func_end__];
define block RamCode {section .textrw};
place in RAM_func_region { block RamCode };
initialize by copy {readwrite};
Note that...
...this Technical Note does not apply to IAR Embedded Workbench ARM versions 5.10 and 5.11, where the IAR ILINK Linker worked in another way.
All product names are trademarks or registered trademarks of their respective owners