Skip to content

Commit ac18eba

Browse files
committed
docs: document nrf528xx-nosd snippets
1 parent a0a3329 commit ac18eba

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

docs/docs/config/system.md

+49
Original file line numberDiff line numberDiff line change
@@ -135,3 +135,52 @@ Following [split keyboard](../features/split-keyboards.md) settings are defined
135135
| `CONFIG_ZMK_SPLIT_BLE_PERIPHERAL_STACK_SIZE` | int | Stack size of the BLE split peripheral notify thread | 650 |
136136
| `CONFIG_ZMK_SPLIT_BLE_PERIPHERAL_PRIORITY` | int | Priority of the BLE split peripheral notify thread | 5 |
137137
| `CONFIG_ZMK_SPLIT_BLE_PERIPHERAL_POSITION_QUEUE_SIZE` | int | Max number of key state events to queue to send to the central | 10 |
138+
139+
## Snippets
140+
141+
:::danger
142+
Using these snippets can erase the SoftDevice on your board.
143+
Erasing the SoftDevice will prevent the board from using firmware built without these snippets.
144+
145+
Flashing such firmware **will** totally brick the board, disabling the USB flashing functionality.
146+
The only way to restore functionality after that is to re-flash the bootloader.
147+
148+
Re-flashing a bootloader built without the SoftDevice will require firmware built with these snippets.
149+
:::
150+
151+
[Snippets](https://docs.zephyrproject.org/3.5.0/build/snippets/index.html) are a way to save common configuration separately when it applies to multiple different applications.
152+
153+
Enable snippets by adding `snippet: <snippet>` to your `build.yaml` for the appropriate board:
154+
155+
```yaml
156+
- board: nrfmicro_13_52833
157+
snippet: nrf52833-nosd
158+
shield: corne_left
159+
```
160+
161+
For local builds, add `-S <snippet>` to your build command. For example:
162+
163+
```sh
164+
west build -b nrfmicro_13_52833 -S nrf52833-nosd -- -DSHIELD=corne_left
165+
```
166+
167+
ZMK implements the following system configuration snippets:
168+
169+
### nrf52833-nosd
170+
171+
Definition: [zmk/app/snippets/nrf52833-nosd](https://github.com/zmkfirmware/zmk/blob/main/app/snippets/nrf52833-nosd)
172+
173+
On memory-constrained nRF52833 boards this snippet will extend the code partition to overwrite the Nordic SoftDevice.
174+
This gives 428KB for the code partition as opposed to 280KB with the Nordic SoftDevice.
175+
176+
The added memory allows the nRF52833 to fit displays and other memory-intensive features.
177+
178+
### nrf52840-nosd
179+
180+
Definition: [zmk/app/snippets/nrf52840-nosd](https://github.com/zmkfirmware/zmk/blob/main/app/snippets/nrf52840-nosd)
181+
182+
On nRF52840 boards this snippet will overwrite the Nordic SoftDevice, extending both the code and storage partitions.
183+
This gives 844KB/128KB for the code/storage partitions as opposed to 792KB/32KB with the Nordic SoftDevice.
184+
185+
Firmware built with this snippet can work on boards after accidentally erasing the SoftDevice.
186+
It can also be useful for especially memory-intensive applications.

0 commit comments

Comments
 (0)