FreeRTOS / where存储在任务中声明的变量?

时间:2014-05-20 10:06:39

标签: c memory-management freertos

我是FreeRTOS(ARM CM3)的初学者,我的问题是:

当你创建一个里面有一些局部变量的任务时,在这里将这些变量存储在RAM中,在堆栈中(由main()使用),就像通常用于局部变量的情况一样,或者在专用于堆栈的堆栈中这个任务(使用xTaskCreate()函数/ usStackDepth参数创建)?

祝你好运

1 个答案:

答案 0 :(得分:1)

如果变量是在任务函数内声明的,即它们是正常的"自动"变量,然后他们将使用任务的堆栈。

这些变量在运行相关函数的执行线程的堆栈上分配,与main()相同,除了main()不运行在FreeRTOS任务中。