1>对数据安全性的考虑。
值范围安全: OSTaskStatHook()中total>1000000000L
表达式参数的有效性: if (total > 0) {}针对pct = 100 * TaskUserData.TaskTotExecTime / total;要求分母不为0。
OSTaskSwHook()中if (puser != (TASK_USER_DATA *)0) {}
实际应用中要时刻考虑。
2>消息OSQ队列的应用:
建立队列: #define MSG_QUEUE_SIZE 20
void *MsgQueueTbl[20];
创建消息队列 MsgQueue = OSQCreate(&MsgQueueTbl[0], MSG_QUEUE_SIZE);
等待消息(OSQPend),接收消息(OSQPost)
3>一个指针的应用:
OS_EVENT *OSQCreate (void **start, INT16U size)中
pq->OSQStart = start;
pq->OSQEnd = &start[size];
4>自定义接口(hook)函数:
os_cfg.h 中 #define OS_CPU_HOOKS_EN 0
重新定义这些接口函数