zbq 发表于 2024-4-11 10:34:19

把lwip里面的pbuf pool模块提取出来作为单片机通信的内存分配管理

有个想法,就是把lwip pbuf pool剥离出来,然后作为mcu通信接口内存管理,

预留一块内存,然后把这片内存分成32字节大小的内存块,串口过来的数据,中断中根据需要,
分配n个内存块,然后用链表串联,数据接收完成,通过消息把把链表地址发给应用层,应用层通过链表解析数据,然后释放,
这样会不会比底层用一个固定的buf缓存数据好一些?

eric2013 发表于 2024-4-11 11:37:23

再分享一批开源的。
1、SEGGER提供的malloc,calloc,realloc,free重定义源文件完整代码
https://www.armbbs.cn/forum.php?mod=viewthread&tid=99464
2、论坛首发,内存管理算法,支持malloc,realloc,align_alloc,配有内存碎片合并算法(v1.2)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=108596
3、分享一个实时系统动态内存算法TLSF
https://www.armbbs.cn/forum.php?mod=viewthread&tid=91606
4、分享2个动态内存管理库------buddyalloc & tinyalloc
https://www.armbbs.cn/forum.php?mod=viewthread&tid=99352
5、分享一个 修改 ti 的动态内存管理 malloc,欢迎使用评测
https://www.armbbs.cn/forum.php?mod=viewthread&tid=105867
6、C库newlibc
7、C库libc
8、开源C库和数据结构软件包SC,每个功能都可以移植使用
https://www.armbbs.cn/forum.php?mod=viewthread&tid=114351

v300380 发表于 5 天前

我用的 lwmem 这个开源内存库, 没仔细研究什么类型算法。项目运行一年多了,暂时没发现任何异常。

lililili 发表于 昨天 07:53

我现在也有这个想法,一直没时间去做
页: [1]
查看完整版本: 把lwip里面的pbuf pool模块提取出来作为单片机通信的内存分配管理