This is an agreement between Micro Digital, Inc. (�MDI�) located at 2900 Bristol Street, Suite G204, Costa Mesa, California, USA and �Licensee� as follows:

To license, please email or call (714) 437-7333.
First Name
Last Name

Licensee wishes to use eheap �Software�.

Therefore the parties agree as follows:
1. Software provided to Licensee shall be used only for evaluation, study, or research. Licensee agrees that a license fee is due if Software is to be used in a commercial product.

2. Licensee agrees that Software shall not be used to produce a product serving the same or similar purpose as Software and offered in competition with Software for commercial products, even if distributed free of charge.

3. Licensee agrees that Software, copyrights, and all other proprietary rights remain the property of MDI and that this Agreement transfers no Product ownership to Licensee. All enhancements and modifications are owned by MDI.

4. Licensee shall not disassemble nor reverse engineer Software.
5. Licensee agrees to not remove any legal notices from Software.

6. Software is provided without warranty of any kind. Licensee must assume the entire risk of using Software. This includes any and all damage to persons and property, even as the result of one or more defects in Software.

7. The terms and conditions stated herein are declared to be severable. If any paragraph, provision, or clause in this Agreement shall be found or held to be invalid or unenforceable in any jurisdiction in which this Agreement is being performed, the remainder of this Agreement shall be valid and enforceable.

8. This Agreement shall be governed by the laws of the State of California.

I (Licensee) accept and agree to the above terms and conditions.




  Products       Learn       Buy       Support       Company
  Home > Products > Other Products > eheap
  eheap™ — Embedded Heap

eheap is a bin-type heap that provides adaptability, safety, and high performance for embedded systems running on RTOSes or standalone. It is intended to be a good fit for the many requirements of embedded systems. It can be easily tuned to the needs of your system, achieving high performance and minimal fragmentation. In addition, it offers some interesting debug and self-healing options.

eheap will run on any embedded system, with or without an RTOS. A free evaluation library is available for those who want to try it on their systems (see below).

eheap Features

  • Multiple heap support for secure systems. New
  • Aligned allocations. New
  • ARM Cortex v7M MPU region allocations. New
  • Integral 8-byte and 12-byte block pools. New
  • Configurable number of bins and sizes.
  • Deferred free chunk merging.
  • Bin sort and bin seed.
  • Self healing via bi-directional scanning.
  • Debug chunks and statistics aid debugging.
  • High performance and deterministic operation.
  • Small code and data footprint.
  • RTOS and compiler agnostic.
  • Licensed standalone and as part of SMX.

eheap can efficiently support any number of heaps. Each can be independently configured to support tiny to very large heaps, each with an appropriate number of bins and other features. Having multiple heaps is essential for achieving 100% isolation of partitions in secure systems.

Allocations can be aligned on any power-of-two boundary from 8 up to a specified maximum. Allocation efficiency is improved by accumulation of spare space in chunks ahead of chunks with aligned blocks. This also results in steady growth of aligned blocks, which improves aligned allocation performance.

eheap supports ARM Cortex-v7M MPU region allocations, thus permitting dynamic region creation at run time. This is simpler and more flexible than static region creation at compile time. To do this, allocated regions must have power-of-two sizes and be aligned on their sizes. eheap uses subregions to greatly improve the efficiency of region allocations.

Integral block pools have been added to greatly improve speed and efficiency of small-block allocations for object-oriented languages such as C++. The pools operate like normal heap operations and if a pool becomes empty, blocks are transparently allocated from the main heap. Thus block pools can be sized for normal, rather than peak requirements.

eheap vs. dlmalloc

eheap Configuration

eheap User's Guide (PDF)

eheap Evaluation Kit and User's Guide   (v5.1.0,  4/11/19,  503 KB)

(Note: Evaluation libraries are built with IAR EWARM. If you use other tools please email

To license, please email


  Register for More Info

SMX Modules

Email  with questions or comments.

Home       Sitemap       Contact