18#include "bootloader_can.h"
19#include "bootloader_error.h"
26extern uint32_t _flash_start;
27extern uint32_t _flash_size;
28extern uint32_t _flash_page_size;
29extern uint32_t _application_start;
30extern uint32_t _application_size;
31extern uint32_t _bootloader_start;
32extern uint32_t _bootloader_size;
33extern uint32_t _sram_start;
34extern uint32_t _sram_size;
37#define FLASH_START_ADDRESS_LINKERSCRIPT ((uint32_t)&_flash_start)
40#define FLASH_SIZE_LINKERSCRIPT ((size_t)&_flash_size)
43#define FLASH_PAGE_SIZE_LINKERSCRIPT ((size_t)&_flash_page_size)
46#define APPLICATION_START_ADDRESS ((uint32_t) & _application_start)
49#define APPLICATION_SIZE ((size_t) & _application_size)
52#define BOOTLOADER_START_ADDRESS ((uint32_t) & _bootloader_start)
55#define BOOTLOADER_SIZE ((size_t) & _bootloader_size)
58#define SRAM_START_ADDRESS ((uint32_t) & _sram_start)
61#define SRAM_SIZE ((size_t) & _sram_size)
BootloaderError bootloader_run(Boot_CanMessage *msg)
Run the bootloader.
Definition: bootloader.c:259
BootloaderStates
Bootloader State Machine.
Definition: bootloader.h:66
BootloaderError bootloader_init(void)
Initialize the bootloader.
Definition: bootloader.c:27
BootloaderError bootloader_jump_app(void)
Jump application.
Definition: bootloader.c:142
BootloaderError
Bootloader error definitions.
Definition: bootloader_error.h:28
@ BOOTLOADER_JUMP_APP
Definition: bootloader.h:72
@ BOOTLOADER_WAIT_SEQUENCING
Definition: bootloader.h:70
@ BOOTLOADER_DATA_RECEIVE
Definition: bootloader.h:71
@ BOOTLOADER_START
Definition: bootloader.h:69
@ BOOTLOADER_FAULT
Definition: bootloader.h:73
@ BOOTLOADER_UNINITIALIZED
Definition: bootloader.h:67
@ BOOTLOADER_IDLE
Definition: bootloader.h:68
CAN message structure.
Definition: bootloader_can.h:80
Private Bootloader State Storage.
Definition: bootloader.h:79
uint16_t buffer_index
Definition: bootloader.h:86
uintptr_t application_start
Definition: bootloader.h:80
uintptr_t current_write_address
Definition: bootloader.h:81
uint32_t bytes_written
Definition: bootloader.h:82
bool first_byte_received
Definition: bootloader.h:91
uint16_t target_nodes
Definition: bootloader.h:90
uint32_t packet_crc32
Definition: bootloader.h:84
BootloaderError error
Definition: bootloader.h:89
BootloaderStates state
Definition: bootloader.h:88
uint32_t data_size
Definition: bootloader.h:83
uint16_t expected_sequence_number
Definition: bootloader.h:85