#ifndef FW_H #define FW_H #include "compiler.h" #include "picorv32.h" #include "irq.h" extern const size_t __rom_offset; extern no_return _die(void); extern no_return exit(int); extern no_return _exit(int); /* Value of an absolute symbol with one more _ than here given */ #define abssymval(x) \ static inline size_t x (void) { \ extern const char _ ## x []; \ return (size_t) _ ## x; \ } extern const uint8_t _end[]; extern void *_sbrk(size_t); extern uint32_t timer_irq_start; static inline uint32_t timer_count(void) { extern volatile uint32_t timer_irq_count; return timer_irq_count; } extern void init(void); extern void mount_abcdrives(void); extern void read_rtc(void); extern void write_rtc(void); extern bool do_write_rtc; extern void rtc_abc_init(void); extern void rtc_abc_io_poll(void); extern void disk_cache_init(void); extern uint32_t romcopy_time[2]; extern void romcopy_download(void *, size_t, size_t); extern void romcopy_bzero(void *, size_t); extern uint64_t rom_get_serial(void); extern void run_test_image(void); #endif /* FW_H */