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
问题终于解决了,IAR9.1按照AN4296操作,是不可以的,把放到RAM中的程序先定义到block,再定义到section
具体操作是
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: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
谢谢,按文档里的内容仿真的时候有些问题,所报的内容如下,程序实际也不能运行