天线|RF射频
直播中

文甘翀

7年用户 932经验值
私信 关注
[问答]

请问F407探索移植UCOSIII+lwip报错No space怎么解决?

使用F407的探索板,目前移植了基本的UCOSIII + lwip,如图 Code=117036 RO-data=2400 RW-data=596 ZI-data=521980  。
但是这几乎还没扩展内容进去,就没法往里面写代码了。。,现象:即使把某个任务堆栈从32改到128 都不行,编译一堆错误。Error: L6406E: No space in execution regions with .ANY selector matching。。。。
我搜索了以前帖子是说 lwip 都是申请的内部RAM,所以外部1M的RAM也会报no space错
为了能内部RAM留出个20 、30 k,请问:
1. lwip如何裁剪 或者 让如何让它去用外部RAM?
2. 如果lwip不好动,还有别的办法能 用上 ucosIII +lwip?

不胜感激!

回帖(3)

李杰

2019-6-28 12:18:29
不好意思,出去了几天。
按原子的主意,
#define MEM1_MAX_SIZE          96*1024
改成了
#define MEM1_MAX_SIZE          60*1024  (要求>50k)
再综合4楼的优化,共多出了10k左右的RAM,。。  貌似没办法了
目前没有太多时间去研究裁剪,只能暂时用UCOS2了
感谢上面各位
举报

郑俊杰

2019-6-28 12:30:46
应该可以用外部内存的!裁剪的话只修改一个头文件就行了!我手机上的,不方便回复!明天加我qq,我传几个文件给你看看就知道了
举报

步雅芸

2019-6-28 12:49:24
内存不够了.1,减少malloc里面内存池的大小.  把内部内存的内存池,改为70K左右,试试吧.
举报

更多回帖

发帖
×
20
完善资料,
赚取积分