OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3460|回复: 9

谁知道LWIP中使用内存池分配内存堆怎么用?

[复制链接]

4

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2019-1-9
在线时间
20 小时
发表于 2019-3-5 10:06:58 | 显示全部楼层 |阅读模式
10金钱
哪位大神知道LWIP中使用内存池分配内存堆怎么用,传个例程参考一下,我按LWIP中的注释创建了LWIPPOOLS,将MEN_USE_POOL和MENP_USE_CUSTOM_POOLS都定义为1,编译出来一堆问题,不知道咋回事
..\LWIP\lwip-2.0.0\lwip\src\include\lwip/priv/memp_priv.h(117): warning:  #47-D: incompatible redefinition of macro "LWIP_MALLOC_MEMPOOL" (declared at line 108)

最佳答案

查看完整内容[请看2#楼]

解决了,lwippools.h文件定义的有问题,谢谢各位
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2019-1-9
在线时间
20 小时
 楼主| 发表于 2019-3-5 10:06:59 | 显示全部楼层
ZHDX 发表于 2019-3-8 11:17
另外, 在CubeMX里选择LWIP, 是可以自动生成ethernetif.c+LAN8740的.

不过这些代码没有自动导入到KEIL里 ...

解决了,lwippools.h文件定义的有问题,谢谢各位
回复

使用道具 举报

109

主题

5562

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10541
金钱
10541
注册时间
2017-2-18
在线时间
1908 小时
发表于 2019-3-5 12:31:15 | 显示全部楼层
这样定义可以不?
1.JPG
回复

使用道具 举报

4

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2019-1-9
在线时间
20 小时
 楼主| 发表于 2019-3-5 12:41:32 | 显示全部楼层
peng1554 发表于 2019-3-5 12:31
这样定义可以不?

编译的时候这里出问题C:\Users\AD\Desktop\360截图17350802306539.png
360截图17350802306539.png
回复

使用道具 举报

109

主题

5562

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10541
金钱
10541
注册时间
2017-2-18
在线时间
1908 小时
发表于 2019-3-5 17:32:17 | 显示全部楼层
papabbb 发表于 2019-3-5 12:41
编译的时候这里出问题

看样子不是这个原因了
回复

使用道具 举报

4

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2019-1-9
在线时间
20 小时
 楼主| 发表于 2019-3-5 19:27:41 | 显示全部楼层
peng1554 发表于 2019-3-5 17:32
看样子不是这个原因了

被这个问题彻底搞晕了
回复

使用道具 举报

3

主题

1155

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7462
金钱
7462
注册时间
2015-1-15
在线时间
1367 小时
发表于 2019-3-5 20:10:16 来自手机 | 显示全部楼层
这个宏定义值都是有关联的,肯定不能随意设置
回复

使用道具 举报

4

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2019-1-9
在线时间
20 小时
 楼主| 发表于 2019-3-6 16:19:35 | 显示全部楼层
yklstudent 发表于 2019-3-5 20:10
这个宏定义值都是有关联的,肯定不能随意设置

有没有LWIP2.0以上的ethernetif.c文件,发一个学习一下
回复

使用道具 举报

6

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2019-1-29
在线时间
67 小时
发表于 2019-3-8 11:15:17 | 显示全部楼层
我不使用LWIP自己的内存池, 这样太浪费内存了.

我是使用自己实现的malloc

#define MEM_LIBC_MALLOC                 1
#define mem_clib_malloc my_mem_alloc
#define mem_clib_free my_mem_free



回复

使用道具 举报

6

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2019-1-29
在线时间
67 小时
发表于 2019-3-8 11:17:39 | 显示全部楼层
另外, 在CubeMX里选择LWIP, 是可以自动生成ethernetif.c+LAN8740的.

不过这些代码没有自动导入到KEIL里, 需要自己手动去在STCubeGenerated文件夹里找找.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 19:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表