LiteOS的内存支持静态分配、动态分配两种,亦即BOX和DLINK算法,类似字节块和字节池的差异,静态分配方式中存储空间大小一致,而动态分配可以使用变化大小的存储空间。
一、BOX分配方式
BOX算法中内存块的大小是由初始化的时刻固定的。提供magic赋值方式用于内存检查,即在每块申请空间前一个word用于填写固定值的方式检查内存破坏情况。
1、使用结构体
LOS_MEMBOX_INFO只是在连续存储空间开始作为头信息
typedef struct
{
UINT32 uwBlkSize; /**<Block size*/ 块大小
UINT32 uwBlkNum; /**<Block number*/ 块个数
LOS_M