Scatter files symbos renamed for consistency. Now all scatter exported symbols are prefixed and postfixed by a __. Adopted "base" instead of "start" for all symbols defining the base of a memory area.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@13189 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
parent
5f9b81e988
commit
ef5ee94dad
|
@ -87,9 +87,9 @@ Reset_Handler:
|
||||||
* Data initialization.
|
* Data initialization.
|
||||||
* NOTE: It assumes that the DATA size is a multiple of 4.
|
* NOTE: It assumes that the DATA size is a multiple of 4.
|
||||||
*/
|
*/
|
||||||
ldr r1, =_textdata
|
ldr r1, =__textdata_base__
|
||||||
ldr r2, =_data
|
ldr r2, =__data_base__
|
||||||
ldr r3, =_edata
|
ldr r3, =__data_end__
|
||||||
dataloop:
|
dataloop:
|
||||||
cmp r2, r3
|
cmp r2, r3
|
||||||
ldrlo r0, [r1], #4
|
ldrlo r0, [r1], #4
|
||||||
|
@ -100,8 +100,8 @@ dataloop:
|
||||||
* NOTE: It assumes that the BSS size is a multiple of 4.
|
* NOTE: It assumes that the BSS size is a multiple of 4.
|
||||||
*/
|
*/
|
||||||
mov r0, #0
|
mov r0, #0
|
||||||
ldr r1, =_bss_start
|
ldr r1, =__bss_base__
|
||||||
ldr r2, =_bss_end
|
ldr r2, =__bss_end__
|
||||||
bssloop:
|
bssloop:
|
||||||
cmp r1, r2
|
cmp r1, r2
|
||||||
strlo r0, [r1], #4
|
strlo r0, [r1], #4
|
||||||
|
|
|
@ -16,30 +16,30 @@
|
||||||
|
|
||||||
__stacks_total_size__ = __und_stack_size__ + __abt_stack_size__ + __fiq_stack_size__ + __irq_stack_size__ + __svc_stack_size__ + __sys_stack_size__;
|
__stacks_total_size__ = __und_stack_size__ + __abt_stack_size__ + __fiq_stack_size__ + __irq_stack_size__ + __svc_stack_size__ + __sys_stack_size__;
|
||||||
|
|
||||||
__ram0_start__ = ORIGIN(ram0);
|
__ram0_base__ = ORIGIN(ram0);
|
||||||
__ram0_size__ = LENGTH(ram0);
|
__ram0_size__ = LENGTH(ram0);
|
||||||
__ram0_end__ = __ram0_start__ + __ram0_size__;
|
__ram0_end__ = __ram0_base__ + __ram0_size__;
|
||||||
__ram1_start__ = ORIGIN(ram1);
|
__ram1_base__ = ORIGIN(ram1);
|
||||||
__ram1_size__ = LENGTH(ram1);
|
__ram1_size__ = LENGTH(ram1);
|
||||||
__ram1_end__ = __ram1_start__ + __ram1_size__;
|
__ram1_end__ = __ram1_base__ + __ram1_size__;
|
||||||
__ram2_start__ = ORIGIN(ram2);
|
__ram2_base__ = ORIGIN(ram2);
|
||||||
__ram2_size__ = LENGTH(ram2);
|
__ram2_size__ = LENGTH(ram2);
|
||||||
__ram2_end__ = __ram2_start__ + __ram2_size__;
|
__ram2_end__ = __ram2_base__ + __ram2_size__;
|
||||||
__ram3_start__ = ORIGIN(ram3);
|
__ram3_base__ = ORIGIN(ram3);
|
||||||
__ram3_size__ = LENGTH(ram3);
|
__ram3_size__ = LENGTH(ram3);
|
||||||
__ram3_end__ = __ram3_start__ + __ram3_size__;
|
__ram3_end__ = __ram3_base__ + __ram3_size__;
|
||||||
__ram4_start__ = ORIGIN(ram4);
|
__ram4_base__ = ORIGIN(ram4);
|
||||||
__ram4_size__ = LENGTH(ram4);
|
__ram4_size__ = LENGTH(ram4);
|
||||||
__ram4_end__ = __ram4_start__ + __ram4_size__;
|
__ram4_end__ = __ram4_base__ + __ram4_size__;
|
||||||
__ram5_start__ = ORIGIN(ram5);
|
__ram5_base__ = ORIGIN(ram5);
|
||||||
__ram5_size__ = LENGTH(ram5);
|
__ram5_size__ = LENGTH(ram5);
|
||||||
__ram5_end__ = __ram5_start__ + __ram5_size__;
|
__ram5_end__ = __ram5_base__ + __ram5_size__;
|
||||||
__ram6_start__ = ORIGIN(ram6);
|
__ram6_base__ = ORIGIN(ram6);
|
||||||
__ram6_size__ = LENGTH(ram6);
|
__ram6_size__ = LENGTH(ram6);
|
||||||
__ram6_end__ = __ram6_start__ + __ram6_size__;
|
__ram6_end__ = __ram6_base__ + __ram6_size__;
|
||||||
__ram7_start__ = ORIGIN(ram7);
|
__ram7_base__ = ORIGIN(ram7);
|
||||||
__ram7_size__ = LENGTH(ram7);
|
__ram7_size__ = LENGTH(ram7);
|
||||||
__ram7_end__ = __ram7_start__ + __ram7_size__;
|
__ram7_end__ = __ram7_base__ + __ram7_size__;
|
||||||
|
|
||||||
ENTRY(Reset_Handler)
|
ENTRY(Reset_Handler)
|
||||||
|
|
||||||
|
@ -56,29 +56,38 @@ SECTIONS
|
||||||
|
|
||||||
constructors : ALIGN(4)
|
constructors : ALIGN(4)
|
||||||
{
|
{
|
||||||
PROVIDE(__init_array_start = .);
|
PROVIDE(__init_array_base__ = .);
|
||||||
KEEP(*(SORT(.init_array.*)))
|
KEEP(*(SORT(.init_array.*)))
|
||||||
KEEP(*(.init_array))
|
KEEP(*(.init_array))
|
||||||
PROVIDE(__init_array_end = .);
|
PROVIDE(__init_array_end__ = .);
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
destructors : ALIGN(4)
|
destructors : ALIGN(4)
|
||||||
{
|
{
|
||||||
PROVIDE(__fini_array_start = .);
|
PROVIDE(__fini_array_base__ = .);
|
||||||
KEEP(*(.fini_array))
|
KEEP(*(.fini_array))
|
||||||
KEEP(*(SORT(.fini_array.*)))
|
KEEP(*(SORT(.fini_array.*)))
|
||||||
PROVIDE(__fini_array_end = .);
|
PROVIDE(__fini_array_end__ = .);
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.text : ALIGN_WITH_INPUT
|
.text : ALIGN_WITH_INPUT
|
||||||
{
|
{
|
||||||
|
__text_base__ = .;
|
||||||
*(.text)
|
*(.text)
|
||||||
*(.text.*)
|
*(.text.*)
|
||||||
*(.rodata)
|
|
||||||
*(.rodata.*)
|
|
||||||
*(.glue_7t)
|
*(.glue_7t)
|
||||||
*(.glue_7)
|
*(.glue_7)
|
||||||
*(.gcc*)
|
*(.gcc*)
|
||||||
|
__text_end__ = .;
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
.rodata : ALIGN(4)
|
||||||
|
{
|
||||||
|
__rodata_base__ = .;
|
||||||
|
*(.rodata)
|
||||||
|
*(.rodata.*)
|
||||||
|
. = ALIGN(4);
|
||||||
|
__rodata_end__ = .;
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ARM.extab :
|
.ARM.extab :
|
||||||
|
@ -87,9 +96,9 @@ SECTIONS
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ARM.exidx : {
|
.ARM.exidx : {
|
||||||
PROVIDE(__exidx_start = .);
|
PROVIDE(__exidx_base__ = .);
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||||
PROVIDE(__exidx_end = .);
|
PROVIDE(__exidx_end__ = .);
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.eh_frame_hdr :
|
.eh_frame_hdr :
|
||||||
|
@ -109,7 +118,6 @@ SECTIONS
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
_textdata = _etext;
|
|
||||||
|
|
||||||
.stacks (NOLOAD) :
|
.stacks (NOLOAD) :
|
||||||
{
|
{
|
||||||
|
@ -125,22 +133,26 @@ SECTIONS
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
PROVIDE(_data = .);
|
PROVIDE(_data = .);
|
||||||
|
__textdata_base__ = LOADADDR(.data);
|
||||||
|
__data_base__ = .;
|
||||||
*(.data)
|
*(.data)
|
||||||
*(.data.*)
|
*(.data.*)
|
||||||
*(.ramtext)
|
*(.ramtext)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
PROVIDE(_edata = .);
|
PROVIDE(_edata = .);
|
||||||
|
__data_end__ = .;
|
||||||
} > DATA_RAM AT > flash
|
} > DATA_RAM AT > flash
|
||||||
|
|
||||||
.bss (NOLOAD) : ALIGN(4)
|
.bss (NOLOAD) : ALIGN(4)
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
PROVIDE(_bss_start = .);
|
__bss_base__ = .;
|
||||||
*(.bss)
|
*(.bss)
|
||||||
*(.bss.*)
|
*(.bss.*)
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
PROVIDE(_bss_end = .);
|
. = ALIGN(4);
|
||||||
|
__bss_end__ = .;
|
||||||
PROVIDE(end = .);
|
PROVIDE(end = .);
|
||||||
} > BSS_RAM
|
} > BSS_RAM
|
||||||
|
|
||||||
|
|
|
@ -281,9 +281,9 @@ psloop:
|
||||||
#if CRT0_INIT_DATA == TRUE
|
#if CRT0_INIT_DATA == TRUE
|
||||||
/* Data initialization. Note, it assumes that the DATA size
|
/* Data initialization. Note, it assumes that the DATA size
|
||||||
is a multiple of 4 so the linker file must ensure this.*/
|
is a multiple of 4 so the linker file must ensure this.*/
|
||||||
ldr r1, =_textdata_start
|
ldr r1, =__textdata_base__
|
||||||
ldr r2, =_data_start
|
ldr r2, =__data_base__
|
||||||
ldr r3, =_data_end
|
ldr r3, =__data_end__
|
||||||
dloop:
|
dloop:
|
||||||
cmp r2, r3
|
cmp r2, r3
|
||||||
ittt lo
|
ittt lo
|
||||||
|
@ -296,8 +296,8 @@ dloop:
|
||||||
/* BSS initialization. Note, it assumes that the DATA size
|
/* BSS initialization. Note, it assumes that the DATA size
|
||||||
is a multiple of 4 so the linker file must ensure this.*/
|
is a multiple of 4 so the linker file must ensure this.*/
|
||||||
movs r0, #0
|
movs r0, #0
|
||||||
ldr r1, =_bss_start
|
ldr r1, =__bss_base__
|
||||||
ldr r2, =_bss_end
|
ldr r2, =__bss_end__
|
||||||
bloop:
|
bloop:
|
||||||
cmp r1, r2
|
cmp r1, r2
|
||||||
itt lo
|
itt lo
|
||||||
|
@ -315,8 +315,8 @@ bloop:
|
||||||
|
|
||||||
#if CRT0_CALL_CONSTRUCTORS == TRUE
|
#if CRT0_CALL_CONSTRUCTORS == TRUE
|
||||||
/* Constructors invocation.*/
|
/* Constructors invocation.*/
|
||||||
ldr r4, =__init_array_start
|
ldr r4, =__init_array_base__
|
||||||
ldr r5, =__init_array_end
|
ldr r5, =__init_array_end__
|
||||||
initloop:
|
initloop:
|
||||||
cmp r4, r5
|
cmp r4, r5
|
||||||
bge endinitloop
|
bge endinitloop
|
||||||
|
@ -331,8 +331,8 @@ endinitloop:
|
||||||
|
|
||||||
#if CRT0_CALL_DESTRUCTORS == TRUE
|
#if CRT0_CALL_DESTRUCTORS == TRUE
|
||||||
/* Destructors invocation.*/
|
/* Destructors invocation.*/
|
||||||
ldr r4, =__fini_array_start
|
ldr r4, =__fini_array_base__
|
||||||
ldr r5, =__fini_array_end
|
ldr r5, =__fini_array_end__
|
||||||
finiloop:
|
finiloop:
|
||||||
cmp r4, r5
|
cmp r4, r5
|
||||||
bge endfiniloop
|
bge endfiniloop
|
||||||
|
|
|
@ -25,25 +25,25 @@ SECTIONS
|
||||||
|
|
||||||
.xtors : ALIGN(4)
|
.xtors : ALIGN(4)
|
||||||
{
|
{
|
||||||
__init_array_start = .;
|
__init_array_base__ = .;
|
||||||
KEEP(*(SORT(.init_array.*)))
|
KEEP(*(SORT(.init_array.*)))
|
||||||
KEEP(*(.init_array))
|
KEEP(*(.init_array))
|
||||||
__init_array_end = .;
|
__init_array_end__ = .;
|
||||||
__fini_array_start = .;
|
__fini_array_base__ = .;
|
||||||
KEEP(*(.fini_array))
|
KEEP(*(.fini_array))
|
||||||
KEEP(*(SORT(.fini_array.*)))
|
KEEP(*(SORT(.fini_array.*)))
|
||||||
__fini_array_end = .;
|
__fini_array_end__ = .;
|
||||||
} > XTORS_FLASH AT > XTORS_FLASH_LMA
|
} > XTORS_FLASH AT > XTORS_FLASH_LMA
|
||||||
|
|
||||||
.text : ALIGN_WITH_INPUT
|
.text : ALIGN_WITH_INPUT
|
||||||
{
|
{
|
||||||
__text_base = .;
|
__text_base__ = .;
|
||||||
*(.text)
|
*(.text)
|
||||||
*(.text.*)
|
*(.text.*)
|
||||||
*(.glue_7t)
|
*(.glue_7t)
|
||||||
*(.glue_7)
|
*(.glue_7)
|
||||||
*(.gcc*)
|
*(.gcc*)
|
||||||
__text_end = .;
|
__text_end__ = .;
|
||||||
} > TEXT_FLASH AT > TEXT_FLASH_LMA
|
} > TEXT_FLASH AT > TEXT_FLASH_LMA
|
||||||
|
|
||||||
.rodata : ALIGN(4)
|
.rodata : ALIGN(4)
|
||||||
|
@ -61,9 +61,9 @@ SECTIONS
|
||||||
} > VARIOUS_FLASH AT > VARIOUS_FLASH_LMA
|
} > VARIOUS_FLASH AT > VARIOUS_FLASH_LMA
|
||||||
|
|
||||||
.ARM.exidx : {
|
.ARM.exidx : {
|
||||||
__exidx_start = .;
|
__exidx_base__ = .;
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||||
__exidx_end = .;
|
__exidx_end__ = .;
|
||||||
} > VARIOUS_FLASH AT > VARIOUS_FLASH_LMA
|
} > VARIOUS_FLASH AT > VARIOUS_FLASH_LMA
|
||||||
|
|
||||||
.eh_frame_hdr :
|
.eh_frame_hdr :
|
||||||
|
|
|
@ -20,24 +20,24 @@ SECTIONS
|
||||||
{
|
{
|
||||||
PROVIDE(_textdata = LOADADDR(.data));
|
PROVIDE(_textdata = LOADADDR(.data));
|
||||||
PROVIDE(_data = .);
|
PROVIDE(_data = .);
|
||||||
_textdata_start = LOADADDR(.data);
|
__textdata_base__ = LOADADDR(.data);
|
||||||
_data_start = .;
|
__data_base__ = .;
|
||||||
*(.data)
|
*(.data)
|
||||||
*(.data.*)
|
*(.data.*)
|
||||||
*(.ramtext)
|
*(.ramtext)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
PROVIDE(_edata = .);
|
PROVIDE(_edata = .);
|
||||||
_data_end = .;
|
__data_end__ = .;
|
||||||
} > DATA_RAM AT > DATA_RAM_LMA
|
} > DATA_RAM AT > DATA_RAM_LMA
|
||||||
|
|
||||||
.bss (NOLOAD) : ALIGN(4)
|
.bss (NOLOAD) : ALIGN(4)
|
||||||
{
|
{
|
||||||
_bss_start = .;
|
__bss_base__ = .;
|
||||||
*(.bss)
|
*(.bss)
|
||||||
*(.bss.*)
|
*(.bss.*)
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_bss_end = .;
|
__bss_end__ = .;
|
||||||
PROVIDE(end = .);
|
PROVIDE(end = .);
|
||||||
} > BSS_RAM
|
} > BSS_RAM
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,55 +14,55 @@
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
__ram0_start__ = ORIGIN(ram0);
|
__ram0_base__ = ORIGIN(ram0);
|
||||||
__ram0_size__ = LENGTH(ram0);
|
__ram0_size__ = LENGTH(ram0);
|
||||||
__ram0_end__ = __ram0_start__ + __ram0_size__;
|
__ram0_end__ = __ram0_base__ + __ram0_size__;
|
||||||
__ram1_start__ = ORIGIN(ram1);
|
__ram1_base__ = ORIGIN(ram1);
|
||||||
__ram1_size__ = LENGTH(ram1);
|
__ram1_size__ = LENGTH(ram1);
|
||||||
__ram1_end__ = __ram1_start__ + __ram1_size__;
|
__ram1_end__ = __ram1_base__ + __ram1_size__;
|
||||||
__ram2_start__ = ORIGIN(ram2);
|
__ram2_base__ = ORIGIN(ram2);
|
||||||
__ram2_size__ = LENGTH(ram2);
|
__ram2_size__ = LENGTH(ram2);
|
||||||
__ram2_end__ = __ram2_start__ + __ram2_size__;
|
__ram2_end__ = __ram2_base__ + __ram2_size__;
|
||||||
__ram3_start__ = ORIGIN(ram3);
|
__ram3_base__ = ORIGIN(ram3);
|
||||||
__ram3_size__ = LENGTH(ram3);
|
__ram3_size__ = LENGTH(ram3);
|
||||||
__ram3_end__ = __ram3_start__ + __ram3_size__;
|
__ram3_end__ = __ram3_base__ + __ram3_size__;
|
||||||
__ram4_start__ = ORIGIN(ram4);
|
__ram4_base__ = ORIGIN(ram4);
|
||||||
__ram4_size__ = LENGTH(ram4);
|
__ram4_size__ = LENGTH(ram4);
|
||||||
__ram4_end__ = __ram4_start__ + __ram4_size__;
|
__ram4_end__ = __ram4_base__ + __ram4_size__;
|
||||||
__ram5_start__ = ORIGIN(ram5);
|
__ram5_base__ = ORIGIN(ram5);
|
||||||
__ram5_size__ = LENGTH(ram5);
|
__ram5_size__ = LENGTH(ram5);
|
||||||
__ram5_end__ = __ram5_start__ + __ram5_size__;
|
__ram5_end__ = __ram5_base__ + __ram5_size__;
|
||||||
__ram6_start__ = ORIGIN(ram6);
|
__ram6_base__ = ORIGIN(ram6);
|
||||||
__ram6_size__ = LENGTH(ram6);
|
__ram6_size__ = LENGTH(ram6);
|
||||||
__ram6_end__ = __ram6_start__ + __ram6_size__;
|
__ram6_end__ = __ram6_base__ + __ram6_size__;
|
||||||
__ram7_start__ = ORIGIN(ram7);
|
__ram7_base__ = ORIGIN(ram7);
|
||||||
__ram7_size__ = LENGTH(ram7);
|
__ram7_size__ = LENGTH(ram7);
|
||||||
__ram7_end__ = __ram7_start__ + __ram7_size__;
|
__ram7_end__ = __ram7_base__ + __ram7_size__;
|
||||||
|
|
||||||
__flash0_start__ = ORIGIN(flash0);
|
__flash0_base__ = ORIGIN(flash0);
|
||||||
__flash0_size__ = LENGTH(flash0);
|
__flash0_size__ = LENGTH(flash0);
|
||||||
__flash0_end__ = __flash0_start__ + __flash0_size__;
|
__flash0_end__ = __flash0_base__ + __flash0_size__;
|
||||||
__flash1_start__ = ORIGIN(flash1);
|
__flash1_base__ = ORIGIN(flash1);
|
||||||
__flash1_size__ = LENGTH(flash1);
|
__flash1_size__ = LENGTH(flash1);
|
||||||
__flash1_end__ = __flash1_start__ + __flash1_size__;
|
__flash1_end__ = __flash1_base__ + __flash1_size__;
|
||||||
__flash2_start__ = ORIGIN(flash2);
|
__flash2_base__ = ORIGIN(flash2);
|
||||||
__flash2_size__ = LENGTH(flash2);
|
__flash2_size__ = LENGTH(flash2);
|
||||||
__flash2_end__ = __flash2_start__ + __flash2_size__;
|
__flash2_end__ = __flash2_base__ + __flash2_size__;
|
||||||
__flash3_start__ = ORIGIN(flash3);
|
__flash3_base__ = ORIGIN(flash3);
|
||||||
__flash3_size__ = LENGTH(flash3);
|
__flash3_size__ = LENGTH(flash3);
|
||||||
__flash3_end__ = __flash3_start__ + __flash3_size__;
|
__flash3_end__ = __flash3_base__ + __flash3_size__;
|
||||||
__flash4_start__ = ORIGIN(flash4);
|
__flash4_base__ = ORIGIN(flash4);
|
||||||
__flash4_size__ = LENGTH(flash4);
|
__flash4_size__ = LENGTH(flash4);
|
||||||
__flash4_end__ = __flash4_start__ + __flash4_size__;
|
__flash4_end__ = __flash4_base__ + __flash4_size__;
|
||||||
__flash5_start__ = ORIGIN(flash5);
|
__flash5_base__ = ORIGIN(flash5);
|
||||||
__flash5_size__ = LENGTH(flash5);
|
__flash5_size__ = LENGTH(flash5);
|
||||||
__flash5_end__ = __flash5_start__ + __flash5_size__;
|
__flash5_end__ = __flash5_base__ + __flash5_size__;
|
||||||
__flash6_start__ = ORIGIN(flash6);
|
__flash6_base__ = ORIGIN(flash6);
|
||||||
__flash6_size__ = LENGTH(flash6);
|
__flash6_size__ = LENGTH(flash6);
|
||||||
__flash6_end__ = __flash6_start__ + __flash6_size__;
|
__flash6_end__ = __flash6_base__ + __flash6_size__;
|
||||||
__flash7_start__ = ORIGIN(flash7);
|
__flash7_base__ = ORIGIN(flash7);
|
||||||
__flash7_size__ = LENGTH(flash7);
|
__flash7_size__ = LENGTH(flash7);
|
||||||
__flash7_end__ = __flash7_start__ + __flash7_size__;
|
__flash7_end__ = __flash7_base__ + __flash7_size__;
|
||||||
|
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
|
|
|
@ -257,18 +257,22 @@ msg_t test_execute(BaseSequentialStream *stream, const testsuite_t *tsp) {
|
||||||
#endif
|
#endif
|
||||||
#if defined(TEST_CFG_SIZE_REPORT)
|
#if defined(TEST_CFG_SIZE_REPORT)
|
||||||
{
|
{
|
||||||
extern uint8_t __text_base, __text_end,
|
extern uint8_t __text_base__, __text_end__,
|
||||||
_data_start, _data_end,
|
__rodata_base__, __rodata_end__,
|
||||||
_bss_start, _bss_end;
|
__data_base__, __data_end__,
|
||||||
|
__bss_base__, __bss_end__;
|
||||||
test_println("***");
|
test_println("***");
|
||||||
test_print("*** Text size: ");
|
test_print("*** Text size: ");
|
||||||
test_printn((uint32_t)(&__text_end - &__text_base));
|
test_printn((uint32_t)(&__text_end__ - &__text_base__));
|
||||||
|
test_println(" bytes");
|
||||||
|
test_print("*** RO data size: ");
|
||||||
|
test_printn((uint32_t)(&__rodata_end__ - &__rodata_base__));
|
||||||
test_println(" bytes");
|
test_println(" bytes");
|
||||||
test_print("*** Data size: ");
|
test_print("*** Data size: ");
|
||||||
test_printn((uint32_t)(&_data_end - &_data_start));
|
test_printn((uint32_t)(&__data_end__ - &__data_base__));
|
||||||
test_println(" bytes");
|
test_println(" bytes");
|
||||||
test_print("*** BSS size: ");
|
test_print("*** BSS size: ");
|
||||||
test_printn((uint32_t)(&_bss_end - &_bss_start));
|
test_printn((uint32_t)(&__bss_end__ - &__bss_base__));
|
||||||
test_println(" bytes");
|
test_println(" bytes");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue