野火电子论坛

 找回密码
 注册

扫一扫,访问微社区

查看: 367|回复: 6

FreeRTOS的启动文件堆和栈的设置

[复制链接]
发表于 2019-6-12 09:47:05 | 显示全部楼层 |阅读模式
设置stack size为0x8000,计算为32KB,我的单片机用的是指南者,RAM大小有64KB,所以这个思路是内存是不会溢出的的。
说现象吧:stack size设置为8000的时候,编译结果是不通过,有许多.o文件没有链接起来,感觉是内存不足了。
stack size设置为4000的时候,编译正常。
两次编译Heap size设置的都为2000。
微信图片编辑_20190612094236.jpg
回复

使用道具 举报

发表于 2019-6-12 13:55:24 | 显示全部楼层
程序里定义了很大的数组?
回复 支持 反对

使用道具 举报

发表于 2019-6-12 17:01:36 | 显示全部楼层
兄弟,这是主栈,你定义那么大干啥子哦
回复 支持 反对

使用道具 举报

发表于 2019-6-12 17:02:45 | 显示全部楼层
而且这跟freertos有啥关系?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-6-12 20:08:29 | 显示全部楼层
杰杰 发表于 2019-6-12 17:01
兄弟,这是主栈,你定义那么大干啥子哦

这个主栈是干嘛用的?
问题解决了,是因为代码中有一个函数每次运行了malloc函数,后面没有free释放内存,导致系统堆空间不足。
回复 支持 反对

使用道具 举报

发表于 2019-6-18 08:44:41 | 显示全部楼层
Thedrag_A1kG2 发表于 2019-6-12 20:08
这个主栈是干嘛用的?
问题解决了,是因为代码中有一个函数每次运行了malloc函数,后面没有free释放内存 ...

内存泄露了
回复 支持 反对

使用道具 举报

发表于 2019-6-27 16:24:38 | 显示全部楼层
Thedrag_A1kG2 发表于 2019-6-12 20:08
这个主栈是干嘛用的?
问题解决了,是因为代码中有一个函数每次运行了malloc函数,后面没有free释放内存 ...

这个主栈是系统启动前和中断嵌套时用的,就是MSP,任务栈不需要在这里配置。
回复 支持 反对

使用道具 举报

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

本版积分规则

野火电子公众号

手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号-2 大学生ARM嵌入式2群

GMT+8, 2019-9-20 20:00 , Processed in 0.036759 second(s), 29 queries , Gzip On.

野火电子论坛

© 2014-2016 www.firebbs.cn

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