diff --git a/port/raspberrypi/rp2xxx/rp2040.ld b/port/raspberrypi/rp2xxx/rp2040.ld index 4517b362..8fa5f727 100644 --- a/port/raspberrypi/rp2xxx/rp2040.ld +++ b/port/raspberrypi/rp2xxx/rp2040.ld @@ -54,6 +54,11 @@ SECTIONS *(.bss*) microzig_bss_end = .; } > ram0 + + .flash_end : + { + microzig_flash_end = .; + } > flash0 microzig_data_load_start = LOADADDR(.data); } diff --git a/port/raspberrypi/rp2xxx/rp2350_arm.ld b/port/raspberrypi/rp2xxx/rp2350_arm.ld index c7904ca3..71e0d14c 100644 --- a/port/raspberrypi/rp2xxx/rp2350_arm.ld +++ b/port/raspberrypi/rp2xxx/rp2350_arm.ld @@ -52,6 +52,11 @@ SECTIONS *(.bss*) microzig_bss_end = .; } > ram0 + + .flash_end : + { + microzig_flash_end = .; + } > flash0 microzig_data_load_start = LOADADDR(.data); } diff --git a/port/raspberrypi/rp2xxx/rp2350_riscv.ld b/port/raspberrypi/rp2xxx/rp2350_riscv.ld index 16328d90..741b9477 100644 --- a/port/raspberrypi/rp2xxx/rp2350_riscv.ld +++ b/port/raspberrypi/rp2xxx/rp2350_riscv.ld @@ -48,6 +48,11 @@ SECTIONS *(.sbss*) microzig_bss_end = .; } > ram0 + + .flash_end : + { + microzig_flash_end = .; + } > flash0 microzig_data_load_start = LOADADDR(.data); PROVIDE(__global_pointer$ = microzig_data_start + 0x800); diff --git a/tools/generate_linker_script.zig b/tools/generate_linker_script.zig index f2fe124a..308b055e 100644 --- a/tools/generate_linker_script.zig +++ b/tools/generate_linker_script.zig @@ -134,6 +134,11 @@ pub fn main() !void { \\ microzig_bss_end = .; \\ } > ram0 \\ + \\ .flash_end : + \\ { + \\ microzig_flash_end = .; + \\ } > flash0 + \\ \\ microzig_data_load_start = LOADADDR(.data); \\ );