你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【ST MCU实战经验】LwIP 内存配置

[复制链接]
苏柚 发布时间:2016-3-25 15:07
前言
LwIP在lwipopts.h和opt.h头文件中提供了多个配置选项。用户可以根据不同的性能需求和不同应用的内存限制对协议栈用到的内存配置进行调节。Opt.h头文件中包括协议使能和设置,内存设置,调试选项等等。而Lwipopts.h头文件中集合了opt.h中一些常常需要改动的部分。一般情况下用户对lwipopts.h头文件进行修改就可以了。不管是对lwipopts.h还是opt.h进行修改,都必须保证是在已经对你所改动的内容足够的了解的情况下进行,所做的改动是正确的,否则有可能导致协议栈不能正常工作,或者效率低下。

LwIP的内存管理机制
在进行内存配置之前,我们有必要先了解LwIP的内存管理机制。

Lwip动态内存管理
LwIP中可以使用两种动态内存分配的方法:Heap和Pool的方式。
Heap的方式,每次都根据你实际需要的大小分配一块内存出来用,用完以后再还回去。
Pool的方式则是,预先将内存等分成若干份,每次分配时都拿出其中的一块或几块来。假设每等份是256bytes,而你需要300bytes的内存空间,Pool的方式就会给你分配两个256bytes的内存块(一共512bytes)。虽然有点浪费,但这种方式分配内存速度很快,非常适合在接收数据时使用。
对于Heap的方式,程序默认是使用LwIP提供的mem_malloc/mem_free进行内存的分配和释放。这种方式下,程序需要预先分配一段内存空间用来做heap分配,这段预留的空间大小通过MEM_SIZE定义。
你也可以通过C标准库里的malloc/free函数进行内存的分配和释放。需要定义宏MEM_LIBC_MALLOC。

详细解答请下载文档:https://www.stmcu.org.cn/document/detail/index/id-217027
更多实战经验文档请见:https://www.stmcu.org.cn/document/list/index/category-657


收藏 1 评论0 发布时间:2016-3-25 15:07

举报

0个回答

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版