diff options
| author | graham sanderson | 2021-02-01 15:48:03 -0600 |
|---|---|---|
| committer | Damien George | 2021-02-02 10:59:10 +1100 |
| commit | 52d3ae707d7ddb8cf2c06962923226221d281206 (patch) | |
| tree | a9930bca357d755f992fae74307040c932dde80a | |
| parent | c9210a65dfce0771186916a1d43cbf63133773ba (diff) | |
rp2/memmap_mp.ld: Update for latest SDK.
| -rw-r--r-- | ports/rp2/memmap_mp.ld | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/ports/rp2/memmap_mp.ld b/ports/rp2/memmap_mp.ld index 5cebd3346..0dc96743e 100644 --- a/ports/rp2/memmap_mp.ld +++ b/ports/rp2/memmap_mp.ld @@ -35,7 +35,7 @@ SECTIONS { /* Second stage bootloader is prepended to the image. It must be 256 bytes big and checksummed. It is usually built by the boot_stage2 target - in the Pico SDK + in the Raspberry Pi Pico SDK */ .flash_begin : { @@ -59,12 +59,11 @@ SECTIONS */ .text : { - __reset_start = .; - KEEP (*(.reset)) - . = ALIGN(256); - __reset_end = .; - ASSERT(__reset_end - __reset_start == 256, "ERROR: reset section should only be 256 bytes"); + __logical_binary_start = .; KEEP (*(.vectors)) + KEEP (*(.binary_info_header)) + __binary_info_header_end = .; + KEEP (*(.reset)) /* TODO revisit this now memset/memcpy/float in ROM */ /* bit of a hack right now to exclude all floating point and time critical (e.g. memset, memcpy) code from * FLASH ... we will include any thing excluded here in .data below by default */ @@ -247,6 +246,8 @@ SECTIONS /* Check if data + heap + stack exceeds RAM limit */ ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed") + + ASSERT( __binary_info_header_end - __logical_binary_start <= 256, "Binary info must be in first 256 bytes of the binary") /* todo assert on extra code */ } |
