diff options
author | NIIBE Yutaka <gniibe@fsij.org> | 2016-05-30 14:39:02 +0900 |
---|---|---|
committer | NIIBE Yutaka <gniibe@fsij.org> | 2016-05-30 14:39:02 +0900 |
commit | b90e58f763bd277b7a5285601a34818f44f2b01c (patch) | |
tree | 4535e6abc8b77d58215796c240489e7dbf499b44 /mcu/sys-mkl27z.h | |
parent | 8209f3875510d1990142a367c8bab6164c2f82cc (diff) |
Move CHIP specific things to mcu/
Diffstat (limited to 'mcu/sys-mkl27z.h')
-rw-r--r-- | mcu/sys-mkl27z.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/mcu/sys-mkl27z.h b/mcu/sys-mkl27z.h new file mode 100644 index 0000000..eed5d92 --- /dev/null +++ b/mcu/sys-mkl27z.h @@ -0,0 +1,41 @@ +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); + +int flash_erase_page (uint32_t addr); +int flash_program_word (uint32_t addr, uint32_t word); |