在创建一个任务的时候,按我们前文说的,需要给它分配一个CSA链表,并对其中寄存器的内容进行必要的初始化。我们看一下这一步都做了那些工作。代码见 os_cpu_c.c 中的 OSTaskStkInit()函数。
① 我们首先根据Tricore的UCX和LCX的结构,定义两个结构体:
typedef struct _OS_UCX /* TC upper context structure */
{
CPU_INT32U _PCXI; /* upper context PCXI */
CPU_INT32U _PSW; /* upper context PSW */
CPU_INT32U* _A10; /* upper context A10 (SP) */
CPU_INT32U*