lwmem/docs/index.rst

88 lines
2.6 KiB
ReStructuredText
Raw Normal View History

LwMEM |version| documentation
=============================
2019-12-07 00:18:02 +01:00
2020-02-16 03:06:59 +01:00
Welcome to the documentation for version |version|.
2019-12-07 00:31:05 +01:00
LwMEM is lightweight dynamic memory manager optimized for embedded systems.
2020-12-05 01:24:34 +01:00
.. image:: static/images/logo.svg
:align: center
2019-12-08 09:50:16 +01:00
.. rst-class:: center
.. rst-class:: index_links
2019-12-07 00:18:02 +01:00
2020-11-30 21:21:05 +01:00
:ref:`download_library` :ref:`getting_started` `Open Github <https://github.com/MaJerle/lwmem>`_ `Donate <https://paypal.me/tilz0R>`_
2019-12-07 00:18:02 +01:00
Features
^^^^^^^^
2019-12-07 21:58:57 +01:00
* Written in ANSI C99, compatible with ``size_t`` for size data types
2019-12-07 00:31:05 +01:00
* Implements standard C library functions for memory allocation, malloc, calloc, realloc and free
2020-02-02 18:57:59 +01:00
* Uses *first-fit* algorithm to search for free block
* Supports multiple allocation instances to split between memories and/or CPU cores
2019-12-07 00:31:05 +01:00
* Supports different memory regions to allow use of fragmented memories
2020-02-02 18:57:59 +01:00
* Highly configurable for memory allocation and reallocation
* Supports embedded applications with fragmented memories
* Supports automotive applications
2019-12-07 00:31:05 +01:00
* Supports advanced free/realloc algorithms to optimize memory usage
* Operating system ready, thread-safe API
2022-01-08 16:12:49 +01:00
* C++ wrapper functions
2019-12-07 00:31:05 +01:00
* User friendly MIT license
2019-12-07 00:18:02 +01:00
Requirements
^^^^^^^^^^^^
2019-12-07 00:31:05 +01:00
* C compiler
2019-12-18 00:16:29 +01:00
* Less than ``2kB`` of non-volatile memory
2019-12-07 00:18:02 +01:00
Contribute
^^^^^^^^^^
2019-12-08 23:05:57 +01:00
Fresh contributions are always welcome. Simple instructions to proceed:
2019-12-07 00:18:02 +01:00
#. Fork Github repository
#. Respect `C style & coding rules <https://github.com/MaJerle/c-code-style>`_ used by the library
2020-01-03 15:02:05 +01:00
#. Create a pull request to ``develop`` branch with new features or bug fixes
2019-12-07 00:18:02 +01:00
Alternatively you may:
#. Report a bug
#. Ask for a feature request
License
^^^^^^^
2019-12-22 23:37:52 +01:00
.. literalinclude:: ../LICENSE
2019-12-07 00:18:02 +01:00
Table of contents
^^^^^^^^^^^^^^^^^
.. toctree::
:maxdepth: 2
:caption: Contents
2019-12-07 00:18:02 +01:00
2019-12-28 14:06:20 +01:00
self
2019-12-07 00:18:02 +01:00
get-started/index
user-manual/index
api-reference/index
2019-12-07 20:26:43 +01:00
examples/index
.. toctree::
:maxdepth: 2
:caption: Other projects
:hidden:
LwDTC - DateTimeCron <https://github.com/MaJerle/lwdtc>
LwESP - ESP-AT library <https://github.com/MaJerle/lwesp>
2022-05-10 20:38:02 +02:00
LwEVT - Event manager <https://github.com/MaJerle/lwevt>
LwGPS - GPS NMEA parser <https://github.com/MaJerle/lwgps>
LwGSM - GSM-AT library <https://github.com/MaJerle/lwgsm>
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>