Files
TencentOS-tiny/components/connectivity/mqttclient/common/log/arch/tencentos-tiny/arch.c
daishengdong 2e8c8c19e6 fix some calloc bug
1. some calloc fix
2. fix some document error
3. refactor kv API, to be compatible with ota API
2020-04-24 11:58:42 +08:00

128 lines
2.7 KiB
C

/*
* @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 USE_LOG
void *salof_alloc(unsigned int size)
{
return tos_mmheap_alloc(size);
}
void *salof_calloc(size_t num, size_t size)
{
return tos_mmheap_calloc(num, 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_calloc(1, 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