关于FreeRTOS动态方法创建任务后RAM占用情况

2019-07-21 01:04发布

FreeRTOS创建任务方法有两种,静态方法和动态方法,静态方法需要用户自己分配堆栈空间给每个任务,动态方法则根据内存管理文件动态分配堆栈空间。现在有一个疑问:用静态方法时可以发现,堆栈空间大小的设定会在程序编译后影响芯片RAM的使用率(和UCOS一样,这个很好理解,毕竟堆栈开辟在RAM),但是问题是当我用动态的方法来创建任务,无论我设定多大的任务堆栈,对芯片RAM的使用都没有影响(至少编译结果是这样的),这是为什么呢?而我实际测试出来,该任务使用了304*4byte的堆栈空间。
如下图所示:
微信图片_20180912175745.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
275891381
2019-07-21 06:05
本帖最后由 275891381 于 2018-9-12 18:34 编辑
陈皮皮 发表于 2018-9-12 18:22
FreeRTOSConfig.h   malloc.h

#define configTOTAL_HEAP_SIZE                                        ((size_t)(20*1024))     //系统所有总的堆大小
freertos用了20k不知道你的是103的啥有多大内存,还有你的malloc.h并没有上传不知道malloc占了多少,还是就没用malloc
说实话,对这样的大部分人基本都没兴趣回复,你的代码又不是机密,有啥不能上传的

一周热门 更多>