Skip to content

Commit 89ec940

Browse files
committed
picolibc: Use different memory layouts for release and testing
1. Release build must use memory layout from Newlib. 2. Memory layout for testing must depend on a chosen simulator (nSIM or QEMU). Also, section size must be increased. Signed-off-by: Yuriy Kolerov <[email protected]>
1 parent 7d193e4 commit 89ec940

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

Makefile.in

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -991,12 +991,40 @@ define PICOLIBC_OBSOLETE_MATH_BLOCK
991991
endef
992992
export PICOLIBC_OBSOLETE_MATH_BLOCK
993993

994+
PICOLIBC_RELEASE_LAYOUT_SETTINGS := \
995+
--flash-addr "0x00000000" \
996+
--flash-size "128K" \
997+
--ram-addr "0x40000000" \
998+
--ram-size "128K"
999+
1000+
PICOLIBC_NSIM_LAYOUT_SETTINGS := \
1001+
--flash-addr "0x00000000" \
1002+
--flash-size "4M" \
1003+
--ram-addr "0x40000000" \
1004+
--ram-size "4M"
1005+
1006+
PICOLIBC_QEMU_LAYOUT_SETTINGS := \
1007+
--flash-addr "0x80000000" \
1008+
--flash-size "4M" \
1009+
--ram-addr "0x80020000" \
1010+
--ram-size "4M"
1011+
1012+
ifeq ($(SIM),nsim)
1013+
PICOLIBC_TEST_LAYOUT_SETTINGS := $(PICOLIBC_NSIM_LAYOUT_SETTINGS)
1014+
endif
1015+
1016+
ifeq ($(SIM),qemu)
1017+
PICOLIBC_TEST_LAYOUT_SETTINGS := $(PICOLIBC_QEMU_LAYOUT_SETTINGS)
1018+
endif
1019+
9941020
stamps/configure-picolibc-perf: $(PICOLIBC_SRCDIR) $(PICOLIBC_SRC_GIT) stamps/build-gcc-picolibc-stage1
9951021
rm -rf $@ stamps/build-picolibc-perf build-picolibc-perf
9961022
mkdir build-picolibc-perf
9971023
cd build-picolibc-perf && $(srcdir)/scripts/generate_picolibc_cross_file \
9981024
--triplet $(NEWLIB_TUPLE) \
1025+
$(PICOLIBC_RELEASE_LAYOUT_SETTINGS) \
9991026
--cflags "$(CFLAGS_FOR_TARGET)" \
1027+
--simulator nsim \
10001028
> cross-$(NEWLIB_TUPLE).txt
10011029
cd build-picolibc-perf && meson setup . $(PICOLIBC_SRCDIR) \
10021030
-Dprefix=$(INSTALL_DIR)/$(NEWLIB_TUPLE) \
@@ -1054,7 +1082,9 @@ stamps/configure-picolibc-nano: $(PICOLIBC_SRCDIR) $(PICOLIBC_SRC_GIT) stamps/bu
10541082
mkdir build-picolibc-nano
10551083
cd build-picolibc-nano && $(srcdir)/scripts/generate_picolibc_cross_file \
10561084
--triplet $(NEWLIB_TUPLE) \
1085+
$(PICOLIBC_RELEASE_LAYOUT_SETTINGS) \
10571086
--cflags "$(CFLAGS_FOR_TARGET) -msave-restore" \
1087+
--simulator nsim \
10581088
> cross-$(NEWLIB_TUPLE).txt
10591089
cd build-picolibc-nano && meson setup . $(PICOLIBC_SRCDIR) \
10601090
-Dprefix=$(INSTALL_DIR)/picolibc-nano/$(NEWLIB_TUPLE) \
@@ -1115,6 +1145,7 @@ stamps/configure-picolibc-perf-test: stamps/build-gcc-picolibc-stage2 $(PICOLIBC
11151145
mkdir build-picolibc-perf-test
11161146
cd build-picolibc-perf-test && $(srcdir)/scripts/generate_picolibc_cross_file \
11171147
--triplet $(NEWLIB_TUPLE) \
1148+
$(PICOLIBC_TEST_LAYOUT_SETTINGS) \
11181149
--cflags "$(CFLAGS_FOR_TARGET)" \
11191150
--simulator "$(SIM)" \
11201151
> cross-$(NEWLIB_TUPLE).txt
@@ -1140,6 +1171,7 @@ stamps/configure-picolibc-nano-test: stamps/build-gcc-picolibc-stage2 $(PICOLIBC
11401171
mkdir build-picolibc-nano-test
11411172
cd build-picolibc-nano-test && $(srcdir)/scripts/generate_picolibc_cross_file \
11421173
--triplet $(NEWLIB_TUPLE) \
1174+
$(PICOLIBC_TEST_LAYOUT_SETTINGS) \
11431175
--cflags "$(CFLAGS_FOR_TARGET)" \
11441176
--simulator "$(SIM)" \
11451177
> cross-$(NEWLIB_TUPLE).txt

0 commit comments

Comments
 (0)