Skip to content

Support for MQTT Broker persist on STM32H5 demo#129

Open
dgarske wants to merge 3 commits into
wolfSSL:masterfrom
dgarske:mqtt_broker_persist
Open

Support for MQTT Broker persist on STM32H5 demo#129
dgarske wants to merge 3 commits into
wolfSSL:masterfrom
dgarske:mqtt_broker_persist

Conversation

@dgarske

@dgarske dgarske commented Jun 5, 2026

Copy link
Copy Markdown
Member

No description provided.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds an STM32H563-specific persistence backend for the wolfMQTT broker, storing broker state in a reserved internal-flash KV region and wiring it into the demo build and broker initialization flow.

Changes:

  • Enable broker persistence (and encrypted-at-rest mode) via user_settings.h, with reduced persisted-session and offline-queue limits sized for the flash KV region.
  • Reserve the top 32KB of internal flash in the STM32H563 linker script so firmware code cannot be placed in the persistence region.
  • Add and build a new STM32H5 internal-flash KV backend (mqtt_broker_persist_flash.c/.h) and install its hooks before MqttBroker_Start().

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/port/stm32h563/user_settings.h Enables broker persistence/encryption and sets persistence-related broker limits.
src/port/stm32h563/target.ld Shrinks the FLASH region to reserve 32KB for the persistence KV store.
src/port/stm32h563/mqtt_broker.c Initializes and installs persistence hooks before broker start.
src/port/stm32h563/mqtt_broker_persist_flash.h Declares the STM32H5 flash persistence init API and hook setup.
src/port/stm32h563/mqtt_broker_persist_flash.c Implements a log-structured KV store over reserved internal flash with optional encryption key hook.
src/port/stm32h563/Makefile Builds the new backend and links in the generic broker persistence codec.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/port/stm32h563/user_settings.h Outdated
Comment thread src/port/stm32h563/target.ld Outdated
Comment thread src/port/stm32h563/mqtt_broker_persist_flash.c
Comment thread src/port/stm32h563/Makefile Outdated
@dgarske dgarske force-pushed the mqtt_broker_persist branch from 19699e9 to d297f34 Compare June 5, 2026 22:52
@dgarske dgarske force-pushed the mqtt_broker_persist branch from b37393f to 820586b Compare June 5, 2026 23:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants