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.
This library is used by:
This library depends on:
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.