lwmem icon indicating copy to clipboard operation
lwmem copied to clipboard

Lightweight dynamic memory manager library for embedded systems with memory constraints. It implements malloc, calloc, realloc and free functions

Lightweight dynamic memory manager

Read first: Documentation

Features

  • Written in ANSI C99, compatible with size_t for size data types
  • Implements standard C library functions for memory allocation, malloc, calloc, realloc and free
  • Uses first-fit algorithm to search for free block
  • Supports multiple allocation instances to split between memories and/or CPU cores
  • Supports different memory regions to allow use of fragmented memories
  • Highly configurable for memory allocation and reallocation
  • Supports embedded applications with fragmented memories
  • Supports automotive applications
  • Supports advanced free/realloc algorithms to optimize memory usage
  • Operating system ready, thread-safe API
  • C++ wrapper functions
  • User friendly MIT license

Contribute

Fresh contributions are always welcome. Simple instructions to proceed::

  1. Fork Github repository
  2. Respect C style & coding rules used by the library
  3. Create a pull request to develop branch with new features or bug fixes

Alternatively you may:

  1. Report a bug
  2. Ask for a feature request