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_erase combined 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:

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.

  • LICENSE - Primary license terms (Apache License)
  • EULA.md - End User License Agreement

(c) 2024-2026, Infineon Technologies AG, or an affiliate of Infineon Technologies AG. All rights reserved.