OSStart从就绪表中选择最高的优先级OSPrioHighRdy,通过查表OSTCBPrioTbl,获取最高优先级的TCB块,OSTCBCur = OSTCBPrioTbl[OSPrioHighRdy],最后调用OSStartHighRdy函数
void OSStart (void) reentrant
{
INT8U y;
INT8U x;
if (OSRunning == FALSE) {
y = OSUnMapTbl[OSRdyGrp]; /* Find highest priority's task priority number */
x = OSUnMapTbl[OSRdyTbl[y]];
OSPrioHighRdy = (INT8U)((y << 3) + x);
OSPrioCur = OSPrioHighRdy;
OSTCBHighRdy = OSTCBPrioTbl[OSPrioHighRdy]; /* Point to highest priority task ready to run */
OSTCBCur = OSTCBHighRdy;
OSStartHighRdy(); /* Execute target specific code to start task */
}
}