BEEP-8 SDK 1.0.0
Loading...
Searching...
No Matches
sys.h
Go to the documentation of this file.
1
25#pragma once
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
31#include <b8/type.h>
32
38extern void b8SysHalt(void);
39
45extern void b8SysReset(void);
46
54extern void b8SysPuts(const char* str);
55
63extern void b8SysPutHex(u32 data);
64
72extern void b8SysPutNum(s32 data);
73
79extern void b8SysPutCR(void);
80
88extern u32 b8SysGetCpuClock(void);
89
98extern int b8SysSetupIrqWait(u32 irq);
99
108extern int b8SysIrqWait(u32 irq);
109
119#define B8_SYS_ASSERT(expr_, comment_) \
120 do { \
121 if (!(expr_)) { \
122 b8SysPuts( "[B8_SYS_ASSERT]" );\
123 b8SysPuts( comment_ );\
124 b8SysPutCR();\
125 asm("hlt");\
126 } \
127 } while(0)
128
129#ifdef __cplusplus
130}
131#endif
int b8SysIrqWait(u32 irq)
Wait for an IRQ.
Definition sys.c:89
void b8SysPutHex(u32 data)
Output a hexadecimal number.
Definition sys.c:31
u32 b8SysGetCpuClock(void)
Get the CPU clock speed.
Definition sys.c:62
void b8SysReset(void)
Reset the system.
Definition sys.c:19
void b8SysPutNum(s32 data)
Output a decimal number.
Definition sys.c:37
void b8SysHalt(void)
Halt the system.
Definition sys.c:7
int b8SysSetupIrqWait(u32 irq)
Set up an IRQ wait handler.
Definition sys.c:99
void b8SysPutCR(void)
Output a carriage return.
Definition sys.c:58
void b8SysPuts(const char *str)
Output a string.
Definition sys.c:23