|
|||||||
![]() |
Forum Index > Projects > Other projects | ||
Arduino ISP Shield 2.0 - Problems burning bootloader w/ Arduino as ISP |
|||
| | | Printable Version |
|
Anonymous: metrogdor22 | ||||||||
|
I have the shield on my Arduino Duemilanove, but without the atmega328 in the ZIF socket. If I have "override autoreset" set to "No Way", it uploads fine. Then i place the atmega328 in the ZIF socket, making sure it's correctly oriented. When I try to Burn Bootloader w/ Arduino as ISP, I get the "resp=0x15" error, meaning I need to switch "override autoreset" to "Yes Please". So I do. Then, if I try to upload the sketch again, I get this error: |
|
||||||||
|
|||||||||
|
Windell | ||||||||
I have the shield on my Arduino Duemilanove, but without the atmega328 in the ZIF socket. If I have "override autoreset" set to "No Way", it uploads fine. When I try to Burn Bootloader w/ Arduino as ISP, I get the "resp=0x15" error, meaning I need to switch "override autoreset" to "Yes Please". So I do. Then, if I try to upload the sketch again, I get this error:
So I put "override autoreset" back on "No Way", and successfully upload the sketch, then put the atmega328 in the ZIF socket. Switch "override autoreset" back to "Yes Please", and when I try to burn the bootloader, I get this error: Windell H. Oskay drwho(at)evilmadscientist.com http://www.evilmadscientist.com/ |
![]() Evil Scientist ![]() Status: offline
Registered: 06/15/06 |
||||||||
|
|||||||||
|
Anonymous: metrogdor22 | ||||||||
|
I'm following the instructions here, under the "...To program the Arduino Bootloader onto an ATmega168/ATmega328": |
|
||||||||
|
|||||||||
|
Windell | ||||||||
By "uploading", I mean uploading the sketch at File>Examples>ArduinoISP to my Arduino Duemilanove, via the Arduino IDE. I'm not using any hardware, besides my laptop, the Arduino, and the shield. Yes, I have the override autoreset set to "No Way", and the sketch uploads fine. Then I put an atmega328 into the ZIF socket on the shield, and lock it in place. Finally, as per the instructions in the link above, I go to Tools> Burn Bootloader> w/ Arduino as ISP. However, the Arduino IDE returns this error:avrdude: stk500_getsync(): not in sync: resp=0x15 In the instructions, it says that this error means override autoreset needs to be set to "Yes Please". That all sounds correct so far. So I switch it, and retry burning the bootloader as above, and I get this error:avrdude: stk500_program_enable(): protocol error, expect=0x14, resp=0x50 avrdude: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check. avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51 I know it says "... or use -F to override this check." But where do I actually enter "-F"? You should not override that check-- if it's throwing that error, then there's very likely actually something wrong (that "double check connections" part), that needs to get fixed. Windell H. Oskay drwho(at)evilmadscientist.com http://www.evilmadscientist.com/ |
![]() Evil Scientist ![]() Status: offline
Registered: 06/15/06 |
||||||||
|
|||||||||
|
Anonymous: metrogdor22 | ||||||||
|
Triple checked all solder joints. Even refreshed some that looked "iffy". I have all of the parts correctly soldered, and in the right places. Except for the 6-pin ISP header. I'm not using it, and none of the pins connect, so it shouldn't really make a difference if it's there or not, should it? |
|
||||||||
|
|||||||||
|
Windell | ||||||||
|
Okay, I'll admit to being a bit stumped here. Windell H. Oskay drwho(at)evilmadscientist.com http://www.evilmadscientist.com/ |
![]() Evil Scientist ![]() Status: offline
Registered: 06/15/06 |
||||||||
|
|||||||||
|
Anonymous: metrogdor22 | ||||||||
|
Thanks for your help. All connections are connecting where they're supposed to, and not where they're not. The capacitors are correct. I tried replacing the oscillator with another 16MHz I had on hand, and still nothing, so I'm thinking that if there's a fixable problem, it's most likely the AVR. I'll Try another one, and post a reply on here with the results for anyone else in my position. |
|
||||||||
|
|||||||||
|
Anonymous: metrogdor22 | ||||||||
|
The new 328 came in, but I'm sorry to say it didn't help. When following the same procedure as above, I now get a new error: |
|
||||||||
|
|||||||||
|
Windell | ||||||||
Since I'm not really getting anywhere, just out of curiosity, where do I actually enter "-F" As part of the avrdude command. BUT, this is a symptom of another problem, not the cause. Skipping that check just means that it's going to foul up later, where it could potentially do more harm. Windell H. Oskay drwho(at)evilmadscientist.com http://www.evilmadscientist.com/ |
![]() Evil Scientist ![]() Status: offline
Registered: 06/15/06 |
||||||||
|
|||||||||
|
Ugi | ||||||||
Quote by: metrogdor22The new 328 came in, but I'm sorry to say it didn't help. When following the same procedure as above, I now get a new error:
![]() ARDUINO USERS PLEASE NOTE: The AVR ATMega328p sits at the heart of the enormously successful and popular Arduino development platform (see the book “Getting Started with Arduino” available in most booksellers and tech shops). However, Arduino Users PLEASE NOTE: What we are selling here is a completely blank AVR Chip, it has no bootloader installed. You can only use this chip in an Arduino board after programming it with a bootloader. You will need an AVR ISP programmer, or a 3rd party AVR programmer such as the Pololu programmer to do this. You may also find the breakout board from Sparkfun useful. You’ll find information about bootloaders and outline instructions on how to burn one into a blank AVR chip on the Arduino website: See “Burning the bootloader” here. The version of the chip we offer here is the -pu version of the chip. To use it with Arduino, you have to “fool” the C compiler and the AVR programmer software (AVRDude) into thinking it is a ATmega328p because this chip returns a slightly different signature code (see below) which makes the AVR-C compiler think it doesn’t know the chip. Here’s one method to make this version of the AVR chip work with Arduino on Windows (using Arduino rev 22, and previous versions). 1) If necessary, modify the “boards.txt” AND “programmers.txt” files in your Arduino installation to make it aware of your ISP programming device. Your programmer vendor should have provided details of how to do this for your programmer board, for an example, see the Pololo website on this subject HERE. 2) Now, when you use your programming environment you should be able to select the board you added in step (1). 3) Use your programming environment as usual, however hold down the SHIFT key at the same time as you hit the “upload” button. This will put Arduino into verbose bode, and it will show you the commands it issues to invoke the Avrdude program. Avrdude is the program which *really* uploads the binary version of your program into your AVR chip. With the AtMega328-PU the upload initiated from Arduino will usually fail, because the signature bytes returned by the chip don’t match the signature from a pico-power version of the chip. (the –pu version of the chip returns signature 1E 95 14 instead of 1E 95 0F which Avrdude is expecting for an Atmega328p). 4) In the Arduino window, scroll all the way up the log text (which is in red). At the top, you will find the complete avrdude command that Arduino used to burn the compiled version of your code into the AVR chip. Select all of this command and copy it into your paste buffer (using CTRL/C once selected) 5) Startup a command window. Paste the avrdude command line into the window by clicking the top left button of the command window, then edit->paste. BEFORE pressing ENTER add the text “ –F “ just after the avrdude command word. This will make the program skip the signature check, and it will continue the programming of the device successfully. There are other ways to make the Arduino software set program the ATMega328-PU (for example upgrading the compiler) but the method above is useful because it does not involve making your Arduino installation non-standard. You can see yet another method HERE. It is possible that future updates of the Arduino software set will make this unnecessary, but as of version 22, it is required.
|
![]() Apprentice Status: offline
Registered: 10/06/11 |
||||||||
|
|||||||||
|
Ugi | ||||||||
|
In case anyone else has this problem (which by odd coincidence I had tonight), this is what I think the problem was and an easy solution: |
![]() Apprentice Status: offline
Registered: 10/06/11 |
||||||||
|
|||||||||
|
osbock | ||||||||
|
I've run into this before. |
![]() Apprentice Status: offline
Registered: 03/02/11 |
||||||||
|
|||||||||
|
Ugi | ||||||||
|
I have to say that I wasn't too worried - this project is running off an ATX power supply, so I have 30 Amps to play with! |
![]() Apprentice Status: offline
Registered: 10/06/11 |
||||||||
|
|||||||||
|
|
| All times are PDT. The time is now 09:21 AM. |
|
|
Octolively
Interactive LED kits
Meggy Jr RGB
LED matrix game
development kit.
Business-card sized
AVR target boards
Peggy 2
LED Pegboard kits