Closed glprinamello closed 9 years ago
Workaround: Try reading the fuses without reading memory lock, the path to avrdude and the config used can be taken from the output of the Arduino IDE:
avrdude -C "$AVRCONF" -p t45 -c arduino -b19200 -P /dev/ttyACM0 -U lfuse:r:-:h -U hfuse:r:-:h -U efuse:r:-:h
If this is successful you can set the fuses accordingly:
avrdude -C "$AVRCONF" -p t45 -c arduino -b19200 -P /dev/ttyACM0 -U lfuse:w:0xE2:m -U hfuse:w:0xDF:m -U efuse:w:0xFF:m
Take the fuse settings you need from the boards.txt
containing your HW definitions and set the -p
flag (which MCU you are using) accordingly.
I think this problem exists since a while. However I never cared since I use shell scripts to change fuse settings which is quicker than opening the Arduino IDE.
Thank you very much, i shall try this evening as soon as i get home.
The only thing i don't understand if memory is locked how can i program it in the future?
Related to https://github.com/arduino/Arduino/issues/808
Changing the avrdude.conf for more ATtinys might help.
Can this patch help? https://github.com/arduino/toolchain-avr/pull/21 It's available with avr core 1.6.4 (through boards manager)
@ffissore I doubt. The problem seems to be related to a missing read section in `avrdude.conf, see #808
memory "lock"
size = 1;
write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
"x x x x x x x x 1 1 i i i i i i";
min_write_delay = 9000;
max_write_delay = 9000;
;
I'll fix and test this later today at least for the ATtiny85 and 45. I can only test with ATtiny85 and 45, so someone else has to test for other ATtinys.
@glprinamello Would you please provide me with the exact version of boards.txt you are using for the ATtiny?
I'll fix and test this later today at least for the ATtiny85 and 45. I can only test with ATtiny85 and 45, so someone else has to test for other ATtinys.
Nop still have problems but now something is moving.
I changed avrdude.conf
file and added missing part for reading but still
gives me error trough IDE.
Arduino:1.6.3 (Windows XP), Scheda:"ATtiny x5, ATtiny85 @ 8 MHz (internal
oscillator; BOD disabled)"
C:\Documents and
Settings\Giangy_Home\Desktop\PROGETTAZIONE\ArduinoProg\Arduino\hardware\tools\avr/bin/avrdude
-CC:\Documents and
Settings\Giangy_Home\Desktop\PROGETTAZIONE\ArduinoProg\Arduino\hardware\tools\avr/etc/avrdude.conf
-v -v -v -v -pattiny85 -cstk500v1 -PCOM2 -b19200 -e -Ulock:w:0xFF:m
-Uefuse:w:0xFF:m -Uhfuse:w:0xD7:m -Ulfuse:w:0xE2:m
avrdude: Version 6.0.1, compiled on Mar 30 2015 at 14:56:06
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "C:\Documents and
Settings\Giangy_Home\Desktop\PROGETTAZIONE\ArduinoProg\Arduino\hardware\tools\avr/etc/avrdude.conf"
avrdude: error at C:\Documents and
Settings\Giangy_Home\Desktop\PROGETTAZIONE\ArduinoProg\Arduino\hardware\tools\avr/etc/avrdude.conf:332:
programmer type must be written as "id_type"
Errore durante la scrittura del bootloader
please provide me with the exact version of boards.txt you are using for the ATtiny?
i'm using this file:
menu.cpu=Micro
###########################################################################
tinyx4.name=ATtiny x4
tinyx4.bootloader.tool=avrdude
tinyx4.bootloader.unlock_bits=0xFF
tinyx4.bootloader.lock_bits=0xFF
tinyx4.build.board=AVR_TINYX4
tinyx4.menu.cpu.attiny84at16=ATtiny84 @ 16 MHz (external crystal; 4.3 V BOD)
tinyx4.menu.cpu.attiny84at16.upload.tool=arduino:arduinoisp
tinyx4.menu.cpu.attiny84at16.upload.maximum_size=8192
tinyx4.menu.cpu.attiny84at16.upload.maximum_data_size=512
# Frequency 8.0- MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms; [CKSEL=1111 SUT=11]
# Brown-out detection level at VCC=4.3 V; [BODLEVEL=100]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
# Serial program downloading (SPI) enabled; [SPIEN=0]
tinyx4.menu.cpu.attiny84at16.bootloader.low_fuses=0xFF
tinyx4.menu.cpu.attiny84at16.bootloader.high_fuses=0xD4
tinyx4.menu.cpu.attiny84at16.bootloader.extended_fuses=0xFF
tinyx4.menu.cpu.attiny84at16.bootloader.path=empty
tinyx4.menu.cpu.attiny84at16.bootloader.file=empty84at16.hex
tinyx4.menu.cpu.attiny84at16.build.mcu=attiny84
tinyx4.menu.cpu.attiny84at16.build.f_cpu=16000000L
tinyx4.menu.cpu.attiny84at16.build.core=tiny
###########################################################################
tinyx4.menu.cpu.attiny84at8=ATtiny84 @ 8 MHz (internal oscillator; BOD disabled)
tinyx4.menu.cpu.attiny84at8.upload.tool=arduino:arduinoisp
tinyx4.menu.cpu.attiny84at8.upload.maximum_size=8192
tinyx4.menu.cpu.attiny84at8.upload.maximum_data_size=512
# Default clock (slowly rising power; long delay to clock; 8 MHz internal)
# Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms; [CKSEL=0010 SUT=10]; default value
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
tinyx4.menu.cpu.attiny84at8.bootloader.low_fuses=0xE2
tinyx4.menu.cpu.attiny84at8.bootloader.high_fuses=0xD7
tinyx4.menu.cpu.attiny84at8.bootloader.extended_fuses=0xFF
tinyx4.menu.cpu.attiny84at8.bootloader.path=empty
tinyx4.menu.cpu.attiny84at8.bootloader.file=empty84at8.hex
tinyx4.menu.cpu.attiny84at8.build.mcu=attiny84
tinyx4.menu.cpu.attiny84at8.build.f_cpu=8000000L
tinyx4.menu.cpu.attiny84at8.build.core=tiny
###########################################################################
tinyx4.menu.cpu.attiny84at1=ATtiny84 @ 1 MHz (internal oscillator; BOD disabled)
tinyx4.menu.cpu.attiny84at1.upload.tool=arduino:arduinoisp
tinyx4.menu.cpu.attiny84at1.upload.maximum_size=8192
tinyx4.menu.cpu.attiny84at1.upload.maximum_data_size=512
# Default clock (slowly rising power; long delay to clock; 8 MHz internal; divide clock by 8)
# Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms; [CKSEL=0010 SUT=10]; default value
# Divide clock by 8 internally; [CKDIV8=0]
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
tinyx4.menu.cpu.attiny84at1.bootloader.low_fuses=0x62
tinyx4.menu.cpu.attiny84at1.bootloader.high_fuses=0xD7
tinyx4.menu.cpu.attiny84at1.bootloader.extended_fuses=0xFF
tinyx4.menu.cpu.attiny84at1.bootloader.path=empty
tinyx4.menu.cpu.attiny84at1.bootloader.file=empty84at1.hex
tinyx4.menu.cpu.attiny84at1.build.mcu=attiny84
tinyx4.menu.cpu.attiny84at1.build.f_cpu=1000000L
tinyx4.menu.cpu.attiny84at1.build.core=tiny
###########################################################################
tinyx4.menu.cpu.attiny44at8=ATtiny44 @ 8 MHz (internal oscillator; BOD disabled)
tinyx4.menu.cpu.attiny44at8.upload.tool=arduino:arduinoisp
tinyx4.menu.cpu.attiny44at8.upload.maximum_size=4096
tinyx4.menu.cpu.attiny44at8.upload.maximum_data_size=256
# Default clock (slowly rising power; long delay to clock; 8 MHz internal)
# Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms; [CKSEL=0010 SUT=10]; default value
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
tinyx4.menu.cpu.attiny44at8.bootloader.low_fuses=0xE2
tinyx4.menu.cpu.attiny44at8.bootloader.high_fuses=0xD7
tinyx4.menu.cpu.attiny44at8.bootloader.extended_fuses=0xFF
tinyx4.menu.cpu.attiny44at8.bootloader.path=empty
tinyx4.menu.cpu.attiny44at8.bootloader.file=empty44at8.hex
tinyx4.menu.cpu.attiny44at8.build.mcu=attiny44
tinyx4.menu.cpu.attiny44at8.build.f_cpu=8000000L
tinyx4.menu.cpu.attiny44at8.build.core=tiny
###########################################################################
tinyx4.menu.cpu.attiny44at1.name=ATtiny44 @ 1 MHz (internal oscillator; BOD disabled)
tinyx4.menu.cpu.attiny44at1.upload.tool=arduino:arduinoisp
tinyx4.menu.cpu.attiny44at1.upload.maximum_size=4096
tinyx4.menu.cpu.attiny44at1.upload.maximum_data_size=256
# Default clock (slowly rising power; long delay to clock; 8 MHz internal; divide clock by 8)
# Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms; [CKSEL=0010 SUT=10]; default value
# Divide clock by 8 internally; [CKDIV8=0]
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
tinyx4.menu.cpu.attiny44at1.bootloader.low_fuses=0x62
tinyx4.menu.cpu.attiny44at1.bootloader.high_fuses=0xD7
tinyx4.menu.cpu.attiny44at1.bootloader.extended_fuses=0xFF
tinyx4.menu.cpu.attiny44at1.bootloader.path=empty
tinyx4.menu.cpu.attiny44at1.bootloader.file=empty44at1.hex
tinyx4.menu.cpu.attiny44at1.build.mcu=attiny44
tinyx4.menu.cpu.attiny44at1.build.f_cpu=1000000L
tinyx4.menu.cpu.attiny44at1.build.core=tiny
###########################################################################
tinyx4.menu.cpu.attiny24at16=ATtiny24 @ 16 MHz (external crystal; BOD disabled)
tinyx4.menu.cpu.attiny24at16.upload.tool=arduino:arduinoisp
tinyx4.menu.cpu.attiny24at16.upload.maximum_size=2048
tinyx4.menu.cpu.attiny24at16.upload.maximum_data_size=2128
# Ext. Crystal Osc.; Frequency 8.0- MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms; [CKSEL=1111 SUT=11]
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
# Serial program downloading (SPI) enabled; [SPIEN=0]
tinyx4.menu.cpu.attiny24at16.bootloader.low_fuses=0xFF
tinyx4.menu.cpu.attiny24at16.bootloader.high_fuses=0xD7
tinyx4.menu.cpu.attiny24at16.bootloader.extended_fuses=0xFF
tinyx4.menu.cpu.attiny24at16.bootloader.path=empty
tinyx4.menu.cpu.attiny24at16.bootloader.file=empty24at16.hex
tinyx4.menu.cpu.attiny24at16.build.mcu=attiny24
tinyx4.menu.cpu.attiny24at16.build.f_cpu=16000000L
tinyx4.menu.cpu.attiny24at16.build.core=tiny
###########################################################################
tinyx5.name=ATtiny x5
tinyx5.bootloader.tool=avrdude
tinyx5.bootloader.unlock_bits=0xFF
tinyx5.bootloader.lock_bits=0xFF
tinyx5.build.board=AVR_TINYX5
tinyx5.menu.cpu.attiny85at16e=ATtiny85 @ 16 MHz (external crystal; 4.3 V BOD)
tinyx5.menu.cpu.attiny85at16e.upload.tool=arduino:arduinoisp
tinyx5.menu.cpu.attiny85at16e.upload.maximum_size=8192
tinyx5.menu.cpu.attiny85at16e.upload.maximum_data_size=512
# Ext. Crystal Osc.; Frequency 8.0- MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms; [CKSEL=1111 SUT=11]
# Brown-out detection level at VCC=4.3 V; [BODLEVEL=100]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
# Serial program downloading (SPI) enabled; [SPIEN=0]
tinyx5.menu.cpu.attiny85at16e.bootloader.low_fuses=0xFF
tinyx5.menu.cpu.attiny85at16e.bootloader.high_fuses=0xD4
tinyx5.menu.cpu.attiny85at16e.bootloader.extended_fuses=0xFF
tinyx5.menu.cpu.attiny85at16e.bootloader.path=empty
tinyx5.menu.cpu.attiny85at16e.bootloader.file=empty85at16.hex
tinyx5.menu.cpu.attiny85at16e.build.mcu=attiny85
tinyx5.menu.cpu.attiny85at16e.build.f_cpu=16000000L
tinyx5.menu.cpu.attiny85at16e.build.core=tiny
###########################################################################
tinyx5.menu.cpu.attiny85at16p=ATtiny85 @ 16 MHz (internal PLL; 4.3 V BOD)
tinyx5.menu.cpu.attiny85at16p.upload.tool=arduino:arduinoisp
tinyx5.menu.cpu.attiny85at16p.upload.maximum_size=8192
tinyx5.menu.cpu.attiny85at16p.upload.maximum_data_size=512
# PLL Clock; Start-up time PWRDWN/RESET: 1K CK/14 CK + 4 ms; [CKSEL=0001 SUT=00]
# Brown-out detection level at VCC=4.3 V; [BODLEVEL=100]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
# Serial program downloading (SPI) enabled; [SPIEN=0]
tinyx5.menu.cpu.attiny85at16p.bootloader.low_fuses=0xC1
tinyx5.menu.cpu.attiny85at16p.bootloader.high_fuses=0xD4
tinyx5.menu.cpu.attiny85at16p.bootloader.extended_fuses=0xFF
tinyx5.menu.cpu.attiny85at16p.bootloader.path=empty
tinyx5.menu.cpu.attiny85at16p.bootloader.file=empty85at16.hex
tinyx5.menu.cpu.attiny85at16p.build.mcu=attiny85
tinyx5.menu.cpu.attiny85at16p.build.f_cpu=16000000L
tinyx5.menu.cpu.attiny85at16p.build.core=tiny
###########################################################################
tinyx5.menu.cpu.attiny85at8=ATtiny85 @ 8 MHz (internal oscillator; BOD disabled)
tinyx5.menu.cpu.attiny85at8.upload.tool=arduino:arduinoisp
tinyx5.menu.cpu.attiny85at8.upload.maximum_size=8192
tinyx5.menu.cpu.attiny85at8.upload.maximum_data_size=512
# Default clock (slowly rising power; long delay to clock; 8 MHz internal)
# Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms; [CKSEL=0010 SUT=10]; default value
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
tinyx5.menu.cpu.attiny85at8.bootloader.low_fuses=0xE2
tinyx5.menu.cpu.attiny85at8.bootloader.high_fuses=0xD7
tinyx5.menu.cpu.attiny85at8.bootloader.extended_fuses=0xFF
tinyx5.menu.cpu.attiny85at8.bootloader.path=empty
tinyx5.menu.cpu.attiny85at8.bootloader.file=empty85at8.hex
tinyx5.menu.cpu.attiny85at8.build.mcu=attiny85
tinyx5.menu.cpu.attiny85at8.build.f_cpu=8000000L
tinyx5.menu.cpu.attiny85at8.build.core=tiny
###########################################################################
tinyx5.menu.cpu.attiny85at1=ATtiny85 @ 1 MHz (internal oscillator; BOD disabled)
tinyx5.menu.cpu.attiny85at1.upload.tool=arduino:arduinoisp
tinyx5.menu.cpu.attiny85at1.upload.maximum_size=8192
tinyx5.menu.cpu.attiny85at1.upload.maximum_data_size=512
# Default clock (slowly rising power; long delay to clock; 8 MHz internal; divide clock by 8)
# Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms; [CKSEL=0010 SUT=10]; default value
# Divide clock by 8 internally; [CKDIV8=0]
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
tinyx5.menu.cpu.attiny85at1.bootloader.low_fuses=0x62
tinyx5.menu.cpu.attiny85at1.bootloader.high_fuses=0xD7
tinyx5.menu.cpu.attiny85at1.bootloader.extended_fuses=0xFF
tinyx5.menu.cpu.attiny85at1.bootloader.path=empty
tinyx5.menu.cpu.attiny85at1.bootloader.file=empty85at1.hex
tinyx5.menu.cpu.attiny85at1.build.mcu=attiny85
tinyx5.menu.cpu.attiny85at1.build.f_cpu=1000000L
tinyx5.menu.cpu.attiny85at1.build.core=tiny
###########################################################################
tinyx5.menu.cpu.attiny85at128=ATtiny85 @ 128 KHz (watchdog oscillator; 1.8 V BOD)
tinyx5.menu.cpu.attiny85at128.upload.tool=arduino:arduinoisp
tinyx5.menu.cpu.attiny85at128.upload.maximum_size=8192
tinyx5.menu.cpu.attiny85at128.upload.maximum_data_size=512
# WD. Osc. 128 kHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 0 ms; [CKSEL=0100 SUT=00]
# Brown-out detection level at VCC=1.8 V; [BODLEVEL=110]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
# Serial program downloading (SPI) enabled; [SPIEN=0]
tinyx5.menu.cpu.attiny85at128.bootloader.low_fuses=0xC4
tinyx5.menu.cpu.attiny85at128.bootloader.high_fuses=0xD6
tinyx5.menu.cpu.attiny85at128.bootloader.extended_fuses=0xFF
tinyx5.menu.cpu.attiny85at128.bootloader.path=empty
tinyx5.menu.cpu.attiny85at128.bootloader.file=empty85at1.hex
tinyx5.menu.cpu.attiny85at128.build.mcu=attiny85
tinyx5.menu.cpu.attiny85at128.build.f_cpu=128000L
tinyx5.menu.cpu.attiny85at128.build.core=tiny
###########################################################################
tinyx5.menu.cpu.attiny45at8=ATtiny45 @ 8 MHz
tinyx5.menu.cpu.attiny45at8.upload.tool=arduino:arduinoisp
tinyx5.menu.cpu.attiny45at8.upload.maximum_size=4096
tinyx5.menu.cpu.attiny45at8.upload.maximum_data_size=256
# Default clock (slowly rising power; long delay to clock; 8 MHz internal)
# Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms; [CKSEL=0010 SUT=10]; default value
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
tinyx5.menu.cpu.attiny45at8.bootloader.low_fuses=0xE2
tinyx5.menu.cpu.attiny45at8.bootloader.high_fuses=0xD7
tinyx5.menu.cpu.attiny45at8.bootloader.extended_fuses=0xFF
tinyx5.menu.cpu.attiny45at8.bootloader.path=empty
tinyx5.menu.cpu.attiny45at8.bootloader.file=empty45at8.hex
tinyx5.menu.cpu.attiny45at8.build.mcu=attiny45
tinyx5.menu.cpu.attiny45at8.build.f_cpu=8000000L
tinyx5.menu.cpu.attiny45at8.build.core=tiny
###########################################################################
tinyx5.menu.cpu.attiny45at1=ATtiny45 @ 1 MHz
tinyx5.menu.cpu.attiny45at1.upload.tool=arduino:arduinoisp
tinyx5.menu.cpu.attiny45at1.upload.maximum_size=4096
tinyx5.menu.cpu.attiny45at1.upload.maximum_data_size=256
# Default clock (slowly rising power; long delay to clock; 8 MHz internal; divide clock by 8)
# Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms; [CKSEL=0010 SUT=10]; default value
# Divide clock by 8 internally; [CKDIV8=0]
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
tinyx5.menu.cpu.attiny45at1.bootloader.low_fuses=0x62
tinyx5.menu.cpu.attiny45at1.bootloader.high_fuses=0xD7
tinyx5.menu.cpu.attiny45at1.bootloader.extended_fuses=0xFF
tinyx5.menu.cpu.attiny45at1.bootloader.path=empty
tinyx5.menu.cpu.attiny45at1.bootloader.file=empty45at1.hex
tinyx5.menu.cpu.attiny45at1.build.mcu=attiny45
tinyx5.menu.cpu.attiny45at1.build.f_cpu=1000000L
tinyx5.menu.cpu.attiny45at1.build.core=tiny
###########################################################################
tinyx5.menu.cpu.attiny25at8=ATtiny25 @ 8 MHz
tinyx5.menu.cpu.attiny25at8.upload.tool=arduino:arduinoisp
tinyx5.menu.cpu.attiny25at8.upload.maximum_size=2048
tinyx5.menu.cpu.attiny25at8.upload.maximum_data_size=128
# Default clock (slowly rising power; long delay to clock; 8 MHz internal)
# Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms; [CKSEL=0010 SUT=10]; default value
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
tinyx5.menu.cpu.attiny25at8.bootloader.low_fuses=0xE2
tinyx5.menu.cpu.attiny25at8.bootloader.high_fuses=0xD7
tinyx5.menu.cpu.attiny25at8.bootloader.extended_fuses=0xFF
tinyx5.menu.cpu.attiny25at8.bootloader.path=empty
tinyx5.menu.cpu.attiny25at8.bootloader.file=empty25at8.hex
tinyx5.menu.cpu.attiny25at8.build.mcu=attiny25
tinyx5.menu.cpu.attiny25at8.build.f_cpu=8000000L
tinyx5.menu.cpu.attiny25at8.build.core=tiny
###########################################################################
tinyx5.menu.cpu.attiny25at1=ATtiny25 @ 1 MHz
tinyx5.menu.cpu.attiny25at1.upload.tool=arduino:arduinoisp
tinyx5.menu.cpu.attiny25at1.upload.maximum_size=2048
tinyx5.menu.cpu.attiny25at1.upload.maximum_data_size=128
# Default clock (slowly rising power; long delay to clock; 8 MHz internal)
# Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms; [CKSEL=0010 SUT=10]; default value
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
tinyx5.menu.cpu.attiny25at1.bootloader.low_fuses=0x62
tinyx5.menu.cpu.attiny25at1.bootloader.high_fuses=0xD7
tinyx5.menu.cpu.attiny25at1.bootloader.extended_fuses=0xFF
tinyx5.menu.cpu.attiny25at1.bootloader.path=empty
tinyx5.menu.cpu.attiny25at1.bootloader.file=empty25at1.hex
tinyx5.menu.cpu.attiny25at1.build.mcu=attiny25
tinyx5.menu.cpu.attiny25at1.build.f_cpu=1000000L
tinyx5.menu.cpu.attiny25at1.build.core=tiny
###########################################################################
tinyx313.name=ATtiny x313
tinyx313.bootloader.unlock_bits=0xFF
tinyx313.bootloader.lock_bits=0xFF
tinyx313.bootloader.tool=avrdude
tinyx313.build.board=AVR_TINYX313
tinyx313.menu.cpu.attiny4313at8=ATtiny4313 @ 8 MHz
tinyx313.menu.cpu.attiny4313at8.upload.tool=arduino:arduinoisp
tinyx313.menu.cpu.attiny4313at8.upload.maximum_size=4096
tinyx313.menu.cpu.attiny4313at8.upload.maximum_data_size=256
# Default clock (slowly rising power; long delay to clock; 8 MHz internal)
# Int. RC Osc. 8 MHz; Start-up time: 14 CK + 65 ms; [CKSEL=0100 SUT=10]; default value
# Brown-out detection disabled; [BODLEVEL=111]
# Serial program downloading (SPI) enabled; [SPIEN=0]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
tinyx313.menu.cpu.attiny4313at8.bootloader.low_fuses=0xE4
tinyx313.menu.cpu.attiny4313at8.bootloader.high_fuses=0x9F
tinyx313.menu.cpu.attiny4313at8.bootloader.extended_fuses=0xFF
tinyx313.menu.cpu.attiny4313at8.bootloader.path=empty
tinyx313.menu.cpu.attiny4313at8.bootloader.file=empty4313at8.hex
tinyx313.menu.cpu.attiny4313at8.build.mcu=attiny4313
tinyx313.menu.cpu.attiny4313at8.build.f_cpu=8000000L
tinyx313.menu.cpu.attiny4313at8.build.core=tiny
###########################################################################
tinyx313.menu.cpu.attiny4313at1=ATtiny4313 @ 1 MHz
tinyx313.menu.cpu.attiny4313at1.upload.tool=arduino:arduinoisp
tinyx313.menu.cpu.attiny4313at1.upload.maximum_size=4096
tinyx313.menu.cpu.attiny4313at1.upload.maximum_data_size=256
# Default clock (slowly rising power; long delay to clock; 8 MHz internal; divide clock by 8)
# Int. RC Osc. 8 MHz; Start-up time: 14 CK + 65 ms; [CKSEL=0100 SUT=10]; default value
# Divide clock by 8 internally; [CKDIV8=0]
# Brown-out detection disabled; [BODLEVEL=111]
# Serial program downloading (SPI) enabled; [SPIEN=0]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
tinyx313.menu.cpu.attiny4313at1.bootloader.low_fuses=0x64
tinyx313.menu.cpu.attiny4313at1.bootloader.high_fuses=0x9F
tinyx313.menu.cpu.attiny4313at1.bootloader.extended_fuses=0xFF
tinyx313.menu.cpu.attiny4313at1.bootloader.path=empty
tinyx313.menu.cpu.attiny4313at1.bootloader.file=empty4313at1.hex
tinyx313.menu.cpu.attiny4313at1.build.mcu=attiny4313
tinyx313.menu.cpu.attiny4313at1.build.f_cpu=1000000L
tinyx313.menu.cpu.attiny4313at1.build.core=tiny
###########################################################################
tinyx313.menu.cpu.attiny2313at8=ATtiny2313 @ 8 MHz
tinyx313.menu.cpu.attiny2313at8.upload.tool=arduino:arduinoisp
tinyx313.menu.cpu.attiny2313at8.upload.maximum_size=2048
tinyx313.menu.cpu.attiny2313at8.upload.maximum_data_size=128
# Default clock (slowly rising power; long delay to clock; 8 MHz internal)
# Int. RC Osc. 8 MHz; Start-up time: 14 CK + 65 ms; [CKSEL=0100 SUT=10]; default value
# Brown-out detection disabled; [BODLEVEL=111]
# Serial program downloading (SPI) enabled; [SPIEN=0]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
tinyx313.menu.cpu.attiny2313at8.bootloader.low_fuses=0xE4
tinyx313.menu.cpu.attiny2313at8.bootloader.high_fuses=0x9F
tinyx313.menu.cpu.attiny2313at8.bootloader.extended_fuses=0xFF
tinyx313.menu.cpu.attiny2313at8.bootloader.path=empty
tinyx313.menu.cpu.attiny2313at8.bootloader.file=empty2313at8.hex
tinyx313.menu.cpu.attiny2313at8.build.mcu=attiny2313
tinyx313.menu.cpu.attiny2313at8.build.f_cpu=8000000L
tinyx313.menu.cpu.attiny2313at8.build.core=tiny
###########################################################################
tinyx313.menu.cpu.attiny2313at1=ATtiny2313 @ 1 MHz
tinyx313.menu.cpu.attiny2313at1.upload.tool=arduino:arduinoisp
tinyx313.menu.cpu.attiny2313at1.upload.maximum_size=2048
tinyx313.menu.cpu.attiny2313at1.upload.maximum_data_size=128
# Default clock (slowly rising power; long delay to clock; 8 MHz internal; divide clock by 8)
# Int. RC Osc. 8 MHz; Start-up time: 14 CK + 65 ms; [CKSEL=0100 SUT=10]; default value
# Divide clock by 8 internally; [CKDIV8=0]
# Brown-out detection disabled; [BODLEVEL=111]
# Serial program downloading (SPI) enabled; [SPIEN=0]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
tinyx313.menu.cpu.attiny2313at1.bootloader.low_fuses=0x64
tinyx313.menu.cpu.attiny2313at1.bootloader.high_fuses=0x9F
tinyx313.menu.cpu.attiny2313at1.bootloader.extended_fuses=0xFF
tinyx313.menu.cpu.attiny2313at1.bootloader.path=empty
tinyx313.menu.cpu.attiny2313at1.bootloader.file=empty2313at1.hex
tinyx313.menu.cpu.attiny2313at1.build.mcu=attiny2313
tinyx313.menu.cpu.attiny2313at1.build.f_cpu=1000000L
tinyx313.menu.cpu.attiny2313at1.build.core=tiny
###########################################################################
###########################################################################
attiny85.name=Optiboot ATtiny85 @ 8 MHz (internal osc)
attiny85.upload.protocol=arduino
attiny85.upload.speed=9600
#bootloader takes up last 10 pages, so there is a limit on the max size.
attiny85.upload.maximum_size=7616
attiny85.upload.maximum_data_size=512
attiny85.bootloader.tool=avrdude
attiny85.bootloader.low_fuses=0xE2
attiny85.bootloader.high_fuses=0xD7
attiny85.bootloader.extended_fuses=0xFE
attiny85.bootloader.unlock_bits=0xFF
attiny85.bootloader.lock_bits=0xFF
attiny85.bootloader.file=optiboot
attiny85.bootloader.file=optiboot_attiny85.hex
attiny85.build.mcu=attiny85
attiny85.build.f_cpu=8000000L
attiny85.build.core=tiny
attiny85.build.variant=tinyX5
attiny85.build.board=AVR_TINY85
###########################################################################
# Arduino AVR Core and platform.
# ------------------------------
# For more info:
# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification
name=Arduino AVR Boards
version=1.5.6
# AVR compile variables
# ---------------------
# Default "compiler.path" is correct, change only if you want to overidde the initial value
compiler.path={runtime.ide.path}/hardware/tools/avr/bin/
compiler.c.cmd=avr-gcc
compiler.c.flags=-c -g -Os -w -ffunction-sections -fdata-sections -MMD
# -w flag added to avoid printing a wrong warning http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59396
# This is fixed in gcc 4.8.3 and will be removed as soon as we update the toolchain
compiler.c.elf.flags=-w -Os -Wl,--gc-sections
compiler.c.elf.cmd=avr-gcc
compiler.S.flags=-c -g -x assembler-with-cpp
compiler.cpp.cmd=avr-g++
compiler.cpp.flags=-c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD
compiler.ar.cmd=avr-ar
compiler.ar.flags=rcs
compiler.objcopy.cmd=avr-objcopy
compiler.objcopy.eep.flags=-O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0
compiler.elf2hex.flags=-O ihex -R .eeprom
compiler.elf2hex.cmd=avr-objcopy
compiler.ldflags=
compiler.size.cmd=avr-size
# This can be overriden in boards.txt
build.extra_flags=
# These can be overridden in platform.local.txt
compiler.c.extra_flags=
compiler.c.elf.extra_flags=
compiler.S.extra_flags=
compiler.cpp.extra_flags=
compiler.ar.extra_flags=
compiler.objcopy.eep.extra_flags=
compiler.elf2hex.extra_flags=
# AVR compile patterns
# --------------------
## Compile c files
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
## Compile c++ files
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
## Compile S files
recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.S.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.S.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
## Create archives
recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/{archive_file}" "{object_file}"
## Combine gc-sections, archives, and objects
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mmcu={build.mcu} {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" {object_files} "{build.path}/{archive_file}" "-L{build.path}" -lm
## Create eeprom
recipe.objcopy.eep.pattern="{compiler.path}{compiler.objcopy.cmd}" {compiler.objcopy.eep.flags} {compiler.objcopy.eep.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.eep"
## Create hex
recipe.objcopy.hex.pattern="{compiler.path}{compiler.elf2hex.cmd}" {compiler.elf2hex.flags} {compiler.elf2hex.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.hex"
## Compute size
recipe.size.pattern="{compiler.path}{compiler.size.cmd}" -A "{build.path}/{build.project_name}.elf"
recipe.size.regex=^(?:.text|.data|.bootloader)\s+([0-9]+).*
recipe.size.regex.data=^(?:.data|.bss|.noinit)\s+([0-9]+).*
recipe.size.regex.eeprom=^(?:.eeprom)\s+([0-9]+).*
# AVR Uploader/Programmers tools
# ------------------------------
tools.avrdude.cmd.path={runtime.ide.path}/hardware/tools/avr/bin/avrdude
tools.avrdude.config.path={runtime.ide.path}/hardware/tools/avr/etc/avrdude.conf
tools.avrdude.upload.params.verbose=-v -v -v -v
tools.avrdude.upload.params.quiet=-q -q
tools.avrdude.upload.pattern="{cmd.path}" "-C{config.path}" {upload.verbose} -p{build.mcu} -c{upload.protocol} -P{serial.port} -b{upload.speed} -D "-Uflash:w:{build.path}/{build.project_name}.hex:i"
tools.avrdude.program.params.verbose=-v -v -v -v
tools.avrdude.program.params.quiet=-q -q
tools.avrdude.program.pattern="{cmd.path}" "-C{config.path}" {program.verbose} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{build.path}/{build.project_name}.hex:i"
tools.avrdude.erase.params.verbose=-v -v -v -v
tools.avrdude.erase.params.quiet=-q -q
tools.avrdude.erase.pattern="{cmd.path}" "-C{config.path}" {erase.verbose} -p{build.mcu} -c{protocol} {program.extra_params} -e -Ulock:w:{bootloader.unlock_bits}:m -Uefuse:w:{bootloader.extended_fuses}:m -Uhfuse:w:{bootloader.high_fuses}:m -Ulfuse:w:{bootloader.low_fuses}:m
tools.avrdude.bootloader.params.verbose=-v -v -v -v
tools.avrdude.bootloader.params.quiet=-q -q
tools.avrdude.bootloader.pattern="{cmd.path}" "-C{config.path}" {bootloader.verbose} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{runtime.platform.path}/bootloaders/{bootloader.path}/{bootloader.file}:i" -Ulock:w:{bootloader.lock_bits}:m
# USB Default Flags
# Default blank usb manufacturer will be filled it at compile time
# \- from numeric vendor ID, set to Unknown otherwise
build.usb_manufacturer=
build.usb_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid} '-DUSB_MANUFACTURER={build.usb_manufacturer}' '-DUSB_PRODUCT={build.usb_product}'
###########################################################################
#
# Example boards.txt from...
#
# http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1236434254/94#94
# http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1274754985/6#6
# http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1274820597/49#49
#
###########################################################################
attiny84at16.name=ATtiny84 @ 16 MHz (external crystal; 4.3 V BOD)
attiny84at16.upload.tool=arduino:arduinoisp
attiny84at16.upload.maximum_size=8192
attiny84at16.upload.maximum_data_size=512
# Frequency 8.0- MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms; [CKSEL=1111 SUT=11]
# Brown-out detection level at VCC=4.3 V; [BODLEVEL=100]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
# Serial program downloading (SPI) enabled; [SPIEN=0]
attiny84at16.bootloader.low_fuses=0xFF
attiny84at16.bootloader.high_fuses=0xD4
attiny84at16.bootloader.extended_fuses=0xFF
attiny84at16.bootloader.path=empty
attiny84at16.bootloader.file=empty84at16.hex
attiny84at16.bootloader.tool=arduino:avrdude
attiny84at16.build.mcu=attiny84
attiny84at16.build.f_cpu=16000000L
attiny84at16.build.core=tiny
###########################################################################
attiny84at8.name=ATtiny84 @ 8 MHz (internal oscillator; BOD disabled)
attiny84at8.upload.tool=arduino:arduinoisp
attiny84at8.upload.maximum_size=8192
attiny84at8.upload.maximum_data_size=512
# Default clock (slowly rising power; long delay to clock; 8 MHz internal)
# Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms; [CKSEL=0010 SUT=10]; default value
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
attiny84at8.bootloader.low_fuses=0xE2
attiny84at8.bootloader.high_fuses=0xD7
attiny84at8.bootloader.extended_fuses=0xFF
attiny84at8.bootloader.path=empty
attiny84at8.bootloader.file=empty84at8.hex
attiny84at8.bootloader.tool=arduino:avrdude
attiny84at8.build.mcu=attiny84
attiny84at8.build.f_cpu=8000000L
attiny84at8.build.core=tiny
###########################################################################
attiny84at1.name=ATtiny84 @ 1 MHz (internal oscillator; BOD disabled)
attiny84at1.upload.tool=arduino:arduinoisp
attiny84at1.upload.maximum_size=8192
attiny84at1.upload.maximum_data_size=512
# Default clock (slowly rising power; long delay to clock; 8 MHz internal; divide clock by 8)
# Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms; [CKSEL=0010 SUT=10]; default value
# Divide clock by 8 internally; [CKDIV8=0]
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
attiny84at1.bootloader.low_fuses=0x62
attiny84at1.bootloader.high_fuses=0xD7
attiny84at1.bootloader.extended_fuses=0xFF
attiny84at1.bootloader.path=empty
attiny84at1.bootloader.file=empty84at1.hex
attiny84at1.bootloader.tool=arduino:avrdude
attiny84at1.build.mcu=attiny84
attiny84at1.build.f_cpu=1000000L
attiny84at1.build.core=tiny
###########################################################################
attiny44at8.name=ATtiny44 @ 8 MHz (internal oscillator; BOD disabled)
attiny44at8.upload.tool=arduino:arduinoisp
attiny44at8.upload.maximum_size=4096
attiny44at8.upload.maximum_data_size=256
# Default clock (slowly rising power; long delay to clock; 8 MHz internal)
# Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms; [CKSEL=0010 SUT=10]; default value
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
attiny44at8.bootloader.low_fuses=0xE2
attiny44at8.bootloader.high_fuses=0xD7
attiny44at8.bootloader.extended_fuses=0xFF
attiny44at8.bootloader.path=empty
attiny44at8.bootloader.file=empty44at8.hex
attiny44at8.bootloader.tool=arduino:avrdude
attiny44at8.build.mcu=attiny44
attiny44at8.build.f_cpu=8000000L
attiny44at8.build.core=tiny
###########################################################################
attiny44at1.name=ATtiny44 @ 1 MHz (internal oscillator; BOD disabled)
attiny44at1.upload.tool=arduino:arduinoisp
attiny44at1.upload.maximum_size=4096
attiny44at1.upload.maximum_data_size=256
# Default clock (slowly rising power; long delay to clock; 8 MHz internal; divide clock by 8)
# Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms; [CKSEL=0010 SUT=10]; default value
# Divide clock by 8 internally; [CKDIV8=0]
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
attiny44at1.bootloader.low_fuses=0x62
attiny44at1.bootloader.high_fuses=0xD7
attiny44at1.bootloader.extended_fuses=0xFF
attiny44at1.bootloader.path=empty
attiny44at1.bootloader.file=empty44at1.hex
attiny44at1.bootloader.tool=arduino:avrdude
attiny44at1.build.mcu=attiny44
attiny44at1.build.f_cpu=1000000L
attiny44at1.build.core=tiny
###########################################################################
attiny24at16.name=ATtiny24 @ 16 MHz (external crystal; BOD disabled)
attiny24at16.upload.tool=arduino:arduinoisp
attiny24at16.upload.maximum_size=2048
attiny24at16.upload.maximum_data_size=128
# Ext. Crystal Osc.; Frequency 8.0- MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms; [CKSEL=1111 SUT=11]
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
# Serial program downloading (SPI) enabled; [SPIEN=0]
attiny24at16.bootloader.low_fuses=0xFF
attiny24at16.bootloader.high_fuses=0xD7
attiny24at16.bootloader.extended_fuses=0xFF
attiny24at16.bootloader.path=empty
attiny24at16.bootloader.file=empty24at16.hex
attiny24at16.bootloader.tool=arduino:avrdude
attiny24at16.build.mcu=attiny24
attiny24at16.build.f_cpu=16000000L
attiny24at16.build.core=tiny
###########################################################################
attiny85at16e.name=ATtiny85 @ 16 MHz (external crystal; 4.3 V BOD)
attiny85at16e.upload.tool=arduino:arduinoisp
attiny85at16e.upload.maximum_size=8192
attiny85at16e.upload.maximum_data_size=512
# Ext. Crystal Osc.; Frequency 8.0- MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms; [CKSEL=1111 SUT=11]
# Brown-out detection level at VCC=4.3 V; [BODLEVEL=100]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
# Serial program downloading (SPI) enabled; [SPIEN=0]
attiny85at16e.bootloader.low_fuses=0xFF
attiny85at16e.bootloader.high_fuses=0xD4
attiny85at16e.bootloader.extended_fuses=0xFF
attiny85at16e.bootloader.path=empty
attiny85at16e.bootloader.file=empty85at16.hex
attiny85at16e.bootloader.tool=arduino:avrdude
attiny85at16e.build.mcu=attiny85
attiny85at16e.build.f_cpu=16000000L
attiny85at16e.build.core=tiny
###########################################################################
attiny85at16p.name=ATtiny85 @ 16 MHz (internal PLL; 4.3 V BOD)
attiny85at16p.upload.tool=arduino:arduinoisp
attiny85at16p.upload.maximum_size=8192
attiny85at16p.upload.maximum_data_size=512
# PLL Clock; Start-up time PWRDWN/RESET: 1K CK/14 CK + 4 ms; [CKSEL=0001 SUT=00]
# Brown-out detection level at VCC=4.3 V; [BODLEVEL=100]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
# Serial program downloading (SPI) enabled; [SPIEN=0]
attiny85at16p.bootloader.low_fuses=0xC1
attiny85at16p.bootloader.high_fuses=0xD4
attiny85at16p.bootloader.extended_fuses=0xFF
attiny85at16p.bootloader.path=empty
attiny85at16p.bootloader.file=empty85at16.hex
attiny85at16p.bootloader.tool=arduino:avrdude
attiny85at16p.build.mcu=attiny85
attiny85at16p.build.f_cpu=16000000L
attiny85at16p.build.core=tiny
###########################################################################
attiny85at8.name=ATtiny85 @ 8 MHz (internal oscillator; BOD disabled)
attiny85at8.upload.tool=arduino:arduinoisp
attiny85at8.upload.maximum_size=8192
attiny85at8.upload.maximum_data_size=512
# Default clock (slowly rising power; long delay to clock; 8 MHz internal)
# Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms; [CKSEL=0010 SUT=10]; default value
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
attiny85at8.bootloader.low_fuses=0xE2
attiny85at8.bootloader.high_fuses=0xD7
attiny85at8.bootloader.extended_fuses=0xFF
attiny85at8.bootloader.path=empty
attiny85at8.bootloader.file=empty85at8.hex
attiny85at8.bootloader.tool=arduino:avrdude
attiny85at8.build.mcu=attiny85
attiny85at8.build.f_cpu=8000000L
attiny85at8.build.core=tiny
###########################################################################
attiny85at1.name=ATtiny85 @ 1 MHz (internal oscillator; BOD disabled)
attiny85at1.upload.tool=arduino:arduinoisp
attiny85at1.upload.maximum_size=8192
attiny85at1.upload.maximum_data_size=512
# Default clock (slowly rising power; long delay to clock; 8 MHz internal; divide clock by 8)
# Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms; [CKSEL=0010 SUT=10]; default value
# Divide clock by 8 internally; [CKDIV8=0]
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
attiny85at1.bootloader.low_fuses=0x62
attiny85at1.bootloader.high_fuses=0xD7
attiny85at1.bootloader.extended_fuses=0xFF
attiny85at1.bootloader.path=empty
attiny85at1.bootloader.file=empty85at1.hex
attiny85at1.bootloader.tool=arduino:avrdude
attiny85at1.build.mcu=attiny85
attiny85at1.build.f_cpu=1000000L
attiny85at1.build.core=tiny
###########################################################################
attiny45at8.name=ATtiny45 @ 8 MHz
attiny45at8.upload.tool=arduino:arduinoisp
attiny45at8.upload.maximum_size=4096
attiny45at8.upload.maximum_data_size=256
# Default clock (slowly rising power; long delay to clock; 8 MHz internal)
# Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms; [CKSEL=0010 SUT=10]; default value
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
attiny45at8.bootloader.low_fuses=0xE2
attiny45at8.bootloader.high_fuses=0xD7
attiny45at8.bootloader.extended_fuses=0xFF
attiny45at8.bootloader.path=empty
attiny45at8.bootloader.file=empty45at8.hex
attiny45at8.bootloader.tool=arduino:avrdude
attiny45at8.build.mcu=attiny45
attiny45at8.build.f_cpu=8000000L
attiny45at8.build.core=tiny
###########################################################################
attiny45at1.name=ATtiny45 @ 1 MHz
attiny45at1.upload.tool=arduino:arduinoisp
attiny45at1.upload.maximum_size=4096
attiny45at1.upload.maximum_data_size=256
# Default clock (slowly rising power; long delay to clock; 8 MHz internal; divide clock by 8)
# Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms; [CKSEL=0010 SUT=10]; default value
# Divide clock by 8 internally; [CKDIV8=0]
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
attiny45at1.bootloader.low_fuses=0x62
attiny45at1.bootloader.high_fuses=0xD7
attiny45at1.bootloader.extended_fuses=0xFF
attiny45at1.bootloader.path=empty
attiny45at1.bootloader.file=empty45at1.hex
attiny45at1.bootloader.tool=arduino:avrdude
attiny45at1.build.mcu=attiny45
attiny45at1.build.f_cpu=1000000L
attiny45at1.build.core=tiny
###########################################################################
attiny85at128.name=ATtiny85 @ 128 KHz (watchdog oscillator; 1.8 V BOD)
attiny85at128.upload.tool=arduino:arduinoisp
attiny85at128.upload.maximum_size=8192
attiny85at128.upload.maximum_data_size=512
# WD. Osc. 128 kHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 0 ms; [CKSEL=0100 SUT=00]
# Brown-out detection level at VCC=1.8 V; [BODLEVEL=110]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
# Serial program downloading (SPI) enabled; [SPIEN=0]
attiny85at128.bootloader.low_fuses=0xC4
attiny85at128.bootloader.high_fuses=0xD6
attiny85at128.bootloader.extended_fuses=0xFF
attiny85at128.bootloader.path=empty
attiny85at128.bootloader.file=empty85at1.hex
attiny85at128.bootloader.tool=arduino:avrdude
attiny85at128.build.mcu=attiny85
attiny85at128.build.f_cpu=128000L
attiny85at128.build.core=tiny
###########################################################################
attiny25at8.name=ATtiny25 @ 8 MHz
attiny25at8.upload.tool=arduino:arduinoisp
attiny25at8.upload.maximum_size=2048
attiny25at8.upload.maximum_data_size=128
# Default clock (slowly rising power; long delay to clock; 8 MHz internal)
# Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms; [CKSEL=0010 SUT=10]; default value
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
attiny25at8.bootloader.low_fuses=0xE2
attiny25at8.bootloader.high_fuses=0xD7
attiny25at8.bootloader.extended_fuses=0xFF
attiny25at8.bootloader.path=empty
attiny25at8.bootloader.file=empty25at8.hex
attiny25at8.bootloader.tool=arduino:avrdude
attiny25at8.build.mcu=attiny25
attiny25at8.build.f_cpu=8000000L
attiny25at8.build.core=tiny
###########################################################################
attiny25at1.name=ATtiny25 @ 1 MHz
attiny25at1.upload.tool=arduino:arduinoisp
attiny25at1.upload.maximum_size=2048
attiny25at1.upload.maximum_data_size=128
# Default clock (slowly rising power; long delay to clock; 8 MHz internal)
# Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms; [CKSEL=0010 SUT=10]; default value
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
attiny25at1.bootloader.low_fuses=0x62
attiny25at1.bootloader.high_fuses=0xD7
attiny25at1.bootloader.extended_fuses=0xFF
attiny25at1.bootloader.path=empty
attiny25at1.bootloader.file=empty25at1.hex
attiny25at1.bootloader.tool=arduino:avrdude
attiny25at1.build.mcu=attiny25
attiny25at1.build.f_cpu=1000000L
attiny25at1.build.core=tiny
###########################################################################
attiny4313at8.name=ATtiny4313 @ 8 MHz
attiny4313at8.upload.tool=arduino:arduinoisp
attiny4313at8.upload.maximum_size=4096
attiny4313at8.upload.maximum_data_size=256
# Default clock (slowly rising power; long delay to clock; 8 MHz internal)
# Int. RC Osc. 8 MHz; Start-up time: 14 CK + 65 ms; [CKSEL=0100 SUT=10]; default value
# Brown-out detection disabled; [BODLEVEL=111]
# Serial program downloading (SPI) enabled; [SPIEN=0]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
attiny4313at8.bootloader.low_fuses=0xE4
attiny4313at8.bootloader.high_fuses=0x9F
attiny4313at8.bootloader.extended_fuses=0xFF
attiny4313at8.bootloader.path=empty
attiny4313at8.bootloader.file=empty4313at8.hex
attiny4313at8.bootloader.tool=arduino:avrdude
attiny4313at8.build.mcu=attiny4313
attiny4313at8.build.f_cpu=8000000L
attiny4313at8.build.core=tiny
###########################################################################
attiny4313at1.name=ATtiny4313 @ 1 MHz
attiny4313at1.upload.tool=arduino:arduinoisp
attiny4313at1.upload.maximum_size=4096
attiny4313at1.upload.maximum_data_size=256
# Default clock (slowly rising power; long delay to clock; 8 MHz internal; divide clock by 8)
# Int. RC Osc. 8 MHz; Start-up time: 14 CK + 65 ms; [CKSEL=0100 SUT=10]; default value
# Divide clock by 8 internally; [CKDIV8=0]
# Brown-out detection disabled; [BODLEVEL=111]
# Serial program downloading (SPI) enabled; [SPIEN=0]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
attiny4313at1.bootloader.low_fuses=0x64
attiny4313at1.bootloader.high_fuses=0x9F
attiny4313at1.bootloader.extended_fuses=0xFF
attiny4313at1.bootloader.path=empty
attiny4313at1.bootloader.file=empty4313at1.hex
attiny4313at1.bootloader.tool=arduino:avrdude
attiny4313at1.build.mcu=attiny4313
attiny4313at1.build.f_cpu=1000000L
attiny4313at1.build.core=tiny
###########################################################################
attiny2313at8.name=ATtiny2313 @ 8 MHz
attiny2313at8.upload.tool=arduino:arduinoisp
attiny2313at8.upload.maximum_size=2048
attiny2313at8.upload.maximum_data_size=128
# Default clock (slowly rising power; long delay to clock; 8 MHz internal)
# Int. RC Osc. 8 MHz; Start-up time: 14 CK + 65 ms; [CKSEL=0100 SUT=10]; default value
# Brown-out detection disabled; [BODLEVEL=111]
# Serial program downloading (SPI) enabled; [SPIEN=0]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
attiny2313at8.bootloader.low_fuses=0xE4
attiny2313at8.bootloader.high_fuses=0x9F
attiny2313at8.bootloader.extended_fuses=0xFF
attiny2313at8.bootloader.path=empty
attiny2313at8.bootloader.file=empty2313at8.hex
attiny2313at8.bootloader.tool=arduino:avrdude
attiny2313at8.build.mcu=attiny2313
attiny2313at8.build.f_cpu=8000000L
attiny2313at8.build.core=tiny
###########################################################################
attiny2313at1.name=ATtiny2313 @ 1 MHz
attiny2313at1.upload.tool=arduino:arduinoisp
attiny2313at1.upload.maximum_size=2048
attiny2313at1.upload.maximum_data_size=128
# Default clock (slowly rising power; long delay to clock; 8 MHz internal; divide clock by 8)
# Int. RC Osc. 8 MHz; Start-up time: 14 CK + 65 ms; [CKSEL=0100 SUT=10]; default value
# Divide clock by 8 internally; [CKDIV8=0]
# Brown-out detection disabled; [BODLEVEL=111]
# Serial program downloading (SPI) enabled; [SPIEN=0]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
attiny2313at1.bootloader.low_fuses=0x64
attiny2313at1.bootloader.high_fuses=0x9F
attiny2313at1.bootloader.extended_fuses=0xFF
attiny2313at1.bootloader.path=empty
attiny2313at1.bootloader.file=empty2313at1.hex
attiny2313at1.bootloader.tool=arduino:avrdude
attiny2313at1.build.mcu=attiny2313
attiny2313at1.build.f_cpu=1000000L
attiny2313at1.build.core=tiny
###########################################################################
The boards file looks OK, to cross check you might want to install: http://highlowtech.org/?p=1695
Stay tuned. Give me another hour for the avrdude.conf
thank you.
What the hell? I just updated the AVR toolchain to 1.6.4 via the boards manager and tested with an ATtiny45 and the highlowtech version of the board definitions. The problem went away. As far as I can see there were no changes related to ATtiny45 (just to 85) in the avrdude.conf. If it goes away for you as well please close - this bug will probably resurface from time to time.
still gives me:
Arduino:1.6.3 (Windows XP), Scheda:"ATtiny, ATtiny85, 1 MHz (internal)"
C:\Documents and
Settings\Giangy_Home\Desktop\PROGETTAZIONE\ArduinoProg\Arduino\hardware\tools\avr/bin/avrdude
-CC:\Documents and
Settings\Giangy_Home\Desktop\PROGETTAZIONE\ArduinoProg\Arduino\hardware\tools\avr/etc/avrdude.conf
-v -v -v -v -pattiny85 -cstk500v1 -PCOM2 -b19200 -e -Uefuse:w:0xff:m
-Uhfuse:w:0xdf:m -Ulfuse:w:0x62:m
avrdude: Version 6.0.1, compiled on Mar 30 2015 at 14:56:06
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "C:\Documents and
Settings\Giangy_Home\Desktop\PROGETTAZIONE\ArduinoProg\Arduino\hardware\tools\avr/etc/avrdude.conf"
avrdude: error at C:\Documents and
Settings\Giangy_Home\Desktop\PROGETTAZIONE\ArduinoProg\Arduino\hardware\tools\avr/etc/avrdude.conf:332:
programmer type must be written as "id_type"
Errore durante la scrittura del bootloader
while trying to write boot to ATtiny85 1MHz internal
where do i find the avr toolchain you are using?
I am using the updated toolchain provided via the boards manager.
Would you try to replace your C:\Documents and Settings\Giangy_Home\Desktop\PROGETTAZIONE\ArduinoProg\Arduino\hardware\tools\avr/etc/avrdude.conf
with this file and test again:
https://gist.github.com/mschlenker/c3ac5c8bb455fc5f98df
BTW: Did you restart Arduino after doing "Tools > Boards > Boards Manager > Update"?
Holy cow.. now it works.. why? you are great...
Thank you...
@glprinamello Replacing C:\Documents and Settings\Giangy_Home\Desktop\PROGETTAZIONE\ArduinoProg\Arduino\hardware\tools\avr/etc/avrdude.conf
did two things: First make sure the config is correct, second add the missing read section.
Da steh ich nun ich armer Tor und bin so klug als wie zuvor.
Maybe the changes on avrdude did trigger some assumptions. I do not know, I probably never will. Please close this bug, it will resurface soon enough. Regarding the old avrdude.conf that was still used this might be another issue when instlled from zip.
Thank you again have a nice day.
Working with arduino board 2009 with new Bootloader and shield for programming ATtiny 44/84 and Attiny25/85
Have problems during programming. Error which appears:
Need Help