OpenEdv-开源电子网

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

STM32F107+LWIP+UCOSIII 内存管理问题

[复制链接]

5

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2021-3-8
在线时间
41 小时
发表于 2021-3-30 14:42:59 | 显示全部楼层 |阅读模式
30金钱
        移植原子407工程到107上,没有外部RAM情况下只用内部RAM,使用了内存管理的方式。ucosii上内存管理了50K(总共64K)时,程序是可以正常工作的,这个时候编译ZI-DATA已经要到64K了。我继续换成UCOSIII就编译不通过了,提示内存不足,内存池改成40k编译没错误,但是内存分配不成功网卡驱动不了。。       求教!!!
根据原子的例程,网卡初始化申请了四个缓存,lwip初始化又申请了四个缓存,一共这八个地方使用了内存管理。。这几个地方是不是很耗内存,管理小了就分配失败管理大了又编译不了。不是很了解这样管理内存的好处是什么,为什么会编译不了,是不是初始化申请太多又没有释放导致内存溢出?看到网上别人没有这种内存管理整个编译下来ZI-DATA才40几K,感觉应该是可以装得下的啊。是不是我哪里弄错,请教大家。


如果管理40K,这里会分配失败。

这里使用了内存管理

这里使用了内存管理




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2021-3-31 01:22:07 | 显示全部楼层
看下map文件,看看哪里占用了很多内存,根据情况分析。
回复

使用道具 举报

5

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2021-3-8
在线时间
41 小时
 楼主| 发表于 2021-3-31 17:37:30 | 显示全部楼层
正点原子 发表于 2021-3-31 01:22
看下map文件,看看哪里占用了很多内存,根据情况分析。

       感谢原子回答,就是malloc文件里分配40K占了最多,其他最多占1000多字节的。管理了40K申请网卡缓存和LWIP缓存算一下应该也是够的,怎么就网卡内存申请会失败,之前ucosii管理40K也不行后来改成50K内存就申请成功驱动起来了;ucosiii改成50k就编译不了了,我把map部分放到下面,麻烦原子帮忙看一下感谢哈

mappdf.pdf (37.86 KB, 下载次数: 10)
回复

使用道具 举报

5

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2021-3-8
在线时间
41 小时
 楼主| 发表于 2021-4-1 16:38:09 | 显示全部楼层
顶一下
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 16:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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