1 #ifndef MICROPY_INCLUDED_SAL_H 2 #define MICROPY_INCLUDED_SAL_H 3 4 #include <stdio.h> 5 6 #include "aos/kernel.h" 7 #include "py/obj.h" 8 #include "ulog/ulog.h" 9 10 #define MP_SAL_THREAD_MIN_STACK_SIZE (1024 + 256) 11 #define MP_SAL_THREAD_DEFAULT_STACK_SIZE (MP_THREAD_MIN_STACK_SIZE + 1024) 12 #define MP_SAL_THREAD_PRIORITY (AOS_DEFAULT_APP_PRI) 13 14 #define mp_sal_mutex_obj_t aos_mutex_t 15 #define mp_sal_sem_obj_t aos_sem_t 16 17 mp_uint_t mp_sal_get_stack_size(); 18 void *mp_sal_get_stack_addr(); 19 20 void mp_sal_task_delete(aos_task_t *id, mp_int_t *status); 21 mp_int_t mp_sal_mutex_create(mp_sal_mutex_obj_t *mutex); 22 mp_int_t mp_sal_mutex_lock(mp_sal_mutex_obj_t *mutex, mp_uint_t timeout); 23 mp_int_t mp_sal_mutex_unlock(mp_sal_mutex_obj_t *mutex); 24 void mp_sal_mutex_delete(mp_sal_mutex_obj_t *mutex); 25 26 mp_int_t mp_sal_sem_create(mp_sal_sem_obj_t *sem); 27 mp_int_t mp_sal_sem_take(mp_sal_sem_obj_t *sem, mp_uint_t timeout); 28 mp_int_t mp_sal_sem_give(mp_sal_sem_obj_t *sem); 29 void mp_sal_sem_delete(mp_sal_sem_obj_t *sem); 30 31 #endif 32