View unanswered posts | View active topics It is currently Fri Sep 25, 2020 5:07 pm

Reply to topic  [ 1 post ] 
Upgrading Arduino Mega 2560 bootloader 
Author Message
User avatar

Joined: Sun Nov 15, 2009 5:46 am
Posts: 1523
Post Upgrading Arduino Mega 2560 bootloader
I recently bought a mega 2560. It's a lot of fun building a scrolling LED banner project with it using the Arduino IDE. Then I thought I would try porting the code to RobotC. Reading the "Getting Started" page, it said I need to upgrade the bootloader because the existing bootloader has a bug that it doesn't allow the user program to be flashed to non-zero address. The instructions described two options, one is to get a AVR ISP programmer. The other option is to use another arduino acting as the ISP. Since I also has a Freeduino, I decided to go with option 2. I followed the instructions and made a cable connected the 6-pin header of the mega 2560 to the Freeduino I/O channel 10-13, +5V and GND. Then I downloaded the updated bootloader file (BTW, there was no download option. I had to cut and paste the hex code from screen to a HEX file). Then I replaced the stk500boot_v2_mega2560.hex file with the updated file. I plugged the Freeduino to my laptop via USB, uploaded the ArduinoISP sketch to the Freeduino. Then I selected the Mega 2560 board on the Tools menu and then clicked "Burn bootloader". A message saying burning in progress, please wait. After a couple of minutes, it came back saying verficiation failed.
avrdude: verification error, first mismatch at byte 0x1e000
0xff != 0x0d
avrdude: verification error; content mismatch

I tried this multiple times and it complained the same thing. So the questions are: what went wrong? And how do I know what version of the bootloader is in the mega 2560. It seems after the failure, I am still able to upload my sketch to it and it ran successfully. So the mega2560 is not "bricked". Since it said "verification failed", does it mean the burning of the bootloader was completed but it just did not pass verification check? If so, does it mean I already have the "fixed bootloader"? How do I verify it? Do I need to worry about the verification failure error?

BTW, for RobotC folks, please update your instructions to have more details on using another Arduino as the ISP. It has fairly detail instructions on using the AVR ISP (even screen shots) but there is hardly anything about option 2. I had to guess how it was done. For example, it wasn't clear to me while the Freeduino was connected to the laptop but I had to choose Mega 2560 as my "board". The RobotC documentation was deferring the instructions to the Arduino website but Arduino documentation does not talk about overwriting the bootloader file. So I had to mentally merge the two sets of instructions and judge what instructions to follow in both documents. I think I did the right things but since verification is failing, may be not.

Sun Oct 20, 2013 12:11 am
Display posts from previous:  Sort by  
Reply to topic   [ 1 post ] 

Who is online

Users browsing this forum: No registered users and 2 guests

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.