From 572490e909ccf574bd595c0a61a11f3a4805bcc4 Mon Sep 17 00:00:00 2001 From: liquidraver <504870+liquidraver@users.noreply.github.com> Date: Mon, 15 Jun 2026 14:08:09 +0200 Subject: [PATCH] migrate to NVS, update formatters --- formatter/SoftDevice_v6_formatter.uf2 | Bin 100864 -> 100864 bytes formatter/SoftDevice_v7_formatter.uf2 | Bin 104960 -> 97792 bytes zephcore/adapters/ble/ZephyrBLE.cpp | 4 +++ zephcore/app/RepeaterDataStore.cpp | 12 +++++++++ zephcore/boards/common/nrf52_common.conf | 11 ++++++++ .../boards/common/nrf52_partitions_sdv6.dtsi | 22 +++++++++++++--- .../boards/common/nrf52_partitions_sdv7.dtsi | 24 +++++++++++++++--- zephcore/helpers/CommonCLI.cpp | 10 +++++++- 8 files changed, 75 insertions(+), 8 deletions(-) diff --git a/formatter/SoftDevice_v6_formatter.uf2 b/formatter/SoftDevice_v6_formatter.uf2 index e04d14043bcf99c9db245e3c5ac6bcb01c6ba34d..d28d08604d0a8cebdb511e100ef9710d34fba8a6 100644 GIT binary patch delta 35706 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 delta 35443 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 l;P_n7;8GTxD&(@jpWZC2UEz5TZv5!Q6}Sj +#include #include #include #include @@ -354,6 +355,17 @@ bool RepeaterDataStore::formatFileSystem() { } fs_closedir(&dir); +#if FIXED_PARTITION_EXISTS(storage_partition) + /* Erase the NVS bonds partition too — a factory reset should clear BLE + * bonds, not just repeater files. Caller reboots so NVS re-inits clean. */ + const struct flash_area *fap; + if (flash_area_open(PARTITION_ID(storage_partition), &fap) == 0) { + LOG_INF("Formatting NVS storage (%u bytes)", (unsigned)fap->fa_size); + flash_area_flatten(fap, 0, fap->fa_size); + flash_area_close(fap); + } +#endif + LOG_INF("Repeater data erased"); return true; } diff --git a/zephcore/boards/common/nrf52_common.conf b/zephcore/boards/common/nrf52_common.conf index 1d59be0..4a4ea51 100644 --- a/zephcore/boards/common/nrf52_common.conf +++ b/zephcore/boards/common/nrf52_common.conf @@ -28,6 +28,17 @@ CONFIG_BT_CTLR_DATA_LENGTH_MAX=251 # Coded PHY — enable in nRF LL controller (host auto-request in zephcore_common.conf) CONFIG_BT_CTLR_PHY_CODED=y +# ========== BLE bonds: dedicated NVS partition (not /lfs) ========== +# Bonds live in their own `storage_partition` NVS region (see +# nrf52_partitions_sdv{6,7}.dtsi), isolated from the /lfs LittleFS volume +# that holds identity/prefs/contacts. This overrides the file-backed +# default in zephcore_common.conf (loaded earlier): a busy bond store can +# no longer corrupt /lfs, and the per-bond writes never touch user data. +# CONFIG_SETTINGS_FILE_PATH from the common file is inert once FILE=n. +CONFIG_SETTINGS_FILE=n +CONFIG_NVS=y +CONFIG_SETTINGS_NVS=y + # ========== Flash: nRF52-specific ========== # Partial erase — splits 4KB page erase into small sub-erases that fit # between BLE connection events. Without this, the flash driver waits for diff --git a/zephcore/boards/common/nrf52_partitions_sdv6.dtsi b/zephcore/boards/common/nrf52_partitions_sdv6.dtsi index c94d94d..af70bb3 100644 --- a/zephcore/boards/common/nrf52_partitions_sdv6.dtsi +++ b/zephcore/boards/common/nrf52_partitions_sdv6.dtsi @@ -17,7 +17,8 @@ * * Memory map (1MB internal flash): * 0x00000 - 0x26000 (152KB) SoftDevice s140 v6 (reserved) - * 0x26000 - 0xD4000 (696KB) Application + * 0x26000 - 0xD0000 (680KB) Application + * 0xD0000 - 0xD4000 (16KB) NVS settings/bonds (storage_partition) * 0xD4000 - 0xF4000 (128KB) LittleFS (/lfs automount) * 0xF4000 - 0x100000 (48KB) UF2 bootloader (reserved) */ @@ -31,6 +32,9 @@ * script, causing "region RAM overflowed" on the first build. * Set it here so all boards using this DTSI get it for free. */ zephyr,sram = &sram0; + /* BLE bonds live in the NVS storage_partition, not the /lfs + * settings file — see boards/common/nrf52_common.conf. */ + zephyr,settings-partition = &storage_partition; }; }; @@ -47,10 +51,22 @@ reg = <0x00000000 0x00026000>; }; - /* Application — 696KB */ + /* Application — 680KB (16KB trimmed from the top for the NVS + * settings partition below; lfs is left byte-identical). */ code_partition: partition@26000 { label = "Application"; - reg = <0x00026000 0x000AE000>; + reg = <0x00026000 0x000AA000>; + }; + + /* BLE bond store — 16KB NVS (Zephyr settings backend). Carved + * from the END of the app slot so lfs_partition keeps the same + * offset+size: identity/prefs/contacts in /lfs survive this change. + * Isolating bonds here stops settings-write churn from corrupting + * the /lfs LittleFS volume. Label "storage" so the existing + * factory-reset path (formatFileSystem) erases it too. */ + storage_partition: partition@d0000 { + label = "storage"; + reg = <0x000D0000 0x00004000>; }; /* LittleFS — 128KB: identity, prefs, contacts, channels, blobs */ diff --git a/zephcore/boards/common/nrf52_partitions_sdv7.dtsi b/zephcore/boards/common/nrf52_partitions_sdv7.dtsi index ce4f2b2..df69396 100644 --- a/zephcore/boards/common/nrf52_partitions_sdv7.dtsi +++ b/zephcore/boards/common/nrf52_partitions_sdv7.dtsi @@ -36,7 +36,7 @@ * │ │ * │ CHOSEN NODE: │ * │ zephyr,code-partition = &code_partition; │ - * │ (Do NOT set zephyr,settings-partition — uses file settings) │ + * │ zephyr,settings-partition = &storage_partition; (NVS bonds) │ * │ │ * │ QSPI ADD-ON (if board has external QSPI flash): │ * │ In board.overlay: │ @@ -46,7 +46,8 @@ * * Memory map (1MB internal flash): * 0x00000 - 0x27000 (156KB) SoftDevice s140 v7 (reserved) - * 0x27000 - 0xD4000 (692KB) Application + * 0x27000 - 0xD0000 (676KB) Application + * 0xD0000 - 0xD4000 (16KB) NVS settings/bonds (storage_partition) * 0xD4000 - 0xF4000 (128KB) LittleFS (/lfs automount) * 0xF4000 - 0x100000 (48KB) UF2 bootloader (reserved) */ @@ -60,6 +61,9 @@ * script, causing "region RAM overflowed" on the first build. * Set it here so all boards using this DTSI get it for free. */ zephyr,sram = &sram0; + /* BLE bonds live in the NVS storage_partition, not the /lfs + * settings file — see boards/common/nrf52_common.conf. */ + zephyr,settings-partition = &storage_partition; }; }; @@ -76,10 +80,22 @@ reg = <0x00000000 0x00027000>; }; - /* Application — 692KB */ + /* Application — 676KB (16KB trimmed from the top for the NVS + * settings partition below; lfs is left byte-identical). */ code_partition: partition@27000 { label = "Application"; - reg = <0x00027000 0x000AD000>; + reg = <0x00027000 0x000A9000>; + }; + + /* BLE bond store — 16KB NVS (Zephyr settings backend). Carved + * from the END of the app slot so lfs_partition keeps the same + * offset+size: identity/prefs/contacts in /lfs survive this change. + * Isolating bonds here stops settings-write churn from corrupting + * the /lfs LittleFS volume. Label "storage" so the existing + * factory-reset path (formatFileSystem) erases it too. */ + storage_partition: partition@d0000 { + label = "storage"; + reg = <0x000D0000 0x00004000>; }; /* LittleFS — 128KB: identity, prefs, contacts, channels, blobs */ diff --git a/zephcore/helpers/CommonCLI.cpp b/zephcore/helpers/CommonCLI.cpp index 822b912..33b4c4d 100644 --- a/zephcore/helpers/CommonCLI.cpp +++ b/zephcore/helpers/CommonCLI.cpp @@ -914,7 +914,15 @@ void CommonCLI::handleCommand(uint32_t sender_timestamp, const char* command, ch } } else if (sender_timestamp == 0 && strcmp(command, "erase") == 0) { bool s = _callbacks->formatFileSystem(); - snprintf(reply, CLI_REPLY_SIZE, "File system erase: %s", s ? "OK" : "Err"); + if (s) { + /* formatFileSystem() flattens the mounted NVS bonds partition, + * leaving stale in-RAM bond state. Reboot (deferred so this + * reply transmits first) so NVS + the BT stack re-init cleanly. */ + snprintf(reply, CLI_REPLY_SIZE, "File system erase: OK - rebooting"); + scheduleReboot(REBOOT_NORMAL); + } else { + snprintf(reply, CLI_REPLY_SIZE, "File system erase: Err"); + } } else if (memcmp(command, "ver", 3) == 0) { snprintf(reply, CLI_REPLY_SIZE, "%s (Build: %s)", _callbacks->getFirmwareVer(), _callbacks->getBuildDate()); } else if (memcmp(command, "board", 5) == 0) {