
概述项目上使用的芯片ram紧缺不得不考虑到内存管理在此给大家分享一个大佬编写的单片机内存管理模块——mem_malloc。这个mem_malloc模块的特点是使用起来不会产生内存碎片可以高效地利用单片机的RAM空间。仓库链接为GitHub - chenqy2018/mem_mallocmem_malloc 的介绍一般来说单片机的内存容量较小并且没有MMU内存管理单元。因此使用malloc和free函数可能会造成内存碎片而且由于空间不足而导致分配失败进而导致系统崩溃。因此在单片机中需要谨慎使用malloc函数或者自己实现内存管理机制。mem_malloc 就是一个适用于单片机的内存管理模块它不会产生内存碎片。与使用malloc函数相比它有以下区别「算法原理」定义一个数组作为动态分配的堆空间低地址空间保存管理数据高地址空间实际分配给用户的缓存(类似堆栈使用分配是往中间靠拢)free时移动高地址用户空间(以时间换空间)使得未使用的空间都是连续的。mem_malloc测试验证下面以小熊派IOT开发板来做实验。参考文章干货 | 分享一个实用的、可应用于单片机的内存管理模块-良许Linux教程网