我是FreeRTOS(ARM CM3)的初学者,我的问题是:
当你创建一个里面有一些局部变量的任务时,在这里将这些变量存储在RAM中,在堆栈中(由main()使用),就像通常用于局部变量的情况一样,或者在专用于堆栈的堆栈中这个任务(使用xTaskCreate()函数/ usStackDepth参数创建)?
祝你好运
答案 0 :(得分:1)
如果变量是在任务函数内声明的,即它们是正常的"自动"变量,然后他们将使用任务的堆栈。
这些变量在运行相关函数的执行线程的堆栈上分配,与main()
相同,除了main()
不运行在FreeRTOS任务中。