public virtual string TransformText()
{
Write("/**\r\n *\t\tVital Element Studios - LinkerScript\r\n *\r\n **/\r\n \r\nOUTPUT_FORMAT (\"elf32" +
"-littlearm\", \"elf32-bigarm\", \"elf32-littlearm\")\r\n\r\nMEMORY\r\n{\r\n\tFLASH (rx) : ORI" +
"GIN = ");
#line 15 "G:\development\repos\AvalonStudio\AvalonStudio\AvalonStudio.Toolchains.STM32\ArmGCCLinkTemplate.tt"
Write(ToStringHelper.ToStringWithCulture(string.Format("0x{0:X8}", linkSettings.InRom1Start)));
#line default
#line hidden
Write(", LENGTH = ");
#line 15 "G:\development\repos\AvalonStudio\AvalonStudio\AvalonStudio.Toolchains.STM32\ArmGCCLinkTemplate.tt"
Write(ToStringHelper.ToStringWithCulture(string.Format("0x{0:X8}", linkSettings.InRom1Size)));
#line default
#line hidden
Write("\r\n\tRAM (rwx) : ORIGIN = ");
#line 16 "G:\development\repos\AvalonStudio\AvalonStudio\AvalonStudio.Toolchains.STM32\ArmGCCLinkTemplate.tt"
Write(ToStringHelper.ToStringWithCulture(string.Format("0x{0:X8}", linkSettings.InRam1Start)));
#line default
#line hidden
Write(", LENGTH = ");
#line 16 "G:\development\repos\AvalonStudio\AvalonStudio\AvalonStudio.Toolchains.STM32\ArmGCCLinkTemplate.tt"
Write(ToStringHelper.ToStringWithCulture(string.Format("0x{0:X8}", linkSettings.InRam1Size)));
#line default
#line hidden
Write("\r\n\tRAM1 (rwx) : ORIGIN = 0xD0000000, LENGTH = 0x00800000\r\n}\r\n\r\n_eram = ");
#line 20 "G:\development\repos\AvalonStudio\AvalonStudio\AvalonStudio.Toolchains.STM32\ArmGCCLinkTemplate.tt"
Write(ToStringHelper.ToStringWithCulture(string.Format("0x{0:X8}", linkSettings.InRam1Start)));
#line default
#line hidden
Write(" + ");
#line 20 "G:\development\repos\AvalonStudio\AvalonStudio\AvalonStudio.Toolchains.STM32\ArmGCCLinkTemplate.tt"
Write(ToStringHelper.ToStringWithCulture(string.Format("0x{0:X8}", linkSettings.InRam1Size)));
#line default
#line hidden
Write(
";\r\n\r\nSECTIONS\r\n{\r\n\t.text :\r\n\t{\r\n\t\tKEEP(*(.interrupt_vector))\r\n\t\t*(.text*)\r\n\t\t\r\n\t\t" +
"KEEP(*(.init))\r\n\t\tKEEP(*(.fini))\r\n\t\t\r\n\t\t/* .ctors */\r\n\t\t*crtbegin.o(.ctors)\r\n\t\t*" +
"crtbegin?.o(.ctors)\r\n\t\t*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)\r\n\t\t*(SORT(.c" +
"tors.*))\r\n\t\t*(.ctors)\r\n\t\t\r\n\t\t/* .dtors */\r\n\t\t*crtbegin.o(.dtors)\r\n\t\t*crtbegin?.o" +
"(.dtors)\r\n\t\t*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)\r\n\t\t*(SORT(.dtors.*))\r\n\t" +
"\t*(.dtors)\r\n\t\t\r\n\t\t*(.rodata*)\r\n\t\t\r\n\t\tKEEP(*(.eh_fram e*))\r\n\t} > FLASH\r\n \r\n " +
" \t.ARM.extab : \r\n\t{\r\n\t\t*(.ARM.extab* .gnu.linkonce.armextab.*)\r\n\t} > FLASH \r\n\t\r\n" +
"\t__exidx_start = .;\r\n\t.ARM.exidx :\r\n\t{\r\n\t\t*(.ARM.exidx* .gnu.linkonce.armexidx.*" +
")\r\n\t} > FLASH \r\n\t__exidx_end = .;\r\n\t__etext = .;\r\n\t\r\n _data_flash = .;\r\n \r" +
"\n .data : AT ( _data_flash )\r\n\t{\r\n\t\t. = ALIGN(4);\r\n\t\t_data_begin = .;\r\n\t\t*(vt" +
"able)\r\n\t\t*(.data)\r\n\t\t*(.data*)\r\n\r\n\t\t . = ALIGN(4);\r\n /* preinit da" +
"ta */\r\n PROVIDE_HIDDEN (__preinit_array_start = .);\r\n KEEP(*(.prei" +
"nit_array))\r\n PROVIDE_HIDDEN (__preinit_array_end = .);\r\n \r\n . = A" +
"LIGN(4);\r\n /* init data */\r\n PROVIDE_HIDDEN (__init_array_start = " +
".);\r\n KEEP(*(SORT(.init_array.*)))\r\n KEEP(*(.init_array))\r\n " +
" PROVIDE_HIDDEN (__init_array_end = .);\r\n \r\n \r\n . = ALIGN(4);\r\n /*" +
" finit data */\r\n PROVIDE_HIDDEN (__fini_array_start = .);\r\n KEEP(*" +
"(SORT(.fini_array.*)))\r\n KEEP(*(.fini_array))\r\n PROVIDE_HIDDEN (__" +
"fini_array_end = .);\r\n \r\n KEEP(*(.jcr*))\r\n\r\n\t\t. = ALIGN(4);\r\n\t\t_data_end " +
"= .;\r\n\t} > RAM\r\n \r\n .bss :\r\n\t{\r\n\t\t_bss_begin = .;\r\n\t\t__bss_start__ = _bss_" +
"begin;\r\n\t\t*(.bss)\r\n\t\t*(.bss*)\r\n\t\t*(COMMON)\r\n\t\t. = ALIGN(4);\r\n\t\t_bss_end = .;\r\n\t\t" +
"__bss_end__ = _bss_end;\r\n\t} > RAM\r\n}\r\n\r\n/* end of allocated ram _end */\r\nPROVIDE" +
"( _HEAP_START = _bss_end );\r\n\r\n/* end of the heap -> align 8 byte */ \r\nPROVIDE (" +
" _HEAP_END = ALIGN(ORIGIN(RAM) + LENGTH(RAM) ,8) );\r\n\r\n\r\nENTRY(Default_Reset_Han" +
"dler);\r\n");
return GenerationEnvironment.ToString();
}
}