OS_STK *OSTaskStkInit (void (*task)(void *pd), void *pdata, OS_STK *ptos, INT16U opt) { INT32U *stk; opt = opt; /* 'opt' is not used, prevent warning */ stk = (INT32U *)ptos; /* Load stack pointer */ *(stk) = (OS_STK)task; /* Entry Point */ *(--stk) = (INT32U)0; /* LR (R14) */ *(--stk) = (INT32U)0; /* R12 */ *(--stk) = (INT32U)0; /* R11 */ *(--stk) = (INT32U)0; /* R10 */ *(--stk) = (INT32U)0; /* R9 */ *(--stk) = (INT32U)0; /* R8 */ *(--stk) = (INT32U)0; /* R7 */ *(--stk) = (INT32U)0; /* R6 */ *(--stk) = (INT32U)0; /* R5 */ *(--stk) = (INT32U)0; /* R4 */ *(--stk) = (INT32U)0; /* R3 */ *(--stk) = (INT32U)0; /* R2 */ *(--stk) = (INT32U)0; /* R1 */ *(--stk) = (INT32U)pdata; /* R0 : argument */ *(--stk) = (INT32U)0x00000013L; /* CPSR */ return ((OS_STK *)stk); }
II 移植到友善之臂mini2440(2)
内容版权声明:除非注明,否则皆为本站原创文章。