"Das U-Boot" Source Tree
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

configs: legoev3: adjust to reduce binary size

Adjust legoev3_defconfig to reduce the binary output size.

As u-boot has bloated a bit over the years, the legoev3_defconfig can no
longer build something that fits in the 256kB size limit of the EV3.
This drops a few unused features, but the real difference-makers are
enabling thumb instructions and using link time optimization to reduce
the size.

This reduced u-boot.bin from 279,920 to 198,416 bytes on my local
machine with arm-none-eabi-gcc (15:13.2.rel1-2) 13.2.1 20231009.

HAS_BOARD_SIZE_LIMIT is also added to catch any future regressions.

Signed-off-by: David Lechner <david@lechnology.com>

authored by

David Lechner and committed by
Tom Rini
15182ce2 d1d53c25

+4 -2
+4 -2
configs/legoev3_defconfig
··· 1 1 CONFIG_ARM=y 2 2 CONFIG_SKIP_LOWLEVEL_INIT=y 3 + CONFIG_SYS_THUMB_BUILD=y 3 4 CONFIG_ARCH_DAVINCI=y 4 5 CONFIG_TEXT_BASE=0xc1080000 5 6 CONFIG_SYS_MALLOC_LEN=0x110000 ··· 12 13 CONFIG_ENV_SIZE=0x4000 13 14 CONFIG_DEFAULT_DEVICE_TREE="da850-lego-ev3" 14 15 CONFIG_SYS_LOAD_ADDR=0xc0700000 16 + CONFIG_LTO=y 17 + CONFIG_HAS_BOARD_SIZE_LIMIT=y 18 + CONFIG_BOARD_SIZE_LIMIT=262144 15 19 CONFIG_DYNAMIC_SYS_CLK_FREQ=y 16 20 CONFIG_BOOTDELAY=0 17 21 CONFIG_AUTOBOOT_KEYED=y ··· 31 35 # CONFIG_BOOTM_RTEMS is not set 32 36 # CONFIG_BOOTM_VXWORKS is not set 33 37 CONFIG_CMD_ASKENV=y 34 - CONFIG_CRC32_VERIFY=y 35 38 CONFIG_CMD_MX_CYCLIC=y 36 39 CONFIG_CMD_MMC=y 37 40 CONFIG_CMD_SPI=y ··· 56 59 CONFIG_SPI=y 57 60 CONFIG_DM_SPI=y 58 61 CONFIG_DAVINCI_SPI=y 59 - CONFIG_REGEX=y