1

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

当您创建一个内部包含一些局部变量的任务时,这些变量存储在 RAM 中、堆栈(由 main() 使用)中的位置,就像局部变量的一般情况一样,或者存储在专用于该任务的堆栈中(使用 xTaskCreate() 函数/usStackDepth 参数创建)?

此致

4

1 回答 1

1

如果变量是在任务函数中声明的,即它们是普通的“自动”变量,那么它们将使用任务的堆栈。

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

于 2014-05-20T10:08:24.880 回答