嵌入式以太网:Lwip内存管理之内存堆-世界看点
Lwip的内存管理方式有两种:内存池和内存堆。本文先聊一下Lwip的内
(资料图)
Lwip的内存管理方式有两种:内存池和内存堆。本文先聊一下Lwip的内存堆(mem)。前面我们聊过ip层(网络层)传输的是Packet,可以回顾英飞凌tc397:基于Lwip以太网数据接收,小白级讲解,而每次Packet传输数据的多少是不确定的,这是因为上层模块一次发送的数据量是不确定的,因此给ip层分配合适的内存缓存上层数据是有必要的。
内存堆管理
对于Lwip来说,在分配堆空间时不要与用户堆混在一起,独立分配一个堆空间给Lwip使用,简言之:低耦合。实际上,就是分配一个全局数组,这个数组空间的大小需要开发人员预估。
对于堆的使用,我们清楚:分配某个指定大小空间时需要不断地查找未使用空间,如果能找到合适空间则将此空间开辟出来,否则空间分配失败。堆的使用可以让我们在整个堆空间任意切割空间大小,但是随着空间的不断被分配,可能会让整个堆空间变得零零碎碎。
使用内存堆分配内存空间时需要考虑时延问题,因为分配内存时需要通过链表查找合适空间位置,这势必消耗一定时间,堆空间的释放也需要消耗时间。
内存堆结构(mem)的链表形式如下所示:
对应Lwip mem.c文件声明的内存堆结构如下所示:
回答刚才的问题,如下图所示。每个内存堆结构消耗12byte空间,在分配我们想要的4K空间时,我们应该考虑第一个内存堆结构、最后一个内存堆结构以及最后一个内存堆结构对齐所消耗的内存。初始化完成,第一次分配内存空间时,可以分配最大4K的空间。关键词:
[ 相关文章 ]
Lwip的内存管理方式有两种:内存池和内存堆。本文先聊一下Lwip的内
国家外汇管理局网站消息,近日,中国人民银行副行长、国家外汇管理局局
· 这是第5253篇原创首发文章 字数3k+ ··土哥涅夫 |文·今天,你
谨防“天价粽”让传统节日变味
体重管理,是指专业医师或营养师根据顾客体质特征,给出综合营养、运动
1 咸阳秦都区社区地址汇总咸阳秦都区是陕西省咸阳市下辖的一个行政区,
1、红字更正法:在记账以后,如果在当年内发现记账凭证所记的科目或金
今日夏至时夏方长,盛暑将至进入夏至节气高温成为我省近期的天气主题受
最新的《长风渡》大家有看吗,我也抽时间看了看,不看不知道,一看吓一
6月20日北向资金增持24 64万股值得买。近5个交易日中,获北向资金增持
优彩资源最新股东户数2 18万户,低于行业平均水平。公司户均持有流通股
据全球权威的汽车行业信息咨询机构JATO发布数据显示,MG在欧洲4月份总
下学期什么时候开学?大型考试安排在何时?寒假又是什么时候开始呢?…
生态环境部、工信部等五部门发布《关于实施汽车国六排放标准有关事宜的
App6月21日消息,昨日,广期所工业硅期货首批标准仓单正式生成,标志着
一块银幕、一台放映机、一位放映员和一群围观的群众……夏日的暮色中,
近日从福建南平太阳电缆股份有限公司(下称“太阳电缆”)获悉,该公司
大家好,最近小红发现有诸多的小伙伴们对于春天来了儿童画创编,春天来
最高人民检察院依法对范一飞决定逮捕,逮捕,范一飞,受贿罪,银行家,最高
看到专家组“同意通过验收”的意见后,中海油研究总院副总经理兼总工程
[ 相关新闻 ]
Copyright 2015-2022 南方医院网 版权所有 备案号:粤ICP备18023326号-21 联系邮箱:855 729 8@qq.com