Hi,
after quite a long time of successful usage i wanted to upgrade my beloved AY-AT tester, giving it a go with v1.40.
Since there were several recommendations for which tool chain to use, i made a little test.
I used good old WinAVR, AY-AT settings from "clones" file (with auto-powerdown, SW_SERVO, 30X32 symbols and the new E-series matching stuff for resistors), and replaced the tool chain binaries with
1) avr8 toolchain 3.4.5 (gcc 4.8.1)
was mentioned here some posts ago
2) avr8 toolchain 3.5.1 (gcc 4.9.2)
last one with gcc 4.x
3) avr8 toolchain 3.6.2 (gcc 5.4.0)
last one on microchip site
4) avr8 toolchain 3.6.2 + Arduino-IDE 1.8.13 avr binaries (gcc 7.3.0)
like 3), but with binaries replaced by IDE ones
TL;DR:
no. 4) did win
- that variant created a binary with less than 100% size (ended up at 97.4% after disabling SW_PWM_SIMPLE, SW_SQUAREWAVE and SW_IR_RECEIVER). See details below. I also attached the binary for the AY-AT, perhaps it's useful for some.
Btw, with a cheap USBASP, using WinAVR is really easy. Just copy over the binaries; and if you add "make upload" (and "make fuses" if needed) in "Tools->Options->Tools", there's even no need to fiddle with avrdude or cli at all...
And of course - thanks for all the efforts put into this firmware!
avr8 toolchain 3.4.5 (gcc 4.8.1)
AVR Memory Usage
----------------
Device: atmega328
Program: 33140 bytes (101.1% Full)
(.text + .data + .bootloader)
Data: 252 bytes (12.3% Full)
(.data + .bss + .noinit)
EEPROM: 793 bytes (77.4% Full)
(.eeprom)
avr8 toolchain 3.5.1 (gcc 4.9.2)
AVR Memory Usage
----------------
Device: atmega328
Program: 33278 bytes (101.6% Full)
(.text + .data + .bootloader)
Data: 252 bytes (12.3% Full)
(.data + .bss + .noinit)
EEPROM: 793 bytes (77.4% Full)
(.eeprom)
avr8 toolchain 3.6.2 (gcc 5.4.0)
AVR Memory Usage
----------------
Device: atmega328
Program: 33050 bytes (100.9% Full)
(.text + .data + .bootloader)
Data: 252 bytes (12.3% Full)
(.data + .bss + .noinit)
EEPROM: 793 bytes (77.4% Full)
(.eeprom)
avr8 toolchain 3.6.2 + Arduino-IDE 1.8.13 avr binaries (gcc 7.3.0)
AVR Memory Usage
----------------
Device: atmega328
Program: 32794 bytes (100.1% Full)
(.text + .data + .bootloader)
Data: 252 bytes (12.3% Full)
(.data + .bss + .noinit)
EEPROM: 793 bytes (77.4% Full)
(.eeprom)