Size | Usage | Version | Features | Hex file |
---|---|---|---|---|
190 | 192 | u8.0 | ----jpr-- |
attiny2313_min.hex |
230 | 256 | u8.0 | w---hpr-- |
atmega8_min.hex |
242 | 256 | u8.0 | w---hpr-- |
atmega168_min.hex |
244 | 256 | u8.0 | w---jPr-- |
atmega32_min.hex |
252 | 256 | u8.0 | w---jPr-- |
attiny167_min.hex |
254 | 256 | u8.0 | w---jPr-- |
atmega1280_min.hex |
254 | 256 | u8.0 | w---jPr-- |
atmega1284p_min.hex |
254 | 256 | u8.0 | w---jPr-- |
atmega2560_min.hex |
254 | 256 | u8.0 | w---jPr-- |
atmega644p_min.hex |
254 | 256 | u8.0 | w---jPr-- |
attiny84_min.hex |
254 | 256 | u8.0 | w---jPr-- |
attiny85_min.hex |
256 | 256 | u8.0 | w---jPr-- |
atmega328p_min.hex |
256 | 256 | u8.0 | w---jPr-- |
atmega88_min.hex |
256 | 256 | u8.0 | w---jPra- |
atmega328p_amin.hex |
256 | 256 | u8.0 | we--jpr-- |
attiny2313_emin.hex |
304 | 320 | u8.0 | we--jPr-- |
atmega8.hex |
316 | 320 | u8.0 | we--jPr-- |
atmega88.hex |
318 | 320 | u8.0 | we--jPra- |
atmega88_a.hex |
318 | 320 | u8.0 | we--jpr-- |
attiny85.hex |
318 | 320 | u8.0 | we--jpr-- |
digispark.hex |
320 | 320 | u8.0 | we--jPra- |
atmega8_a.hex |
320 | 320 | u8.0 | we--jpr-- |
luminet_baud9600.hex |
364 | 384 | u8.0 | weU-jPr-- |
atmega328p_8125khz_swio.hex |
366 | 384 | u8.0 | weU-jPr-- |
atmega328p_8000khz_swio.hex |
366 | 384 | u8.0 | weU-jPr-- |
atmega328p_swio.hex |
366 | 384 | u8.0 | weU-jPr-- |
lilypad.hex |
366 | 384 | u8.0 | weU-jPr-- |
pro_8mhz.hex |
368 | 384 | u8.0 | weU-jPr-- |
atmega328p_7875khz_swio.hex |
368 | 384 | u8.0 | weU-jPr-c |
anarduino.hex |
368 | 384 | u8.0 | weU-jPr-c |
atmega328p.hex |
368 | 384 | u8.0 | weU-jPr-c |
diecimila.hex |
368 | 384 | u8.0 | weU-jPr-c |
jeenode.hex |
368 | 384 | u8.0 | weU-jPr-c |
moteino.hex |
368 | 384 | u8.0 | weU-jPr-c |
pro_16mhz.hex |
368 | 384 | u8.0 | weU-jPr-c |
promini_led13.hex |
368 | 384 | u8.0 | weU-jPr-c |
promini_led9.hex |
368 | 384 | u8.0 | weU-jPr-c |
timeduino.hex |
368 | 384 | u8.0 | weU-jPr-c |
urclock.hex |
372 | 384 | u8.0 | weU-jPrac |
atmega32_a.hex |
374 | 384 | u8.0 | -eU-jPrac |
atmega328p_fa.hex |
376 | 384 | u8.0 | weU-jPr-c |
atmega32.hex |
378 | 384 | u8.0 | weU-jPrac |
attiny167_a.hex |
382 | 384 | u8.0 | weU-jPr-c |
attiny167.hex |
382 | 384 | u8.0 | weU-jPr-c |
digisparkpro.hex |
384 | 384 | u8.0 | weU-jPr-c |
atmega328p_led9_50Hz_fp9.hex |
384 | 384 | u8.0 | weU-jPr-c |
pro_20mhz.hex |
384 | 384 | u8.0 | weU-jPrac |
atmega328p_a.hex |
384 | 384 | u8.0 | weU-jPrac |
pro_a.hex |
384 | 384 | u8.0 | weU-jPrac |
promini_led13_a.hex |
384 | 384 | u8.0 | weU-jPrac |
promini_led9_a.hex |
354 | 512 | u8.0 | weU-hprac |
atmega8_h.hex |
366 | 512 | u8.0 | weU-hprac |
atmega88_h.hex |
394 | 512 | u8.0 | weU-jPr-c |
atmega644p.hex |
406 | 512 | u8.0 | weU-hprac |
atmega328p_h.hex |
410 | 512 | u8.0 | weU-jPrac |
atmega644p_a.hex |
422 | 512 | u8.0 | weU-jPr-c |
atmega1280.hex |
422 | 512 | u8.0 | weU-jPr-c |
atmega1284p.hex |
422 | 512 | u8.0 | weU-jPr-c |
atmega2560.hex |
438 | 512 | u8.0 | weU-jPrac |
atmega1280_a.hex |
438 | 512 | u8.0 | weU-jPrac |
atmega1284p_a.hex |
438 | 512 | u8.0 | weU-jPrac |
atmega2560_a.hex |
474 | 512 | o8.3 | -.s-.-r-- |
optiboot_atmega328.hex |
490 | 512 | u8.0 | we-djPr-- |
atmega1284p_d.hex |
492 | 512 | u8.0 | we-djPr-- |
atmega1280_d.hex |
492 | 512 | u8.0 | we-djPr-- |
atmega2560_d.hex |
496 | 512 | u8.0 | weUdhpr-c |
atmega328p_d.hex |
496 | 512 | u8.0 | weUdjPra- |
attiny167_ad.hex |
504 | 512 | u8.0 | weUdhprac |
moteino_cs8_ad.hex |
504 | 512 | u8.0 | weUdhprac |
timeduino_cs8_ad.hex |
504 | 512 | u8.0 | weUdhprac |
urclock_cs8_ad.hex |
506 | 512 | u8.0 | we-djPra- |
atmega1284p_ad.hex |
508 | 512 | u8.0 | we-djPra- |
atmega1280_ad.hex |
508 | 512 | u8.0 | we-djPra- |
atmega2560_ad.hex |
512 | 512 | u8.0 | weUdhprac |
anarduino_cs5_ad.hex |
512 | 512 | u8.0 | weUdhprac |
atmega328p_ad.hex |
710 | 1024 | o8.3 | -.s-.-r-- |
bigboot_328.hex |
- Size: Bootloader code size including small table at top end
- Usage: How many bytes of flash are needed, ie, HW boot section or a multiple of the page size
- Version: For example, u7.6 is an urboot version, o5.2 is an optiboot version
- Features:
w
bootloader providespgm_write_page(sram, flash)
for the application atFLASHEND-4+1
e
EEPROM read/write supportU
checks whether flash pages need writing before doing sos
uses skeleton of STK500v1 protocol (deprecated);-c urclock
and-c arduino
both workd
dual boot (over-the-air programming from external SPI flash)h
hardware boot section: make sure fuses are set for reset to jump to boot sectionj
vector bootloader: applications need to be patched externally, eg, usingavrdude -c urclock
p
bootloader protects itself from being overwrittenP
vector bootloader only: protects itself and reset vector from being overwrittenr
preserves reset flags for the application in the register R2a
autobaud detection (f_cpu/8n using discrete divisors, n = 1, 2, ..., 256)c
bootloader provides chip erase functionality (recommended for large MCUs).
unable to tell from .hex file whether this feature is present-
corresponding feature not present
- Hex file: often qualified by the MCU name and/or configuration
swio
software I/O (not UART)led9
toggles an LED on, in this example, Arduino pin 9cs8
uses Arduino pin 8 as chip select of external SPI flash memory for dual bootfp9
for debugging the bootloader uses, eg, Arduino pin 9 to swing a signal of low frequency, eg, 50 Hzmin
most feature-rich bootloader for smallest achievable flash usage
Note that the bootloaders with a part name, eg, atmega8_a.hex
are usually template bootloaders:
instead of the opcodes for toggling specific LEDs or pulling a specific CS line for external SPI
flash memory they hold generic nop
s of the sort mov rx,rx
. This means they can be replaced on
the fly just before burning the bootloader; thus specifying the LED, CS or RX/TX pins (for software
I/O) can be done at burn time w/o compiling the bootloader. Therefore atmega8_a.hex
won't
operate blinkenlights, but has placeholder code to
insert the right opcodes for doing so. In contrast to this, bootloaders with a board name, eg,
jeenode
will normally have been compiled for that board, ie, the bootloader uses the LED and/or
CS for external SPI flash memory as is on that board.