Merge pull request #742 from GustavWi/iar_mbed

Targets: IAR Fixed NVIC table in ram for stm targets
pull/766/head
Martin Kojtal 2014-11-27 03:33:50 -08:00
commit 84b6398edd
10 changed files with 41 additions and 34 deletions

View File

@ -6,7 +6,9 @@ define symbol __ICFEDIT_intvec_start__ = 0x00000000;
/*-Memory Regions-*/ /*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x00000000; define symbol __ICFEDIT_region_ROM_start__ = 0x00000000;
define symbol __ICFEDIT_region_ROM_end__ = 0x0001ffff; define symbol __ICFEDIT_region_ROM_end__ = 0x0001ffff;
define symbol __ICFEDIT_region_RAM_start__ = 0x1fffe000; define symbol __ICFEDIT_region_NVIC_start__ = 0x1fffe000;
define symbol __ICFEDIT_region_NVIC_end__ = 0x1fffe0f7;
define symbol __ICFEDIT_region_RAM_start__ = 0x1fffe0f8;
define symbol __ICFEDIT_region_RAM_end__ = 0x1fffffff; define symbol __ICFEDIT_region_RAM_end__ = 0x1fffffff;
/*-Sizes-*/ /*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400; define symbol __ICFEDIT_size_cstack__ = 0x400;
@ -44,6 +46,6 @@ place in FlashConfig_region {section FlashConfig};
place in ROM_region { readonly }; place in ROM_region { readonly };
place in RAM_region { readwrite, block CSTACK, block HEAP }; place in RAM_region { readwrite, block HEAP, block CSTACK };
place in FlexRAM_region { section .flex_ram }; place in FlexRAM_region { section .flex_ram };

View File

@ -6,7 +6,9 @@ define symbol __ICFEDIT_intvec_start__ = 0x00000000;
/*-Memory Regions-*/ /*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x00000000; define symbol __ICFEDIT_region_ROM_start__ = 0x00000000;
define symbol __ICFEDIT_region_ROM_end__ = 0x0007ffff; define symbol __ICFEDIT_region_ROM_end__ = 0x0007ffff;
define symbol __ICFEDIT_region_RAM_start__ = 0x1fff8000; define symbol __ICFEDIT_region_NVIC_start__ = 0x1fff0000;
define symbol __ICFEDIT_region_NVIC_end__ = 0x1fff0197;
define symbol __ICFEDIT_region_RAM_start__ = 0x1fff0198;
define symbol __ICFEDIT_region_RAM_end__ = 0x1fffffff; define symbol __ICFEDIT_region_RAM_end__ = 0x1fffffff;
/*-Sizes-*/ /*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x2000; define symbol __ICFEDIT_size_cstack__ = 0x2000;
@ -14,21 +16,14 @@ define symbol __ICFEDIT_size_heap__ = 0x4000;
/**** End of ICF editor section. ###ICF###*/ /**** End of ICF editor section. ###ICF###*/
define symbol __region_RAM2_start__ = 0x20000000; define symbol __region_RAM2_start__ = 0x20000000;
define symbol __region_RAM2_end__ = 0x20007fff; define symbol __region_RAM2_end__ = 0x2000ffff;
define symbol __FlashConfig_start__ = 0x00000400; define symbol __FlashConfig_start__ = 0x00000400;
define symbol __FlashConfig_end__ = 0x0000040f; define symbol __FlashConfig_end__ = 0x0000040f;
define symbol __region_FlexNVM_start__ = 0x10000000;
define symbol __region_FlexNVM_end__ = 0x1001ffff;
define symbol __region_FlexRAM_start__ = 0x14000000;
define symbol __region_FlexRAM_end__ = 0x14000fff;
define memory mem with size = 4G; define memory mem with size = 4G;
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to (__FlashConfig_start__ - 1)] | mem:[from (__FlashConfig_end__+1) to __ICFEDIT_region_ROM_end__] | mem:[from __region_FlexNVM_start__ to __region_FlexNVM_end__]; define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to (__FlashConfig_start__ - 1)] | mem:[from (__FlashConfig_end__+1) to __ICFEDIT_region_ROM_end__];
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__] | mem:[from __region_RAM2_start__ to __region_RAM2_end__]; define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__] | mem:[from __region_RAM2_start__ to __region_RAM2_end__];
define region FlexRAM_region = mem:[from __region_FlexRAM_start__ to __region_FlexRAM_end__];
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
@ -44,6 +39,4 @@ place in FlashConfig_region {section FlashConfig};
place in ROM_region { readonly }; place in ROM_region { readonly };
place in RAM_region { readwrite, block CSTACK, block HEAP }; place in RAM_region { readwrite, block HEAP, block CSTACK };
place in FlexRAM_region { section .flex_ram };

View File

@ -6,7 +6,9 @@ define symbol __ICFEDIT_intvec_start__ = 0x00000000;
/*-Memory Regions-*/ /*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x00000000; define symbol __ICFEDIT_region_ROM_start__ = 0x00000000;
define symbol __ICFEDIT_region_ROM_end__ = 0x00007fff; define symbol __ICFEDIT_region_ROM_end__ = 0x00007fff;
define symbol __ICFEDIT_region_RAM_start__ = 0x1ffffc00; define symbol __ICFEDIT_region_NVIC_start__ = 0x1ffffc00;
define symbol __ICFEDIT_region_NVIC_end__ = 0x1ffffcbf;
define symbol __ICFEDIT_region_RAM_start__ = 0x1ffffcc0;
define symbol __ICFEDIT_region_RAM_end__ = 0x1fffffff; define symbol __ICFEDIT_region_RAM_end__ = 0x1fffffff;
/*-Sizes-*/ /*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x200; define symbol __ICFEDIT_size_cstack__ = 0x200;
@ -37,4 +39,4 @@ place in FlashConfig_region {section FlashConfig};
place in ROM_region { readonly }; place in ROM_region { readonly };
place in RAM_region { readwrite, block CSTACK, block HEAP }; place in RAM_region { readwrite, block HEAP, block CSTACK };

View File

@ -6,7 +6,9 @@ define symbol __ICFEDIT_intvec_start__ = 0x00000000;
/*-Memory Regions-*/ /*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x00000000; define symbol __ICFEDIT_region_ROM_start__ = 0x00000000;
define symbol __ICFEDIT_region_ROM_end__ = 0x0001ffff; define symbol __ICFEDIT_region_ROM_end__ = 0x0001ffff;
define symbol __ICFEDIT_region_RAM_start__ = 0x1ffff000; define symbol __ICFEDIT_region_NVIC_start__ = 0x1ffff000;
define symbol __ICFEDIT_region_NVIC_end__ = 0x1ffff0bf;
define symbol __ICFEDIT_region_RAM_start__ = 0x1ffff0c0;
define symbol __ICFEDIT_region_RAM_end__ = 0x1fffffff; define symbol __ICFEDIT_region_RAM_end__ = 0x1fffffff;
/*-Sizes-*/ /*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400; define symbol __ICFEDIT_size_cstack__ = 0x400;
@ -37,4 +39,4 @@ place in FlashConfig_region {section FlashConfig};
place in ROM_region { readonly }; place in ROM_region { readonly };
place in RAM_region { readwrite, block CSTACK, block HEAP }; place in RAM_region { readwrite, block HEAP, block CSTACK };

View File

@ -6,7 +6,9 @@ define symbol __ICFEDIT_intvec_start__ = 0x00000000;
/*-Memory Regions-*/ /*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x00000000; define symbol __ICFEDIT_region_ROM_start__ = 0x00000000;
define symbol __ICFEDIT_region_ROM_end__ = 0x0002ffff; define symbol __ICFEDIT_region_ROM_end__ = 0x0002ffff;
define symbol __ICFEDIT_region_RAM_start__ = 0x1fffe000; define symbol __ICFEDIT_region_NVIC_start__ = 0x1fffe000;
define symbol __ICFEDIT_region_NVIC_end__ = 0x1fffe0bf;
define symbol __ICFEDIT_region_RAM_start__ = 0x1fffe0c0;
define symbol __ICFEDIT_region_RAM_end__ = 0x1fffffff; define symbol __ICFEDIT_region_RAM_end__ = 0x1fffffff;
/*-Sizes-*/ /*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x800; define symbol __ICFEDIT_size_cstack__ = 0x800;
@ -37,4 +39,4 @@ place in FlashConfig_region {section FlashConfig};
place in ROM_region { readonly }; place in ROM_region { readonly };
place in RAM_region { readwrite, block CSTACK, block HEAP }; place in RAM_region { readwrite, block HEAP, block CSTACK };

View File

@ -6,7 +6,9 @@ define symbol __ICFEDIT_intvec_start__ = 0x00000000;
/*-Memory Regions-*/ /*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x00000000; define symbol __ICFEDIT_region_ROM_start__ = 0x00000000;
define symbol __ICFEDIT_region_ROM_end__ = 0x000fffff; define symbol __ICFEDIT_region_ROM_end__ = 0x000fffff;
define symbol __ICFEDIT_region_RAM_start__ = 0x1fff0000; define symbol __ICFEDIT_region_NVIC_start__ = 0x1fff0000;
define symbol __ICFEDIT_region_NVIC_end__ = 0x1fff0197;
define symbol __ICFEDIT_region_RAM_start__ = 0x1fff0198;
define symbol __ICFEDIT_region_RAM_end__ = 0x1fffffff; define symbol __ICFEDIT_region_RAM_end__ = 0x1fffffff;
/*-Sizes-*/ /*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x2000; define symbol __ICFEDIT_size_cstack__ = 0x2000;
@ -41,6 +43,6 @@ place in FlashConfig_region {section FlashConfig};
place in ROM_region { readonly }; place in ROM_region { readonly };
place in RAM_region { readwrite, block CSTACK, block HEAP }; place in RAM_region { readwrite, block HEAP, block CSTACK };
place in FlexRAM_region { section .flex_ram }; place in FlexRAM_region { section .flex_ram };

View File

@ -6,7 +6,9 @@ define symbol __ICFEDIT_intvec_start__ = 0x08000000;
/*-Memory Regions-*/ /*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
define symbol __ICFEDIT_region_ROM_end__ = 0x0801FFFF; define symbol __ICFEDIT_region_ROM_end__ = 0x0801FFFF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; define symbol __ICFEDIT_region_NVIC_start__ = 0x20000000;
define symbol __ICFEDIT_region_NVIC_end__ = 0x200000EB;
define symbol __ICFEDIT_region_RAM_start__ = 0x200000EC;
define symbol __ICFEDIT_region_RAM_end__ = 0x20004FFF; define symbol __ICFEDIT_region_RAM_end__ = 0x20004FFF;
/*-Sizes-*/ /*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x800; define symbol __ICFEDIT_size_cstack__ = 0x800;
@ -27,4 +29,4 @@ place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
place in ROM_region { readonly }; place in ROM_region { readonly };
place in RAM_region { readwrite, place in RAM_region { readwrite,
block CSTACK, block HEAP }; block HEAP, block CSTACK };

View File

@ -5,8 +5,8 @@ define symbol __region_ROM_end__ = 0x0800FFFF;
/* [RAM = 16kb = 0x4000] Vector table dynamic copy: 98 vectors = 392 bytes (0x188) to be reserved in RAM */ /* [RAM = 16kb = 0x4000] Vector table dynamic copy: 98 vectors = 392 bytes (0x188) to be reserved in RAM */
define symbol __NVIC_start__ = 0x20000000; define symbol __NVIC_start__ = 0x20000000;
define symbol __NVIC_end__ = 0x20000191; /* Add 4 more bytes to be aligned on 8 bytes */ define symbol __NVIC_end__ = 0x20000187; /*aligned on 8 bytes */
define symbol __region_RAM_start__ = 0x20000192; define symbol __region_RAM_start__ = 0x20000188;
define symbol __region_RAM_end__ = 0x20003FFF; define symbol __region_RAM_end__ = 0x20003FFF;
/* Memory regions */ /* Memory regions */

View File

@ -5,8 +5,8 @@ define symbol __region_ROM_end__ = 0x0800FFFF;
/* [RAM = 16kb = 0x4000] Vector table dynamic copy: 98 vectors = 392 bytes (0x188) to be reserved in RAM */ /* [RAM = 16kb = 0x4000] Vector table dynamic copy: 98 vectors = 392 bytes (0x188) to be reserved in RAM */
define symbol __NVIC_start__ = 0x20000000; define symbol __NVIC_start__ = 0x20000000;
define symbol __NVIC_end__ = 0x20000191; /* Add 4 more bytes to be aligned on 8 bytes */ define symbol __NVIC_end__ = 0x20000187; /*aligned on 8 bytes */
define symbol __region_RAM_start__ = 0x20000192; define symbol __region_RAM_start__ = 0x20000188;
define symbol __region_RAM_end__ = 0x20003FFF; define symbol __region_RAM_end__ = 0x20003FFF;
define symbol __region_CCMRAM_start__ = 0x10000000; define symbol __region_CCMRAM_start__ = 0x10000000;
define symbol __region_CCMRAM_end__ = 0x10000FFF; define symbol __region_CCMRAM_end__ = 0x10000FFF;

View File

@ -6,7 +6,9 @@ define symbol __ICFEDIT_intvec_start__ = 0x08000000;
/*-Memory Regions-*/ /*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; define symbol __NVIC_start__ = 0x20000000;
define symbol __NVIC_end__ = 0x20000187; /* Aligned on 8 bytes */
define symbol __ICFEDIT_region_RAM_start__ = 0x20000188;
define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF;
/*-Sizes-*/ /*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x2000; define symbol __ICFEDIT_size_cstack__ = 0x2000;