aboutsummaryrefslogtreecommitdiff
path: root/mcu/sys-gnu-linux.h
diff options
context:
space:
mode:
authorNIIBE Yutaka <gniibe@fsij.org>2017-09-04 15:16:36 +0900
committerNIIBE Yutaka <gniibe@fsij.org>2017-09-04 15:23:02 +0900
commite73d14ca27cffc7694ced85ef35850abb40bd838 (patch)
tree0968638aa779025cd9a9d8c1f4dee13390092d17 /mcu/sys-gnu-linux.h
parentd8df82badf671fef49d5eae2e5a2f1b5ae46bf99 (diff)
Add muc/sys-gnu-linux.*.
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
Diffstat (limited to 'mcu/sys-gnu-linux.h')
-rw-r--r--mcu/sys-gnu-linux.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/mcu/sys-gnu-linux.h b/mcu/sys-gnu-linux.h
new file mode 100644
index 0000000..2955ad6
--- /dev/null
+++ b/mcu/sys-gnu-linux.h
@@ -0,0 +1,41 @@
+extern const uint8_t sys_version[8];
+#if defined(USE_SYS3) || defined(USE_SYS_BOARD_ID)
+extern const uint32_t sys_board_id;
+extern const uint8_t sys_board_name[];
+# define SYS_BOARD_ID sys_board_id
+#else
+# define SYS_BOARD_ID BOARD_ID
+#endif
+
+static inline const uint8_t *
+unique_device_id (void)
+{
+ /* STM32F103 has 96-bit unique device identifier */
+
+ static const uint8_t id[] = { /* My RSA fingerprint */
+ 0x12, 0x41, 0x24, 0xBD, 0x3B, 0x48, 0x62, 0xAF,
+ 0x7A, 0x0A, 0x42, 0xF1, 0x00, 0xB4, 0x5E, 0xBD,
+ 0x4C, 0xA7, 0xBA, 0xBE
+ };
+
+ return id;
+}
+
+void set_led (int on);
+void flash_unlock (void);
+int flash_program_halfword (uint32_t addr, uint16_t data);
+int flash_erase_page (uint32_t addr);
+int flash_check_blank (const uint8_t *p_start, size_t size);
+int flash_write (uint32_t dst_addr, const uint8_t *src, size_t len);
+int flash_protect (void);
+void __attribute__((noreturn))
+flash_erase_all_and_exec (void (*entry)(void));
+
+void usb_lld_sys_init (void);
+void usb_lld_sys_shutdown (void);
+
+void __attribute__((noreturn))
+nvic_system_reset (void);
+
+void clock_init (void);
+void gpio_init (void);