123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- /*
- * @Author: jiejie
- * @Github: https://github.com/jiejieTop
- * @Date: 2019-12-26 19:11:34
- * @LastEditTime: 2020-03-02 01:32:23
- * @Description: the code belongs to jiejie, please keep the author information and source code according to the license.
- */
- #include "salof_defconfig.h"
- #ifdef SALOF_USING_LOG
- void *salof_alloc(unsigned int size)
- {
- return tos_mmheap_alloc(size);
- }
- void salof_free(void *mem)
- {
- tos_mmheap_free(mem);
- }
- salof_tcb salof_task_create(const char *name,
- void (*task_entry)(void *param),
- void * const param,
- unsigned int stack_size,
- unsigned int priority,
- unsigned int tick)
- {
- salof_tcb task;
- k_err_t err;
- k_stack_t *task_stack;
- task = salof_alloc(sizeof(k_task_t));
- task_stack = salof_alloc(stack_size);
- err = tos_task_create(task,
- (char*)name,
- task_entry,
- param,
- priority,
- task_stack,
- stack_size,
- tick);
- if(err != K_ERR_NONE)
- {
- tos_mmheap_free(task);
- tos_mmheap_free(task_stack);
- }
- return task;
- }
- salof_mutex salof_mutex_create(void)
- {
- salof_mutex mutex;
- mutex = salof_alloc(sizeof(k_mutex_t));
- tos_mutex_create((salof_mutex)mutex);
- return mutex;
- }
- void salof_mutex_delete(salof_mutex mutex)
- {
- tos_mutex_destroy((salof_mutex)mutex);
- tos_mmheap_free(mutex);
- }
- int salof_mutex_pend(salof_mutex mutex, unsigned int timeout)
- {
- if(tos_mutex_pend_timed((salof_mutex)mutex, timeout) != K_ERR_NONE)
- return -1;
- return 0;
- }
- int salof_mutex_post(salof_mutex mutex)
- {
- if(tos_mutex_post((salof_mutex)mutex) != K_ERR_NONE)
- return -1;
- return 0;
- }
- salof_sem salof_sem_create(void)
- {
- salof_sem sem;
- sem = salof_alloc(sizeof(k_sem_t));
- tos_sem_create((salof_sem)sem, 0);
- return sem;
- }
- void salof_sem_delete(salof_sem sem)
- {
- tos_sem_destroy((salof_sem)sem);
- tos_mmheap_free(sem);
- }
- int salof_sem_pend(salof_sem sem, unsigned int timeout)
- {
- if(tos_sem_pend((salof_sem)sem, timeout) != K_ERR_NONE)
- return -1;
- return 0;
- }
- int salof_sem_post(salof_sem sem)
- {
- if(tos_sem_post((salof_sem)sem) != K_ERR_NONE)
- return -1;
- return 0;
- }
- unsigned int salof_get_tick(void)
- {
- return tos_systick_get();
- }
- char *salof_get_task_name(void)
- {
- return k_curr_task->name;
- }
- #endif
|