Changes since version 3devo-20180717
- Add support for Devoboard version 1.6.
Version shipped on fifth batch of filament extruder machines. Contains version 6.2 of optiboot, with some improvements made or merged specifically for 3devo.
Compiled with Cywin/Windows using:
make atmega2560 CURRENT_DEVOBOARD_VERSION=0x16 COMPATIBLE_DEVOBOARD_VERSION=0x11
make[1]: Map '/cygdrive/c/Users/hendrykaak/Desktop/Release/optiboot/optiboot/bootloaders/optiboot' wordt binnengegaan
avr-gcc.exe (GCC) 5.4.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
baudcheck.tmp.sh: regel 13: $'\r': opdracht niet gevonden
baudcheck.tmp.sh: regel 14: $'\r': opdracht niet gevonden
baudcheck.tmp.sh: regel 15: $'\r': opdracht niet gevonden
baudcheck.tmp.sh: regel 16: $'\r': opdracht niet gevonden
baudcheck.tmp.sh: regel 17: $'\r': opdracht niet gevonden
* 8))) - 1 : syntaxfout: ongeldige rekenkundige operator (het onjuiste symbool * 8))) - 1 ")00
baudcheck.tmp.sh: regel 19: $'\r': opdracht niet gevonden
baudcheck.tmp.sh: regel 20: $'\r': opdracht niet gevonden
baudcheck.tmp.sh: regel 21: $'\r': opdracht niet gevonden
baudcheck.tmp.sh: regel 22: $'\r': opdracht niet gevonden
baudcheck.tmp.sh: regel 23: $'\r': opdracht niet gevonden
baudcheck.tmp.sh: regel 24: $'\r': opdracht niet gevonden
baudcheck.tmp.sh: regel 25: $'\r': opdracht niet gevonden
/(8 * (()+1))) : syntaxfout: ongeldige rekenkundige operator (het onjuiste symbo/(8 * (()+1))) ")
) ")/ 115200ut: ongeldige rekenkundige operator (het onjuiste symbool is "
) - * 10) : syntaxfout: ongeldige rekenkundige operator (het onjuiste symbool i) - * 10) ")
baudcheck.tmp.sh: regel 30: $'\r': opdracht niet gevonden
baudcheck.tmp.sh: regel 31: $'\r': opdracht niet gevonden
baudcheck.tmp.sh: regel 32: $'\r': opdracht niet gevonden
baudcheck.tmp.sh: regel 33: $'\r': opdracht niet gevonden
% Real: , UBRRL = , Error=.05200
avr-gcc -g -Wall -Os -fno-split-wide-types -mrelax -mmcu=atmega2560 -DF_CPU=16000000L -DBAUD_RATE=115200 -DLED_START_FLASHES=3 -DBIGBOOT -DCURRENT_DEVOBOARD_VERSION=0x16 -DCOMPATIBLE_DEVOBOARD_VERSION=0x11 -c -o optiboot.o optiboot.c
optiboot.c:324:6: warning: #warning BAUD_RATE error greater than 2% [-Wcpp]
#warning BAUD_RATE error greater than 2%
^
avr-gcc -g -Wall -Os -fno-split-wide-types -mrelax -mmcu=atmega2560 -DF_CPU=16000000L -DBAUD_RATE=115200 -DLED_START_FLASHES=3 -DBIGBOOT -DCURRENT_DEVOBOARD_VERSION=0x16 -DCOMPATIBLE_DEVOBOARD_VERSION=0x11 -Wl,--section-start=.text=0x3fc00 -Wl,--section-start=.version=0x3fffc -Wl,--relax -nostartfiles -o optiboot-3devo-20190221-devoboard-1.6.elf optiboot.o
avr-size optiboot-3devo-20190221-devoboard-1.6.elf
text data bss dec hex filename
642 0 0 642 282 optiboot-3devo-20190221-devoboard-1.6.elf
avr-objcopy -j .text -j .data -j .version --set-section-flags .version=alloc,load -O ihex optiboot-3devo-20190221-devoboard-1.6.elf optiboot-3devo-20190221-devoboard-1.6.hex
avr-objdump -h -S optiboot-3devo-20190221-devoboard-1.6.elf > optiboot-3devo-20190221-devoboard-1.6.lst
rm optiboot.o
make[1]: Map '/cygdrive/c/Users/hendrykaak/Desktop/Release/optiboot/optiboot/bootloaders/optiboot' wordt verlaten
To set fuses and flash:
avrdude -B 5 -c atmelice_isp -p atmega2560 -Uflash:w:optiboot-3devo-20181119-devoboard-1.6.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD6:m -U efuse:w:0xFC:m -U lock:w:0xEF:m -v
The optiboot-3devo-20190221-boardinfo-v2.hex file was created by manually modifying another hex file to remove the compatible/current board version bytes and bump the optiboot custom version from 1 to 2 to indicate flash contains a v2+ board info block before the optiboot version. This board info block must be added when flashing the bootloader, e.g.:
avrdude -B 5 -c atmelice_isp -p atmega2560 -Uflash:w:optiboot-3devo-20181119-devoboard-1.6.hex -Uflash:w:board_info.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD6:m -U efuse:w:0xFC:m -U lock:w:0xEF:m -v
Where board_info.hex is a board info block with an appropriate starting address (e.g. 64 bytes starting at 0x3ffbe).