如何在C中初始化任务控制块堆栈?

时间:2012-07-16 01:53:56

标签: c pointers scheduled-tasks rtos freertos

我想将给定任务的初始程序计数器放入任务自己的堆栈中。这样我就可以恢复堆栈上下文以开始运行任务。

是否有人拥有良好的资源或知道如何在C中执行此操作?

到目前为止,我已经为给定的任务malloc了一个堆栈。

这是我在汇编中找到的一个例子:

;program counter initialization for task2
    ldi r16, LOW(TASK2)
    sts TASK2_STACK_BEGIN, r16
    ldi r16, HIGH(TASK2)
    sts TASK2_STACK_BEGIN-1, r16

首先将低字节压入TASK2的堆栈,然后是高字节。

0 个答案:

没有答案