eheap
eheap属于bin型堆,针对在RTOS上运行或独立运行的嵌入式系统,提供了适应性、安全性和高性能。其目的在于更好地满足嵌入式系统的诸多需求。eheap可以很轻松地根据系统需要进行调整,从而实现高性能并有效降低碎片数量。此外,eheap还提供了一些有趣的调试和自我修复选项。
——安全系统多堆支持。
- 一致分配。
- ARM Cortex v7M MPU区域分配。
- 完整的8字节和12字节块池。
- 可配置bin数量及尺寸。
- 延迟可用区块合并。
- bin sort及bin seed。
- 通过双向扫描自愈。
- 调试块和统计信息有助于调试。
- 高性能确定性操作。
- 代码和数据占用空间小。
- RTOS与编译器无关。
- 独立许可并作为SMX的组成部分。
eheap可以有效支持任意数量的堆。每个都可以独立配置,以支持极小到极大的堆,每个堆都有适当数量的bin和其他特性。拥有多个堆对于在安全系统中实现分区的100%隔离至关重要。
分配可以从8到指定最大值的任意二次方边界上对齐。通过在具有对齐块的区块之前的区块中积累空闲空间来提高分配效率。这样也会导致对齐块的稳定增长,从而提高对齐分配性能。
eheap支持ARM Cortex-v7M MPU区域分配,因此允许在运行时动态创建区域。这比在编译时创建静态区域更简单、更灵活。要做到这一点,分配的区域必须具有两种大小的幂,并根据其大小进行调整。eheap使用子区域极大地提高了区域分配的效率。
添加了集成块池,以显著提高面向对象语言(如C++)的小块分配速度和效率。池的操作与正常堆操作类似,如果池变为空,则从主堆透明地分配块。因此,块池的大小可以根据正常需求而不是峰值需求进行调整。
| 支持的器件 | STM32 |
| 地点 |
Served Countries:
全球