From 0d6f72a3515b0479bbbeb878d7771892c915ef8a Mon Sep 17 00:00:00 2001 From: daishengdong Date: Tue, 18 Feb 2020 10:38:02 +0800 Subject: [PATCH] fix a bug of header file dependency error 1. in tos_k.h, port_config.h should go ahead of tos_cpu_types.h --- arch/stm8/iccarm/port_s.S | 8 ++++---- examples/hello_world/hello_world.c | 8 ++++++++ kernel/core/include/tos_config_default.h | 4 ++++ kernel/core/include/tos_k.h | 2 +- kernel/core/include/tos_pend.h | 26 ++++++++++++------------ 5 files changed, 30 insertions(+), 18 deletions(-) diff --git a/arch/stm8/iccarm/port_s.S b/arch/stm8/iccarm/port_s.S index d73fea11..7cd3a585 100644 --- a/arch/stm8/iccarm/port_s.S +++ b/arch/stm8/iccarm/port_s.S @@ -14,17 +14,17 @@ PUBLIC port_irq_context_switch PUBLIC port_context_switch -port_int_disable +port_int_disable: SIM RET -port_int_enable +port_int_enable: RIM RET -port_cpsr_save +port_cpsr_save: /* does not work: LD A, CC */ @@ -34,7 +34,7 @@ port_cpsr_save RET -port_cpsr_restore +port_cpsr_restore: /* does not work: LD CC, A */ diff --git a/examples/hello_world/hello_world.c b/examples/hello_world/hello_world.c index 0112b899..1d3b0380 100644 --- a/examples/hello_world/hello_world.c +++ b/examples/hello_world/hello_world.c @@ -8,26 +8,32 @@ osThreadDef(task1, osPriorityNormal, 1, TASK1_STK_SIZE); void task2(void *arg); osThreadDef(task2, osPriorityNormal, 1, TASK2_STK_SIZE); +#if TOS_CFG_TASK_DYNAMIC_CREATE_EN > 0u #define TASK3_STK_SIZE 512 void task3(void *arg); +#endif void task1(void *arg) { +#if TOS_CFG_TASK_DYNAMIC_CREATE_EN > 0u osThreadId task_dyn_created; osThreadDynamicDef(task3, osPriorityNormal, 1, TASK3_STK_SIZE); task_dyn_created = osThreadCreate(osThread(task3), NULL); int count = 0; +#endif while (1) { printf("###I am task1\r\n"); osDelay(2000); +#if TOS_CFG_TASK_DYNAMIC_CREATE_EN > 0u if (count++ == 3) { printf("###I am task1, kill the dynamic created task\r\n"); osThreadTerminate(task_dyn_created); } +#endif } } @@ -47,6 +53,7 @@ void task2(void *arg) } } +#if TOS_CFG_TASK_DYNAMIC_CREATE_EN > 0u void task3(void *arg) { while (1) { @@ -54,6 +61,7 @@ void task3(void *arg) osDelay(2000); } } +#endif void application_entry(void *arg) { diff --git a/kernel/core/include/tos_config_default.h b/kernel/core/include/tos_config_default.h index 86798383..e189ff64 100644 --- a/kernel/core/include/tos_config_default.h +++ b/kernel/core/include/tos_config_default.h @@ -278,6 +278,10 @@ #define TOS_CFG_TICKLESS_EN 0u #endif +#ifndef TOS_CFG_VFS_EN +#define TOS_CFG_VFS_EN 0u +#endif + #if (TOS_CFG_PWR_MGR_EN > 0u) || (TOS_CFG_TICKLESS_EN > 0u) #if TOS_CFG_IDLE_TASK_STK_SIZE < 256 #undef TOS_CFG_IDLE_TASK_STK_SIZE diff --git a/kernel/core/include/tos_k.h b/kernel/core/include/tos_k.h index b6efb919..56b522e1 100644 --- a/kernel/core/include/tos_k.h +++ b/kernel/core/include/tos_k.h @@ -24,8 +24,8 @@ #include #include #include -#include #include +#include #include #include #include diff --git a/kernel/core/include/tos_pend.h b/kernel/core/include/tos_pend.h index 9e4539a2..63c41ff2 100644 --- a/kernel/core/include/tos_pend.h +++ b/kernel/core/include/tos_pend.h @@ -41,31 +41,31 @@ typedef struct pend_object_st { k_list_t list; } pend_obj_t; -__KNL__ void pend_object_init(pend_obj_t *object); +__KNL__ void pend_object_init(pend_obj_t *object); -__KNL__ void pend_object_deinit(pend_obj_t *object); +__KNL__ void pend_object_deinit(pend_obj_t *object); -__KNL__ int pend_is_nopending(pend_obj_t *object); +__KNL__ int pend_is_nopending(pend_obj_t *object); -__KNL__ k_prio_t pend_highest_pending_prio_get(pend_obj_t *object); +__KNL__ k_prio_t pend_highest_pending_prio_get(pend_obj_t *object); -__KNL__ k_task_t *pend_highest_pending_task_get(pend_obj_t *object); +__KNL__ k_task_t *pend_highest_pending_task_get(pend_obj_t *object); -__KNL__ void pend_list_remove(k_task_t *task); +__KNL__ void pend_list_remove(k_task_t *task); -__KNL__ void pend_list_adjust(k_task_t *task); +__KNL__ void pend_list_adjust(k_task_t *task); -__KNL__ k_err_t pend_state2errno(pend_state_t state); +__KNL__ k_err_t pend_state2errno(pend_state_t state); -__KNL__ void pend_task_wakeup(k_task_t *task, pend_state_t state); +__KNL__ void pend_task_wakeup(k_task_t *task, pend_state_t state); -__KNL__ void pend_task_block(k_task_t *task, pend_obj_t *object, k_tick_t timeout); +__KNL__ void pend_task_block(k_task_t *task, pend_obj_t *object, k_tick_t timeout); -__KNL__ void pend_wakeup_one(pend_obj_t *object, pend_state_t state); +__KNL__ void pend_wakeup_one(pend_obj_t *object, pend_state_t state); -__KNL__ void pend_wakeup_all(pend_obj_t *object, pend_state_t state); +__KNL__ void pend_wakeup_all(pend_obj_t *object, pend_state_t state); -__KNL__ void pend_wakeup(pend_obj_t *object, pend_state_t state, opt_post_t opt); +__KNL__ void pend_wakeup(pend_obj_t *object, pend_state_t state, opt_post_t opt); #endif /* _TOS_PEND_H_ */