diff options
author | Thomas Albers Raviola <thomas@thomaslabs.org> | 2025-02-12 01:27:44 +0100 |
---|---|---|
committer | Thomas Albers Raviola <thomas@thomaslabs.org> | 2025-02-12 01:27:44 +0100 |
commit | 779b9834e30de1ba0b4f0755388bebd0c45aa1dc (patch) | |
tree | 218edb656e329884e4b9cab7e84f4ba4b4af0c4a /boot/devmode/devmode.h | |
parent | 8ac78b9953908d2a4ffece855296fb7597440cce (diff) |
Restructure rom image and use dependencies for makefiles
Diffstat (limited to 'boot/devmode/devmode.h')
-rw-r--r-- | boot/devmode/devmode.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/boot/devmode/devmode.h b/boot/devmode/devmode.h new file mode 100644 index 0000000..f3322d0 --- /dev/null +++ b/boot/devmode/devmode.h @@ -0,0 +1,42 @@ +#ifndef DEVMODE_H +#define DEVMODE_H + +#include <zeta.h> + +#ifdef __GNUC__ +#define PACKED __attribute__((packed)) +#else +#define PACKED +#endif + +enum header_type { + CMD_PING, + CMD_INFO, + CMD_BOOT, + CMD_READ, + CMD_WRITE, + CMD_IO_READ, + CMD_IO_WRITE, + CMD_ECHO +}; + +struct header { + u8 type; + u8 bank; + u16 address; + u16 length; + u16 checksum; +} PACKED; + +// static_assert(sizeof(struct header) == 8, "struct header is not PACKED"); + +enum error { + ERR_TIMEOUT = -1 +}; + +#define MAX_PACKET_SIZE 256 +#define TIMEOUT_MS 500 +#define MAX_ATTEMPTS 3 +#define MAX_TRANS_ATTEMPTS 5 + +#endif // DEVMODE_H |