From 4d267b2d3ad3c066da33b966e361ef0fe2197c50 Mon Sep 17 00:00:00 2001 From: stark1898y <1658608470@qq.com> Date: Mon, 9 Jun 2025 14:05:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E5=AD=98,=E6=9B=B4=E6=96=B0=20LD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ld/Link.ld | 46 ++++++++++++++++++++-------------------------- 1 file changed, 20 insertions(+), 26 deletions(-) diff --git a/Ld/Link.ld b/Ld/Link.ld index beedf6a..1190e3b 100644 --- a/Ld/Link.ld +++ b/Ld/Link.ld @@ -1,9 +1,13 @@ ENTRY( _start ) +__stack_size = 512; + +PROVIDE( _stack_size = __stack_size ); + MEMORY { FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 448K - RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 96K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 26K } SECTIONS @@ -22,24 +26,6 @@ SECTIONS *(.vector); } >FLASH AT>FLASH */ - .highcode_initlalign : - { - . = ALIGN(4); - PROVIDE(_highcode_init_lma = .); - } >FLASH AT>FLASH - - .highcode_init : - { - PROVIDE(_highcode_init_vma_start = .); - . = ALIGN(1024); - *(.vector); - KEEP(*(SORT_NONE(.vector_handler))) - *(.highcode_init); - *(.highcode_init.*); - . = ALIGN(4); - PROVIDE(_highcode_init_vma_end = .); - } >RAM AT>FLASH - .highcodelalign : { . = ALIGN(4); @@ -50,10 +36,10 @@ SECTIONS { . = ALIGN(4); PROVIDE(_highcode_vma_start = .); + *(.vector); + KEEP(*(SORT_NONE(.vector_handler))) *(.highcode); *(.highcode.*); - *(.highcode_lp); - *(.highcode_lp.*); . = ALIGN(4); PROVIDE(_highcode_vma_end = .); } >RAM AT>FLASH @@ -139,6 +125,11 @@ SECTIONS KEEP (*(.dtors)) } >FLASH AT>FLASH + .dalign : + { + . = ORIGIN(RAM) + SIZEOF(.highcode); + } >RAM AT>FLASH + .dlalign : { . = ALIGN(4); @@ -182,11 +173,14 @@ SECTIONS PROVIDE( _end = _ebss); PROVIDE( end = . ); - .stack ORIGIN(RAM)+LENGTH(RAM) : - { - . = ALIGN(4); - PROVIDE(_eusrstack = . ); - } >RAM + .stack ORIGIN(RAM) + LENGTH(RAM) - __stack_size : + { + PROVIDE( _heap_end = . ); + . = ALIGN(4); + PROVIDE(_susrstack = . ); + . = . + __stack_size; + PROVIDE( _eusrstack = .); + } >RAM }