diff options
Diffstat (limited to 'example-fs-bb48/sys.h')
-rw-r--r-- | example-fs-bb48/sys.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/example-fs-bb48/sys.h b/example-fs-bb48/sys.h new file mode 100644 index 0000000..c13978c --- /dev/null +++ b/example-fs-bb48/sys.h @@ -0,0 +1,38 @@ +extern const uint8_t sys_version[8]; +extern const uint32_t sys_board_id; +extern const char *const sys_board_name; + +typedef void (*handler)(void); +extern handler sys_vector[16]; + +/* + * Users can override INLINE by 'attribute((used))' to have an + * implementation defined. + */ +#if !defined(INLINE) +#define INLINE __inline__ +#endif + +static INLINE void +clock_init (void) +{ + (*sys_vector[0]) (); +} + +static INLINE void +gpio_init (void) +{ + (*sys_vector[1]) (); +} + +static inline void +set_led (int on) +{ + void (*func) (int) = (void (*)(int))sys_vector[2]; + + return (*func) (on); +} + +void crc32_init (unsigned int *); +void crc32_u8 (unsigned int *, unsigned char); +void crc32_u32 (unsigned int *, unsigned int); |