rp2: Make FLASH LENGTH match PICO_FLASH_SIZE_BYTES in .ld files.

With a fallback to default sizes if `PICO_FLASH_SIZE_BYTES` is not defined.

Signed-off-by: Dryw Wade <dryw.wade@sparkfun.com>
This commit is contained in:
Dryw Wade 2025-05-22 10:40:48 -06:00 committed by Damien George
parent 2dada065ac
commit 6bfb83e30a
3 changed files with 16 additions and 2 deletions

View file

@ -528,6 +528,20 @@ target_link_options(${MICROPY_TARGET} PRIVATE
-Wl,--wrap=runtime_init_clocks
)
if(PICO_FLASH_SIZE_BYTES GREATER 0)
target_link_options(${MICROPY_TARGET} PRIVATE
-Wl,--defsym=__micropy_flash_size__=${PICO_FLASH_SIZE_BYTES}
)
elseif(PICO_RP2040)
target_link_options(${MICROPY_TARGET} PRIVATE
-Wl,--defsym=__micropy_flash_size__=2048k # Default to 2MB
)
elseif(PICO_RP2350)
target_link_options(${MICROPY_TARGET} PRIVATE
-Wl,--defsym=__micropy_flash_size__=4096k # Default to 4MB
)
endif()
if(PICO_RP2350)
target_link_options(${MICROPY_TARGET} PRIVATE
-Wl,--defsym=__micropy_extra_stack__=4096

View file

@ -23,7 +23,7 @@
MEMORY
{
FLASH(rx) : ORIGIN = 0x10000000, LENGTH = 2048k
FLASH(rx) : ORIGIN = 0x10000000, LENGTH = __micropy_flash_size__
RAM(rwx) : ORIGIN = 0x20000000, LENGTH = 256k
SCRATCH_X(rwx) : ORIGIN = 0x20040000, LENGTH = 4k
SCRATCH_Y(rwx) : ORIGIN = 0x20041000, LENGTH = 4k

View file

@ -23,7 +23,7 @@
MEMORY
{
FLASH(rx) : ORIGIN = 0x10000000, LENGTH = 4096k
FLASH(rx) : ORIGIN = 0x10000000, LENGTH = __micropy_flash_size__
RAM(rwx) : ORIGIN = 0x20000000, LENGTH = 512k
SCRATCH_X(rwx) : ORIGIN = 0x20080000, LENGTH = 4k
SCRATCH_Y(rwx) : ORIGIN = 0x20081000, LENGTH = 4k