mirror of
https://github.com/MaJerle/lwmem.git
synced 2025-01-13 21:42:53 +08:00
91 lines
2.8 KiB
ReStructuredText
91 lines
2.8 KiB
ReStructuredText
LwMEM |version| documentation
|
|
=============================
|
|
|
|
Welcome to the documentation for version |version|.
|
|
|
|
LwMEM is lightweight dynamic memory manager optimized for embedded systems.
|
|
|
|
.. image:: static/images/logo.svg
|
|
:align: center
|
|
|
|
.. rst-class:: center
|
|
.. rst-class:: index_links
|
|
|
|
:ref:`download_library` :ref:`getting_started` `Open Github <https://github.com/MaJerle/lwmem>`_ `Donate <https://paypal.me/tilz0R>`_
|
|
|
|
Features
|
|
^^^^^^^^
|
|
|
|
* Written in C (C11), 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
|
|
|
|
Requirements
|
|
^^^^^^^^^^^^
|
|
|
|
* C compiler
|
|
* Less than ``2kB`` of non-volatile memory
|
|
|
|
Contribute
|
|
^^^^^^^^^^
|
|
|
|
Fresh contributions are always welcome. Simple instructions to proceed:
|
|
|
|
#. Fork Github repository
|
|
#. Respect `C style & coding rules <https://github.com/MaJerle/c-code-style>`_ used by the library
|
|
#. Create a pull request to ``develop`` branch with new features or bug fixes
|
|
|
|
Alternatively you may:
|
|
|
|
#. Report a bug
|
|
#. Ask for a feature request
|
|
|
|
License
|
|
^^^^^^^
|
|
|
|
.. literalinclude:: ../LICENSE
|
|
|
|
Table of contents
|
|
^^^^^^^^^^^^^^^^^
|
|
|
|
.. toctree::
|
|
:maxdepth: 2
|
|
:caption: Contents
|
|
|
|
self
|
|
get-started/index
|
|
user-manual/index
|
|
api-reference/index
|
|
examples/index
|
|
changelog/index
|
|
|
|
.. toctree::
|
|
:maxdepth: 2
|
|
:caption: Other projects
|
|
:hidden:
|
|
|
|
LwBTN - Button manager <https://github.com/MaJerle/lwbtn>
|
|
LwDTC - DateTimeCron <https://github.com/MaJerle/lwdtc>
|
|
LwESP - ESP-AT library <https://github.com/MaJerle/lwesp>
|
|
LwEVT - Event manager <https://github.com/MaJerle/lwevt>
|
|
LwGPS - GPS NMEA parser <https://github.com/MaJerle/lwgps>
|
|
LwCELL - Cellular modem host AT library <https://github.com/MaJerle/lwcell>
|
|
LwJSON - JSON parser <https://github.com/MaJerle/lwjson>
|
|
LwMEM - Memory manager <https://github.com/MaJerle/lwmem>
|
|
LwOW - OneWire with UART <https://github.com/MaJerle/lwow>
|
|
LwPKT - Packet protocol <https://github.com/MaJerle/lwpkt>
|
|
LwPRINTF - Printf <https://github.com/MaJerle/lwprintf>
|
|
LwRB - Ring buffer <https://github.com/MaJerle/lwrb>
|
|
LwSHELL - Shell <https://github.com/MaJerle/lwshell>
|
|
LwUTIL - Utility functions <https://github.com/MaJerle/lwutil>
|
|
LwWDG - RTOS task watchdog <https://github.com/MaJerle/lwwdg>
|