AtMega CAN Bootloader
Well documented CAN-based bootloader for AtMega processors
Functions | Variables
CanBootloader.c File Reference
#include <avr/io.h>
#include <avr/wdt.h>
#include <avr/boot.h>
#include <avr/eeprom.h>
#include <avr/pgmspace.h>
#include <avr/interrupt.h>
#include <stdint.h>
#include "can_library.h"
#include "loaderconfiguration.h"
#include "messagedefinitions.h"

Functions

uint8_t mcusr __attribute__ ((section(".noinit")))
 
void handle_mcucsr ()
 
void bootProgramPage (uint32_t address, uint8_t *buf)
 Write temporary buffer to flash. More...
 
void clearFlashBuffer ()
 Clear the flash pagebuffer.
 
void startApplication ()
 Jump to application. More...
 
int main ()
 Main bootloader code.
 

Variables

uint8_t flashblock [SPM_PAGESIZE]
 
uint8_t currentPage = 0
 
uint32_t currentPageByte = 0
 

Detailed Description

Can bootloader support. (license: GPLv2 or LGPLv2.1)

Author
Tuomas Huuki tuoma.nosp@m.s.hu.nosp@m.uki@p.nosp@m.roxi.nosp@m.mia.f.nosp@m.i
See also
http://proximia.fi

Function Documentation

◆ __attribute__()

uint8_t mcusr __attribute__ ( (section(".noinit"))  )

◆ handle_mcucsr()

void handle_mcucsr ( )