任务栈空间
xtaskcreate() 的第三个参数 usStackDepth ,当任务创建时,内核会为每个
任务分配属于任务自己的唯一状态,usStackDepth值告诉内核为它分配多大的栈空间
这个值指定的栈空间可以保存多少个字,而不是多少个字节。比如,如果是32位宽的栈空间,传入的值是100,那么将会分配400个字节的栈空间。
configMINIMAL_STACK_SIZE 来决定空闲任务用的栈空间大小。
在FreeRTOS 为微控制器架构提供的demo应用程序中,赋予此常量的值,是对所有任务的最小建议值。
没有任何简单的方法可以决定一个任务到底需要多大的栈空间,计算出来虽然是可能的,但大多数用户会先简单地赋予一个自认为合理的值,然后利用FreeRTOS 提供的特性来确证分配的空间既不欠缺,也不浪费。
FreeRTOS 中的xtaskcreate()函数用于创建任务,其第三个参数usStackDepth定义了任务栈的大小。该值指示内核分配多少个字的空间,而非字节数。例如,对于32位系统,设置为100将分配400字节的栈空间。configMINIMAL_STACK_SIZE常量则用于设定空闲任务的栈大小。确定任务所需的栈空间通常需要实验和验证,以确保既不浪费也不不足。
6116

被折叠的 条评论
为什么被折叠?



