add tos_slist.h, rename tos.h to tos_k.h

This commit is contained in:
daishengdong
2020-01-03 17:25:38 +08:00
parent af07f199d9
commit c9556307df
268 changed files with 900 additions and 742 deletions

View File

@@ -15,12 +15,11 @@
* within TencentOS.
*---------------------------------------------------------------------------*/
#include <tos.h>
#include "tos_k.h"
__STATIC__ void tick_task_place(k_task_t *task, k_tick_t timeout)
{
TOS_CPU_CPSR_ALLOC();
k_list_t *curr;
k_task_t *curr_task = K_NULL;
k_tick_t curr_expires, prev_expires = (k_tick_t)0u;
@@ -28,8 +27,7 @@ __STATIC__ void tick_task_place(k_task_t *task, k_tick_t timeout)
task->tick_expires = timeout;
TOS_LIST_FOR_EACH(curr, &k_tick_list) {
curr_task = TOS_LIST_ENTRY(curr, k_task_t, tick_list);
TOS_LIST_FOR_EACH_ENTRY(curr_task, k_task_t, tick_list, &k_tick_list) {
curr_expires = prev_expires + curr_task->tick_expires;
if (task->tick_expires < curr_expires) {
@@ -42,10 +40,10 @@ __STATIC__ void tick_task_place(k_task_t *task, k_tick_t timeout)
prev_expires = curr_expires;
}
task->tick_expires -= prev_expires;
if (curr != &k_tick_list && curr_task) {
if (&curr_task->tick_list != &k_tick_list) {
curr_task->tick_expires -= task->tick_expires;
}
tos_list_add_tail(&task->tick_list, curr);
tos_list_add_tail(&task->tick_list, &curr_task->tick_list);
TOS_CPU_INT_ENABLE();
}
@@ -86,8 +84,7 @@ __KERNEL__ void tick_list_remove(k_task_t *task)
__KERNEL__ void tick_update(k_tick_t tick)
{
TOS_CPU_CPSR_ALLOC();
k_task_t *first, *task;
k_list_t *curr, *next;
k_task_t *first, *task, *tmp;
TOS_CPU_INT_DISABLE();
k_tick_count += tick;
@@ -106,8 +103,7 @@ __KERNEL__ void tick_update(k_tick_t tick)
return;
}
TOS_LIST_FOR_EACH_SAFE(curr, next, &k_tick_list) {
task = TOS_LIST_ENTRY(curr, k_task_t, tick_list);
TOS_LIST_FOR_EACH_ENTRY_SAFE(task, tmp, k_task_t, tick_list, &k_tick_list) {
if (task->tick_expires > (k_tick_t)0u) {
break;
}