关于FreeRTOS V202112.00中的默认堆栈疑问?
我看了DEMO代码,发现基本配置如下:#define configTOTAL_HEAP_SIZE ((size_t)(2*1024))//系统所有总的堆大小
#define configMINIMAL_STACK_SIZE ((unsigned short)256)//空闲任务使用的堆栈大小
#define configDEFAULT_STACK_SIZE ((unsigned short)128)//任务默认堆栈大小
1、系统总的堆栈:(2*1024) 空闲任务堆栈分配:256 普通任务默认128
按照这种默认配置的话,最多跑:[(2*1024) -256]/128=14个任务;
2、为啥默认的空闲任务堆栈空间是普通任务堆栈空间的两倍?
本帖最后由 芯LYS 于 2024-4-24 15:19 编辑
欢迎小伙伴们讨论交流 可以先参考看一下之前一些技术分享帖:
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=5353&highlight=堆栈&page=1&extra=#pid38267
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=2826&highlight=空闲任务堆栈&page=1&extra=#pid19389
本帖最后由 380091044 于 2024-4-24 16:29 编辑
芯LYS 发表于 2024-4-24 15:17
欢迎小伙伴们讨论交流 可以先参考看一下之前一些技术分享帖:
https://www.stcaimcu.com/forum.php?mod=v ...
这两个文章写的都不错,实战经验太重要了,理论搞起来,浩如烟海,还是跑起来,边跑边探索边界,
https://www.iar.com/zh/knowledge/learn/programming/mastering-stack-and-heap-for-system-reliability 这篇文章经典,推荐小伙伴们看看;
页:
[1]