Pages: [1]   Go Down
Author Topic: Can FUSE programming "lock" the programming access to the ATmega chip?  (Read 769 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Full Member
***
Karma: 1
Posts: 109
... only learning ...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Scenario: I use AVR Studio 4 to upload my final code in customized boards. The reason: I want to get rid of the Arduino bootloader for the final deployment in order to save Flash space and to avoid the delay at the boot.

Problem: when I was programming the FUSES of an ATmega1280, I committed a mistake and receive the message "...you will not have access to JTAG...". And I confirmed... After that point I can no more upload program to that chip. Using the same environment, I can upload program to other chips.

Request: I would like to know if there is a way to revert the issue. I tried many options at the AVR Studio, such as "Erase Device" but all the time I receive an error message.

Thanks for any help smiley
Logged

0
Offline Offline
Faraday Member
**
Karma: 13
Posts: 2857
ruggedcircuits.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

What hardware are you using for programming?

If it is a JTAG programmer, you will have to reprogram the part another way, like using the SPI pins and an AVR-ISP programmer (or a high-voltage programmer). AVR-ISP is definitely easier, as long as you have not disabled the reset fuse or the SPI programming fuse.

--
The Flexible MIDI Shield: MIDI IN/OUT, stacking headers, your choice of I/O pins
Logged

0
Offline Offline
Full Member
***
Karma: 1
Posts: 109
... only learning ...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I am using a AVR ICSP clone (Profilic USB-Serial device). I select STK500 platform and a COM port at the Connections window of the AVR Studio.

I never used JTAG... So i do not mind in having lost this functionality for that chip. Actually, I just want to recover my ability to upload code to the chip. If not, I will have to exchange it from its board (a customized one).

I am not sure what were the wrong options of FUSE when i programmed it... I was sleepy...
Logged

SG
Online Online
Sr. Member
****
Karma: 7
Posts: 419
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
High-voltage serial programming (hvsp) is mostly the backup mode on smaller AVRs. An 8-pin AVR package doesn't leave many unique signal combinations to place the AVR into a programming mode. A 12 volt signal, however, is something the AVR should only see during programming and never during normal operation.
http://en.wikipedia.org/wiki/Atmel_AVR
http://support.atmel.no/knowledgebase/avrstudiohelp/mergedProjects/AVRDragon/AVRDragon_HVSP_Description.htm
http://www.radiolocman.com/shem/schematics.html?di=65084
« Last Edit: September 21, 2011, 09:52:11 am by BillHo » Logged

0
Offline Offline
Faraday Member
**
Karma: 13
Posts: 2857
ruggedcircuits.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

OK...so you are using an ISP programmer and not JTAG then. The most common mistake for losing programming ability is setting a clock fuse setting that indicates an external clock, but not providing an external clock.

If that is what you did (can you go back and look at what fuse settings you tried to set?), then you can fix it by temporarily applying an external clock to the XTAL1 pin of the processor. You can either use a real oscillator, or if you have a function generator, just set that to 1 MHz or so and use a 330 ohm resistor (value is not critical) to connect to the XTAL1 pin (make a common ground connection too). Reprogram the fuses with this temporary clock to go back to using an internal clock, then try again.

--
The MegaRAM shield: add 128 kilobytes of external RAM to your Arduino Mega/Mega2560
Logged

Pages: [1]   Go Up
Jump to: