Files
firmware/ld/wio_tracker_l1-memory.x
T
swaits 1c98786ce6 feat(build): per-board memory.x override with MCU-family fallback
build.rs resolves the linker layout in two steps: per-board override
`ld/{board}-memory.x` first, MCU-family default second. Lets a board
deviate from the family default without a per-board build matrix.

Adds `ld/wio_tracker_l1-memory.x` with `ORIGIN = 0x1000` (no-SD
layout). The Wio Tracker L1 ships from Seeed with s140 SoftDevice, but
our earlier `ORIGIN = 0x1000, LENGTH = 0xE9000` linker silently
overwrote it across many UF2 flashes; the bootloader now reports
`SoftDevice: not found`. Until s140 is restored via SWD, the WIO
needs the no-SD layout to match the bootloader's actual boot chain.

Delete the per-board file once SD is restored -- the build will then
fall back to the SD-aware `ld/nrf52840-memory.x` and the WIO matches
every other nRF52840 board.
2026-04-28 11:03:46 -06:00

26 lines
998 B
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* Wio Tracker L1 memory layout — UF2 bootloader, NO SoftDevice
*
* 0x00000 – 0x01000 MBR (Master Boot Record)
* 0x01000 – 0xEA000 Application ← we live here (no SD present)
* 0xEA000 – 0xF4000 Reserved (app data)
* 0xF4000 – 0xFC000 UF2 Bootloader
* 0xFF000 – 0x100000 Bootloader settings
*
* Background: Seeed factory firmware ships s140 SoftDevice at
* 0x01000–0x26000, but our earlier UF2 flashes (with the original
* `ORIGIN = 0x1000` layout) silently overwrote that region. The WIO
* bootloader now reports `SoftDevice: not found`; until we restore
* s140 via SWD, the app must live at 0x1000 to match the bootloader's
* no-SD boot chain.
*
* Delete this file once SD is reinstalled — `build.rs` will then fall
* back to `ld/nrf52840-memory.x` (the SD-aware default at 0x26000)
* and the WIO matches every other nRF52840 board.
*/
MEMORY
{
FLASH : ORIGIN = 0x00001000, LENGTH = 0xE9000
RAM : ORIGIN = 0x20000008, LENGTH = 255K
}