文档首页 > > 开发指南> 内核开发指南> 内存> 静态内存> 开发指导

开发指导

分享
更新时间:2020/06/24 GMT+08:00

使用场景

当用户需要使用固定长度的内存时,可以使用静态内存分配的方式获取内存,一旦使用完毕,通过静态内存释放函数归还所占用内存,使之可以重复使用。

功能

Huawei LiteOS的静态内存管理主要为用户提供以下功能。

功能分类

接口名

描述

初始化静态内存

LOS_MemboxInit

初始化一个静态内存池,设定其起始地址、总大小及每个块大小

清除静态内存内容

LOS_MemboxClr

清零静态内存块

申请一块静态内存

LOS_MemboxAlloc

申请一块静态内存块

释放内存

LOS_MemboxFree

释放一个静态内存块

分析静态内存池状态

LOS_MemboxStatisticsGet

获取静态内存池的统计信息

开发流程

本节介绍使用静态内存的典型场景开发流程。

  1. 规划一片内存区域作为静态内存池。
  2. 调用LOS_MemboxInit接口。

    系统内部将会初始化静态内存池。将入参指定的内存区域分割为N块(N值取决于静态内存总大小和块大小),将所有内存块挂到空闲链表,在内存起始处放置控制头。

  3. 调用LOS_MemboxAlloc接口。

    系统内部将会从空闲链表中获取第一个空闲块,并返回该块的用户空间地址。

  4. 调用LOS_MemboxFree接口。

    将该块内存加入空闲块链表。

  5. 调用LOS_MemboxClr接口。

    系统内部清零静态内存块,将入参地址对应的内存块清零。

平台差异性

无。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问