123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 |
- ENTRY(Reset_Handler)
- _estack = 0x2001ffff
- _Min_Heap_Size = 0x3000
- _Min_Stack_Size = 0x4000
- MEMORY
- {
- BOOTLOADER_P1 (rx) : ORIGIN = 0x08000000, LENGTH = 16K
- SETTINGS (rx) : ORIGIN = 0x08004000, LENGTH = 16K
- SETTINGS_SYS (rx) : ORIGIN = 0x08008000, LENGTH = 16K
- BOOTLOADER (rx) : ORIGIN = 0x0800C000, LENGTH = 80K
- VECTOR (rx) : ORIGIN = 0x08020000, LENGTH = 496
- HWREV (rx) : ORIGIN = 0x080201F0, LENGTH = 16
- FLASH (rx) : ORIGIN = 0x08020200, LENGTH = 384K - 512
- CRC (rx) : ORIGIN = 0x0807FFFC, LENGTH = 4
- RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K
- MEMORY_B1 (rx) : ORIGIN = 0x10000000, LENGTH = 64K
- }
- SECTIONS
- {
-
- .isr_vector :
- {
- . = ALIGN(4)
- KEEP(*(.isr_vector))
- . = ALIGN(4)
- } >VECTOR
-
-
- .hw_rev :
- {
- . = ALIGN(4)
- KEEP(*(.hw_rev))
- . = ALIGN(4)
- } >HWREV
-
- .text :
- {
- . = ALIGN(4)
- *(.text)
- *(.text*)
- *(.rodata)
- *(.rodata*)
- *(.glue_7)
- *(.glue_7t)
- *(.eh_frame)
- KEEP (*(.init))
- KEEP (*(.fini))
- . = ALIGN(4)
- _etext = .
- _exit = .
- } >FLASH
- .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH
- .ARM : {
- __exidx_start = .
- *(.ARM.exidx*)
- __exidx_end = .
- } >FLASH
- .preinit_array :
- {
- PROVIDE_HIDDEN (__preinit_array_start = .)
- KEEP (*(.preinit_array*))
- PROVIDE_HIDDEN (__preinit_array_end = .)
- } >FLASH
- .init_array :
- {
- PROVIDE_HIDDEN (__init_array_start = .)
- KEEP (*(SORT(.init_array.*)))
- KEEP (*(.init_array*))
- PROVIDE_HIDDEN (__init_array_end = .)
- } >FLASH
- .fini_array :
- {
- PROVIDE_HIDDEN (__fini_array_start = .)
-
- KEEP (*(.fini_array*))
- KEEP (*(SORT(.fini_array.*)))
- PROVIDE_HIDDEN (__fini_array_end = .)
- } >FLASH
-
-
- _sidata = .
-
- .data : AT ( _sidata )
- {
- . = ALIGN(4)
- _sdata = .
- *(.data)
- *(.data*)
- . = ALIGN(4)
- _edata = .
- } >RAM
-
- .fill LOADADDR(.data) + SIZEOF(.data) :
- {
- FILL(0xFFFFFFFF)
-
- . = ORIGIN(CRC) - 1
- BYTE(0xFF)
-
- } > FLASH
- .crc :
- {
- . = ALIGN(4)
- KEEP(*(.crc))
- . = ALIGN(4)
- }>CRC
-
- . = ALIGN(4)
- .bss :
- {
-
- _sbss = .
- __bss_start__ = _sbss
- *(.bss)
- *(.bss*)
- *(COMMON)
- . = ALIGN(4)
- _ebss = .
- __bss_end__ = _ebss
- } >RAM
-
- ._user_heap_stack :
- {
- . = ALIGN(4)
- PROVIDE ( end = . )
- PROVIDE ( _end = . )
- . = . + _Min_Heap_Size
- . = . + _Min_Stack_Size
- . = ALIGN(4)
- } >RAM
-
-
-
- .memory_b1_text (NOLOAD) :
- {
- *(.mb1text)
- *(.mb1text*)
- *(.mb1rodata)
- *(.mb1rodata*)
- } >MEMORY_B1
-
- /DISCARD/ :
- {
- libc.a ( * )
- libm.a ( * )
- libgcc.a ( * )
- }
- .ARM.attributes 0 : { *(.ARM.attributes) }
- }
|