From c2b3e88787c00476d00ec897d9337d80183d93f8 Mon Sep 17 00:00:00 2001 From: Ronald Date: Mon, 3 Feb 2014 15:35:23 +0000 Subject: [PATCH] Changed 1284p fuse setting for Arduino_1.x.x - Remove the two version of 16mHz. Crystal and resonator use the same fuse setting. Also, Arduino IDE only showed the first one 16Mhz as a board option. - Added 20Mhz board option. Symptoms for incorrect fuse setting: - X axis move in one direction - limit switches fail to trigger - unable to reprogram the device via bootloader - stops working when the reset switch is pressed. - device fails to bootup when power by a slow raise power supply. Solution: - Disabled the jtag - set the correct clock selection bit - set the correct bootloader memory size - enable brown-out setting - enable clock power up delay --- .../hardware/Sanguino/boards.txt | 50 +++++++++---------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/ArduinoAddons/Arduino_1.x.x/hardware/Sanguino/boards.txt b/ArduinoAddons/Arduino_1.x.x/hardware/Sanguino/boards.txt index c1a1f08ab..2bec14eab 100644 --- a/ArduinoAddons/Arduino_1.x.x/hardware/Sanguino/boards.txt +++ b/ArduinoAddons/Arduino_1.x.x/hardware/Sanguino/boards.txt @@ -27,9 +27,9 @@ atmega12848m.upload.protocol=stk500 atmega12848m.upload.maximum_size=131072 atmega12848m.upload.speed=19200 -atmega12848m.bootloader.low_fuses=0xFD -atmega12848m.bootloader.high_fuses=0x9A -atmega12848m.bootloader.extended_fuses=0xFF +atmega1284.bootloader.low_fuses=0xD6 +atmega1284.bootloader.high_fuses=0xDA +atmega1284.bootloader.extended_fuses=0xFD atmega12848m.bootloader.path=atmega atmega12848m.bootloader.file=ATmegaBOOT_168_atmega1284p_8m.hex atmega12848m.bootloader.unlock_bits=0x3F @@ -48,30 +48,8 @@ atmega1284.upload.protocol=stk500 atmega1284.upload.maximum_size=131072 atmega1284.upload.speed=57600 -atmega1284.bootloader.low_fuses=0xFF -atmega1284.bootloader.high_fuses=0x9A -atmega1284.bootloader.extended_fuses=0xFF -atmega1284.bootloader.path=atmega -atmega1284.bootloader.file=ATmegaBOOT_168_atmega1284p.hex -atmega1284.bootloader.unlock_bits=0x3F -atmega1284.bootloader.lock_bits=0x0F - -atmega1284.build.mcu=atmega1284p -atmega1284.build.f_cpu=16000000L -atmega1284.build.core=arduino -atmega1284.build.variant=standard -# - -############################################################## - -atmega1284.name=Sanguino W/ ATmega1284p 16mhz ceramic resonator - -atmega1284.upload.protocol=stk500 -atmega1284.upload.maximum_size=131072 -atmega1284.upload.speed=57600 - atmega1284.bootloader.low_fuses=0xD6 -atmega1284.bootloader.high_fuses=0xDC +atmega1284.bootloader.high_fuses=0xDA atmega1284.bootloader.extended_fuses=0xFD atmega1284.bootloader.path=atmega atmega1284.bootloader.file=ATmegaBOOT_168_atmega1284p.hex @@ -82,4 +60,24 @@ atmega1284.build.mcu=atmega1284p atmega1284.build.f_cpu=16000000L atmega1284.build.core=arduino atmega1284.build.variant=standard +############################################################## + +atmega1284m.name=Sanguino W/ ATmega1284p 20mhz + +atmega1284m.upload.protocol=stk500 +atmega1284m.upload.maximum_size=131072 +atmega1284m.upload.speed=57600 + +atmega1284m.bootloader.low_fuses=0xD6 +atmega1284m.bootloader.high_fuses=0xDA +atmega1284m.bootloader.extended_fuses=0xFD +atmega1284m.bootloader.path=atmega +atmega1284m.bootloader.file=ATmegaBOOT_168_atmega1284p.hex +atmega1284m.bootloader.unlock_bits=0x3F +atmega1284m.bootloader.lock_bits=0x0F + +atmega1284m.build.mcu=atmega1284p +atmega1284m.build.f_cpu=20000000L +atmega1284m.build.core=arduino +atmega1284m.build.variant=standard #