7 #ifndef UBINOS_BSP_UBIK_H_
8 #define UBINOS_BSP_UBIK_H_
23 #include <ubinos_config.h>
26 void bsp_ubik_entercrit(
void);
27 void bsp_ubik_exitcrit(
void);
29 typedef void * bsp_mutex_pt;
30 int bsp_mutex_create(bsp_mutex_pt * bsp_mutex_p);
31 int bsp_mutex_delete(bsp_mutex_pt * bsp_mutex_p);
32 int bsp_mutex_lock(bsp_mutex_pt bsp_mutex);
33 int bsp_mutex_lock_timed(bsp_mutex_pt bsp_mutex,
unsigned int tick);
34 int bsp_mutex_unlock(bsp_mutex_pt bsp_mutex);
36 void * bsp_task_getcur();
37 int bsp_task_sleepms(
unsigned int timems);
39 int bsp_ubik_isrt(
void);
40 int bsp_ubik_iscrit(
void);
42 void bsp_ubik_task_schedule_irq();
44 void bsp_ubik_swisr(
unsigned int swino);
46 #if (UBINOS__BSP__CORTEX_MX == 1)
48 void __attribute__((naked)) bsp_ubik_psv_handler(
void);
49 void __attribute__((naked)) bsp_ubik_irq_handler(
void);
51 void bsp_ubik_swi_handler(
void);
52 void bsp_ubik_tick_handler(
void);
53 void bsp_ubik_irq_handler_c(
unsigned int exceptiontype,
unsigned int * prev_sp);