avr-fw-modules/core/include/sys/bootloader.h

36 lines
871 B
C
Executable File

#pragma once
#define BL_CMD_NOOP 0x00 // Noop
#define BL_CMD_ERASE_FLASH 0x10 // Applikationsflash löschen
#define BL_CMD_WRITE_FLASH 0x11 // Daten in Flash schreiben
#define BL_CMD_SET_FLASH_PTR 0x12 // Setze den Schreibpointer für Flashvorgänge (impliziert BL_CMD_FLUSH)
#define BL_CMD_FLUSH 0x13 // Flash Schreibvorgang abschliessen (übrige Daten im Buffer schreiben)
#define BL_CMD_GET_FLASH_PARA 0x18 // Frage nach Daten des FLASH
#define BL_CMD_REPLY 0x40
struct bl_cmd
{
uint8_t cmd;
uint8_t len;
uint8_t chk;
char buffer[32];
};
uint8_t bl_send(FILE *stream,struct bl_cmd *cmd);
uint8_t bl_recv(FILE *stream,struct bl_cmd *cmd);
void bl_boot_application(void);
uint8_t bootloader(FILE *stream);
#define BL_MCU_AT90USB1286 0x20
#define BL_MCU_AT90CAN128 0x21
#define BL_MCU_ATMEGA1284 0x22
#define BL_MCU_ATMEGA32U4 0x23