armv7-a/r: use _ebss as idle stack both in SMP mode or not

this commit fix:
7d45afe871

which in PR:
https://github.com/apache/nuttx/pull/11814

Signed-off-by: ligd <liguiding1@xiaomi.com>
This commit is contained in:
ligd 2024-03-04 18:07:11 +08:00 committed by Alan Carvalho de Assis
parent 1bec133385
commit 264e8116b0
28 changed files with 258 additions and 256 deletions

View File

@ -83,6 +83,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
.bss :
{
_sbss = ABSOLUTE(.);
@ -93,15 +102,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -88,6 +88,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > ddr
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > ddr
.bss :
{
_sbss = ABSOLUTE(.);
@ -98,15 +107,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > ddr
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > ddr
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -84,6 +84,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > RAM AT > FLASH
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > RAM
.bss :
{
_sbss = ABSOLUTE(.);
@ -94,15 +103,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > RAM
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > RAM
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
@ -112,4 +112,4 @@ SECTIONS
.stab.index 0 : { *(.stab.index) }
.stab.indexstr 0 : { *(.stab.indexstr) }
.comment 0 : { *(.comment) }
}
}

View File

@ -91,6 +91,13 @@ SECTIONS
_edata = ABSOLUTE(.);
} > ddr3
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > ddr3
.bss :
{
_sbss = ABSOLUTE(.);
@ -101,13 +108,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > ddr3
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > ddr3
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -88,6 +88,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
.bss :
{
_sbss = ABSOLUTE(.);
@ -98,15 +107,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -84,6 +84,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > isram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > isram
.bss :
{
_sbss = ABSOLUTE(.);
@ -94,15 +103,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > isram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > isram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -89,6 +89,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
.bss :
{
_sbss = ABSOLUTE(.);
@ -99,15 +108,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -88,6 +88,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
.bss :
{
_sbss = ABSOLUTE(.);
@ -98,15 +107,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -84,6 +84,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > isram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > isram
.bss :
{
_sbss = ABSOLUTE(.);
@ -94,15 +103,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > isram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > isram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -89,6 +89,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
.bss :
{
_sbss = ABSOLUTE(.);
@ -99,15 +108,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -88,6 +88,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
.bss :
{
_sbss = ABSOLUTE(.);
@ -98,15 +107,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -84,6 +84,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > isram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > isram
.bss :
{
_sbss = ABSOLUTE(.);
@ -94,15 +103,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > isram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > isram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -89,6 +89,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
.bss :
{
_sbss = ABSOLUTE(.);
@ -99,15 +108,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -89,6 +89,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
.bss :
{
_sbss = ABSOLUTE(.);
@ -99,15 +108,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -85,6 +85,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > isram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > isram
.bss :
{
_sbss = ABSOLUTE(.);
@ -95,15 +104,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > isram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > isram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -89,6 +89,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
.bss :
{
_sbss = ABSOLUTE(.);
@ -99,15 +108,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -85,6 +85,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > isram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > isram
.bss :
{
_sbss = ABSOLUTE(.);
@ -95,15 +104,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > isram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > isram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -96,6 +96,15 @@ SECTIONS
_eronly = LOADADDR(.data);
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
.bss :
{
_sbss = ABSOLUTE(.);
@ -106,15 +115,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -92,6 +92,22 @@ SECTIONS
_eronly = LOADADDR(.data);
.ramfunc ALIGN(4):
{
_sramfuncs = ABSOLUTE(.);
*(.ramfunc .ramfunc.*)
_eramfuncs = ABSOLUTE(.);
} > isram AT > norflash
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > isram
.bss :
{
_sbss = ABSOLUTE(.);
@ -102,24 +118,8 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > isram
.ramfunc ALIGN(4):
{
_sramfuncs = ABSOLUTE(.);
*(.ramfunc .ramfunc.*)
_eramfuncs = ABSOLUTE(.);
} > isram AT > norflash
_framfuncs = LOADADDR(.ramfunc);
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > isram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -124,6 +124,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > data AT > locked
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > data
.bss :
{
_sbss = ABSOLUTE(.);
@ -134,15 +143,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > data
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > data
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -88,6 +88,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
.bss :
{
_sbss = ABSOLUTE(.);
@ -98,15 +107,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -85,6 +85,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > isram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > isram
.bss :
{
_sbss = ABSOLUTE(.);
@ -95,15 +104,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > isram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > isram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -89,6 +89,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
.bss :
{
_sbss = ABSOLUTE(.);
@ -99,15 +108,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sdram
/* Uninitialized data */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sdram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -110,6 +110,15 @@ SECTIONS
PROVIDE(_end_data_ = . );
}
/* data in ram but no need to clean in .s*/
.noinit (NOLOAD) :
{
. = ALIGN(4);
*(.noinit)
*(.noinit.*)
}
.bss :
{
. = ALIGN(4);
@ -120,14 +129,6 @@ SECTIONS
*(.bss.*)
}
/* data in ram but no need to clean in .s*/
.noinit (NOLOAD) :
{
. = ALIGN(4);
*(.noinit)
*(.noinit.*)
}
. = ALIGN(4);
PROVIDE(_ebss = .);

View File

@ -187,6 +187,15 @@ SECTIONS
PROVIDE(_end_data_ = . );
}
/* data in ram but no need to clean in .s*/
.noinit (NOLOAD) :
{
. = ALIGN(4);
*(.noinit)
*(.noinit.*)
}
.bss :
{
. = ALIGN(4);
@ -197,14 +206,6 @@ SECTIONS
*(.bss.*)
}
/* data in ram but no need to clean in .s*/
.noinit (NOLOAD) :
{
. = ALIGN(4);
*(.noinit)
*(.noinit.*)
}
. = ALIGN(4);
PROVIDE(_ebss = .);

View File

@ -86,6 +86,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
/* Global data not cleared after reset. */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sram
.bss :
{
_sbss = ABSOLUTE(.);
@ -96,15 +105,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sram
/* Global data not cleared after reset. */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -91,6 +91,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
/* Global data not cleared after reset. */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sram
.bss :
{
_sbss = ABSOLUTE(.);
@ -101,15 +110,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sram
/* Global data not cleared after reset. */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }

View File

@ -91,6 +91,15 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
/* Global data not cleared after reset. */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sram
.bss :
{
_sbss = ABSOLUTE(.);
@ -101,15 +110,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sram
/* Global data not cleared after reset. */
.noinit :
{
_snoinit = ABSOLUTE(.);
*(.noinit*)
_enoinit = ABSOLUTE(.);
} > sram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }