【问题标题】:FreeRTOS / where is store a variable declared in a task?FreeRTOS / 在哪里存储任务中声明的变量?
【发布时间】:2014-05-20 10:06:38
【问题描述】:

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

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

最好的问候

【问题讨论】:

    标签: c memory-management freertos


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-09-11
      • 1970-01-01
      • 1970-01-01
      • 2019-09-24
      • 1970-01-01
      • 2010-09-18
      • 1970-01-01
      • 2017-03-26
      • 2010-10-02
      相关资源
      最近更新 更多