Block Storage Library - Non-Volatile Storage Abstraction for ModusToolbox
June 5, 2026 · View on GitHub
Overview
The Block Storage Library provides a convenient way to store, retrieve, and erase data in non-volatile storage. Most application developers will not interact with this library directly; it is automatically included as a dependency of higher-level middleware libraries.
This library defines a block device interface that does not make assumptions about the underlying memory type, allowing it to be used across a wide range of middleware and memory architectures. Several memory abstractions are already supported, and custom implementations can be added by the application.
Note: The "non-blocking" program and erase operations (
program_nb,erase_nb) refer to the use of the underlying HAL's non-blocking API variants (e.g.,start_program/start_erasecombined with polling), not to performing NVM operations asynchronously — the CPU still waits for the operation to complete. Unlike the blocking variants, the non-blocking operations require interrupts to be enabled.
Related Middleware and Dependencies
This library is used by:
- Higher-level middleware libraries that require non-volatile storage access
This library depends on:
- mtb-hal-cat1 - Hardware Abstraction Layer for CAT1 devices
- mtb-pdl-cat2 - Peripheral Driver Library for CAT2 devices
- serial-memory - Serial Memory library
- serial-flash - Serial Flash library
Release Notes and Changelog
- RELEASE.md - Detailed release notes for all versions
More Information
License
This library is provided under the Apache License, Version 2.0. See the source file headers for full license text.
(c) 2024-2026, Infineon Technologies AG, or an affiliate of Infineon Technologies AG. All rights reserved.