C31bootbin Top Better
SECTIONS
_bootbin_top = ORIGIN(SRAM) + LENGTH(SRAM); /* This is the "top" */ c31bootbin top
In this layout, the of the bootbin is located at 0x0000 FFFF . The bootloader’s linkerscript uses a symbol like _bootbin_top to mark this boundary. If the bootbin tries to use memory beyond this address before initializing DRAM, a "c31bootbin top overflow" occurs. Common Scenarios Where You Encounter "c31bootbin top" 1. Compiling a Custom Bootloader for a C31 SoC When building U-Boot or a proprietary bootloader using a toolchain like arm-none-eabi-gcc, you will encounter a linker script ( .ld file) containing lines such as: SECTIONS _bootbin_top = ORIGIN(SRAM) + LENGTH(SRAM); /* This
MEMORY
SRAM (rwx) : ORIGIN = 0x00000000, LENGTH = 64K SECTIONS _bootbin_top = ORIGIN(SRAM) + LENGTH(SRAM)
.rodata : *(.rodata*) > SRAM .data : *(.data*) > SRAM