Move noinit to after BSS segment,

Now dynamically allocates noinit area size
stores it after the bss before the heap and stack.
This commit is contained in:
Tim Keller 2021-08-23 20:13:26 +00:00
parent c9dedfd402
commit 110c82c225
2 changed files with 11 additions and 18 deletions

View File

@ -3,25 +3,21 @@
SEARCH_DIR(.)
GROUP(-lgcc -lc -lnosys)
NOINIT_SIZE = 0x100;
RAM_SIZE = 64K;
MEMORY
{
FLASH (rx) : ORIGIN = 0x08020, LENGTH = 0x78000
RAM (rwx) : ORIGIN = 0x20000000, LENGTH = RAM_SIZE - NOINIT_SIZE
NOINIT (rwx): ORIGIN = ORIGIN(RAM) + LENGTH(RAM), LENGTH = NOINIT_SIZE
RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
}
SECTIONS
{
noinit (NOLOAD):
.noinit(NOLOAD):
{
PROVIDE(__start_noinit_data = .);
KEEP(*(.noinit))
*(.noinit)
PROVIDE(__stop_noinit_data = .);
} >NOINIT
}
} > RAM
} INSERT AFTER .bss
SECTIONS
{

View File

@ -3,25 +3,21 @@
SEARCH_DIR(.)
GROUP(-lgcc -lc -lnosys)
NOINIT_SIZE = 0x100;
RAM_SIZE = 64K;
MEMORY
{
FLASH (rx) : ORIGIN = 0x00000, LENGTH = 0x78000
RAM (rwx) : ORIGIN = 0x20000000, LENGTH = RAM_SIZE - NOINIT_SIZE
NOINIT (rwx): ORIGIN = ORIGIN(RAM) + LENGTH(RAM), LENGTH = NOINIT_SIZE
RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
}
SECTIONS
{
noinit (NOLOAD):
.noinit(NOLOAD):
{
PROVIDE(__start_noinit_data = .);
KEEP(*(.noinit))
*(.noinit)
PROVIDE(__stop_noinit_data = .);
} >NOINIT
}
} > RAM
} INSERT AFTER .bss
SECTIONS
{
@ -54,6 +50,7 @@ SECTIONS
PROVIDE(__stop_log_filter_data = .);
} > RAM
} INSERT AFTER .data;
SECTIONS