Changeset - e93bd62dcae4
[Not reviewed]
cortex-f0
0 1 0
Ethan Zonca - 10 years ago 2015-01-04 21:01:18
ez@ethanzonca.com
Fix RAM size
1 file changed with 1 insertions and 1 deletions:
0 comments (0 inline, 0 general)
stm32-flash.ld
Show inline comments
 
/*
 
*****************************************************************************
 
**
 
**  File        : STM32-FLASH.ld
 
**
 
**  Abstract    : Linker script for STM32L100xC Device with
 
**                256KByte FLASH and 16KByte RAM
 
**
 
**                Set heap size, stack size and stack location according
 
**                to application requirements.
 
**
 
**                Set memory bank area and size if external memory is used.
 
**
 
**  Target      : STMicroelectronics STM32
 
**
 
**  Environment : Atollic TrueSTUDIO(R)
 
**
 
**  Distribution: The file is distributed "as is," without any warranty
 
**                of any kind.
 
**
 
**  (c)Copyright Atollic AB.
 
**  You may use this file as-is or modify it according to the needs of your
 
**  project. Distribution of this file (unmodified or modified) is not
 
**  permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the
 
**  rights to distribute the assembled, compiled & linked contents of this
 
**  file as part of an application binary file, provided that it is built
 
**  using the Atollic TrueSTUDIO(R) toolchain.
 
**
 
*****************************************************************************
 
*/
 
 
/* Entry Point */
 
ENTRY(Reset_Handler)
 
 
/* Highest address of the user mode stack */
 
_estack = 0x20001000;    /* end of 4K RAM */
 
 
/* Generate a link error if heap and stack don't fit into RAM */
 
_Min_Heap_Size = 0x200;      /* required amount of heap  */
 
_Min_Stack_Size = 0x400; /* required amount of stack */
 
 
/* Specify the memory areas */
 
MEMORY
 
{
 
  FLASH (rx)      : ORIGIN = 0x08000000, LENGTH = 32K
 
  RAM (xrw)       : ORIGIN = 0x20000000, LENGTH = 4K
 
  RAM (xrw)       : ORIGIN = 0x20000000, LENGTH = 6K
 
  MEMORY_B1 (rx)  : ORIGIN = 0x60000000, LENGTH = 0K
 
}
 
 
/* Define output sections */
 
SECTIONS
 
{
 
  /* The startup code goes first into FLASH */
 
  .isr_vector :
 
  {
 
    . = ALIGN(4);
 
    KEEP(*(.isr_vector)) /* Startup code */
 
    . = ALIGN(4);
 
  } >FLASH
 
 
  /* The program code and other data goes into FLASH */
 
  .text :
 
  {
 
    . = ALIGN(4);
 
    *(.text)           /* .text sections (code) */
 
    *(.text*)          /* .text* sections (code) */
 
    *(.rodata)         /* .rodata sections (constants, strings, etc.) */
 
    *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */
 
    *(.glue_7)         /* glue arm to thumb code */
 
    *(.glue_7t)        /* glue thumb to arm code */
 
 
    KEEP (*(.init))
 
    KEEP (*(.fini))
 
 
    . = ALIGN(4);
 
    _etext = .;        /* define a global symbols at end of code */
 
  } >FLASH
 
 
 
   .ARM.extab   : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH
 
    .ARM : {
 
    __exidx_start = .;
 
      *(.ARM.exidx*)
 
      __exidx_end = .;
 
    } >FLASH
 
 
/*  .ARM.attributes : { *(.ARM.attributes) } > FLASH */
 
 
  .preinit_array     :
 
  {
 
    PROVIDE_HIDDEN (__preinit_array_start = .);
 
    KEEP (*(.preinit_array*))
 
    PROVIDE_HIDDEN (__preinit_array_end = .);
 
  } >FLASH
0 comments (0 inline, 0 general)