AKOS  v1.0.0
Documentation
Loading...
Searching...
No Matches
core.h
Go to the documentation of this file.
1/****************************************************************************/
12
13#ifndef CORE_H
14#define CORE_H
15
16#ifdef __cplusplus
17extern "C"
18{
19#endif
20
21#include "config.h"
22#include "log.h"
23#include <stdbool.h>
24#include <stdint.h>
25#include <stdio.h>
26
27#if OS_CFG_PRIO_MAX > 255u || OS_CFG_PRIO_MAX < 0u
28#error OS_CFG_PRIO_MAX have to be between 0-255
29#endif
30
31#define OS_TRUE ((uint8_t)1)
32#define OS_FALSE ((uint8_t)0)
33
34#define core_assert(exp, err) ((exp) ? (void)0 : LOG_ASSERT("%s", err))
35
39 extern void akos_core_enter_critical(void);
43 extern void akos_core_exit_critical(void);
47 extern void akos_core_init(void);
51 extern void akos_core_run(void);
52
53#define AKOS_CORE_ENTER_CRITICAL() akos_core_enter_critical()
54#define AKOS_CORE_EXIT_CRITICAL() akos_core_exit_critical()
55
56#ifdef __cplusplus
57}
58#endif
59#endif /* CORE_H */
Build-time configuration macros for AK-mOS.
void akos_core_run(void)
Start scheduler and run first thread.
Definition core.c:55
void akos_core_init(void)
Initialize kernel subsystems.
Definition core.c:43
void akos_core_exit_critical(void)
Exit critical section.
Definition core.c:30
void akos_core_enter_critical(void)
Enter critical section.
Definition core.c:21
Logging and assertion macro definitions.