umm-malloc-rs
Provides a global allocator using the umm_malloc library.
umm_malloc is a small and simple memory allocator designed for embedded systems.
It is able to allocate and free quickly with limited memory fragmentation.
Limitations
All allocations from this allocator are aligned by 8 bytes. Requesting a larger alignment is not implemented and will panic.
Features
-
syncEnables critical sections around the allocator internals, which must be implemented with the external functions_umm_critical_entry()and_umm_critical_exit(). -
cortex-mWhen combined withsync, provides an implementation of critical sections by disabling interrupts. -
first-fitUse the first available block for allocation, rather than search for a better fit.
Future Work
umm_malloc has features for collecting metrics and detecting heap corruption,
which could be exposed conveniently with cargo features.
An implementation of memalign could be added to umm_malloc.