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

2019-07-21 01:04发布

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

谢谢你的解答,正如你所说这就是出现这种状况的原因,之前一直用的Ucos,FreeRTOS是刚接触。至于内存管理用的就是上传的heap_4,里面就是内存分配管理的方法。还有就是确实不是什么很机密的代码,但是也是项目中的一部分,也面临着年底上线,没离职也不好上传在论坛上,请见谅。谢谢你的解答

一周热门 更多>