Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,8 @@ chip-independently. Per-chip values (from `nrf54l<chip>_s145_v10.ld`):
| nRF54L10 | `0x8000 – 0xC7000` | `0xC7000 – 0xCE000` | `0xCF000` | `0xDA800` |
| nRF54L15 | `0x8000 – 0x147000` | `0x147000 – 0x14E000` | `0x14F000` | `0x15A800` |

RAM ends at `0x2003FF80`; the bootloader keeps its BLE peer data and the
App RAM ends at `0x20017F80` / `0x2002FF80` / `0x2003FF80` (L05 96 KB, L10
192 KB, L15 256 KB); the bootloader keeps its BLE peer data and the
double-reset marker in the last 128 bytes. Both sides must agree, so change
the layout in the bootloader repo's `linker/` scripts in the same step.

Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,8 @@ of RRAM.
| nRF54L15 | `0x0 – 0x8000` | `0x8000 – 0x147000` | `0x147000 – 0x14E000` | `0x14F000` | `0x15A800` |

RAM: `0x20000000 – 0x20004800` belongs to the SoftDevice, the application
runs from `0x20004800` to `0x2003FF80`; the last 128 bytes hold the
runs from `0x20004800` to `0x20017F80` / `0x2002FF80` / `0x2003FF80` (L05 /
L10 / L15); the last 128 bytes of RAM hold the
bootloader's BLE peer data and double-reset marker. The layout matches the
[nRF54_Bootloader](https://github.com/meshtastic/nRF54_Bootloader) linker
scripts.
Expand Down
7 changes: 7 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Changelog

## 0.5.1 — 2026-10-26

- nRF54L05 and nRF54L10: application RAM ends at `0x20017F80` / `0x2002FF80`
instead of the nRF54L15's `0x2003FF80`, which is past the end of their RAM.
The stack and the bootloader's peer data and double-reset marker are now
inside RAM, where the bootloader expects them

## 0.5.0 — 2026-10-26

Requires s145 10.0.1, bootloader 0.5.0 and a platform with the 10.0.1 boards.
Expand Down
4 changes: 2 additions & 2 deletions cores/nRF5/linker/nrf54l05_s145_v10.ld
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ GROUP(-lgcc -lc -lnosys)
MEMORY
{
FLASH (rx) : ORIGIN = 0x00008000, LENGTH = 0x3f000
RAM (rwx) : ORIGIN = 0x20004800, LENGTH = 0x3B780
RAM (rwx) : ORIGIN = 0x20004800, LENGTH = 0x13780

/* Bootloader peer data and double-reset marker, must stay untouched by the app */
NOINIT (rwx) : ORIGIN = 0x2003FF80, LENGTH = 0x78
NOINIT (rwx) : ORIGIN = 0x20017F80, LENGTH = 0x78
}

__softdevice_start__ = 0x0005A800;
Expand Down
4 changes: 2 additions & 2 deletions cores/nRF5/linker/nrf54l10_s145_v10.ld
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ GROUP(-lgcc -lc -lnosys)
MEMORY
{
FLASH (rx) : ORIGIN = 0x00008000, LENGTH = 0xbf000
RAM (rwx) : ORIGIN = 0x20004800, LENGTH = 0x3B780
RAM (rwx) : ORIGIN = 0x20004800, LENGTH = 0x2B780

/* Bootloader peer data and double-reset marker, must stay untouched by the app */
NOINIT (rwx) : ORIGIN = 0x2003FF80, LENGTH = 0x78
NOINIT (rwx) : ORIGIN = 0x2002FF80, LENGTH = 0x78
}

__softdevice_start__ = 0x000DA800;
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,5 @@
"url": "https://github.com/meshtastic/nRF54_Arduino.git"
},
"license": "LGPL-2.1-or-later",
"version": "0.5.0"
"version": "0.5.1"
}
Loading