Help! Corrupted my firmware. How to fix?

More
8 years 5 months ago #1261 by Statik
Hi all,
I'm currently in computer engineering at a Dalhousie University and we use an ATMega644A in our projects. They use a USB loader that programs the microcontroller that I use avrdude in Eclipse to program. I'm also a Linux Mint 18.2 user. I was trying to program another microcontroller I had found and accidentally had my xprotolab-plain also connected at the same time. Now the xprotolab does not function. I have the hex and eep files here but I'm not sure how to proceed./\r\n//\r\n/The command that eclipse ran when both devices were connected was:
Launching /usr/bin/avrdude -p8535 -cavrftdi -Uflash:w:AT90LS8535Test.hex:a /\r\n/Output:/\r\n//\r\n/avrdude: AVR device initialized and ready to accept instructions/\r\n//\r\n/Reading | ################################################## | 100% 0.00s/\r\n//\r\n/avrdude: Device signature = 0x1e9303 (probably 8535)/\r\n/avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed/\r\n/ To disable this feature, specify the -D option./\r\n/avrdude: erasing chip/\r\n/avrdude: reading input file "AT90LS8535Test.hex"/\r\n/avrdude: input file AT90LS8535Test.hex auto detected as Intel Hex/\r\n/avrdude: writing flash (104 bytes):/\r\n//\r\n/Writing | ################################################## | 100% 0.41s/\r\n//\r\n/avrdude: 104 bytes of flash written/\r\n/avrdude: verifying flash memory against AT90LS8535Test.hex:/\r\n/avrdude: load data flash data from input file AT90LS8535Test.hex:/\r\n/avrdude: input file AT90LS8535Test.hex auto detected as Intel Hex/\r\n/avrdude: input file AT90LS8535Test.hex contains 104 bytes/\r\n/avrdude: reading on-chip flash data:/\r\n//\r\n/Reading | ################################################## | 100% 0.10s/\r\n//\r\n/avrdude: verifying .../\r\n/avrdude: 104 bytes of flash verified/\r\n//\r\n/avrdude done.? Thank you./\r\n//\r\n/avrdude finished
?
With the USB cable only connected to the xprotolab-plain, I tried running:
avrdude -px32a4u -cflip2 -U application:w:Xprotolab-Plain.hex:i/\r\n//\r\n/avrdude: Error: No matching USB device found/\r\n/avrdude: AVR device initialized and ready to accept instructions/\r\n//\r\n/Reading |??????????????????????????????????????????????????? | 0% 0.00savrdude: error reading signature data for part "ATxmega32A4U", rc=-1/\r\n/avrdude: error reading signature data, rc=-1/\r\n//\r\n/avrdude done.? Thank you.
So now I'm stuck. Any help appreciated.
?
Statik

Please Log in or Create an account to join the conversation.

More
8 years 4 months ago #1264 by Statik
Hi all,/\r\n/Since there was no reply, I had to go really digging. I did end up fixing the problem. Here's what I did, just for reference for others./\r\n/First, I had to get a PDI capable programmer since I only had ISP capable ones. I ended up ordering the ZeptoProgII from here: www.mattairtech.com/index.php/zeptoprog-ii.html/\r\n/It is compatible with Windows and Linux(which I use)./\r\n/When it arrived, I downloaded the firmware from the website for my xprotolab-plain. I soldered 6 pins into the open port at the end of the xprotolab-plain, with the pins facing the same direction as the interface pins, and connected the ZeptoProgII to the xprotolab-plain using the included 6-pin connector. I followed the trace from the PDI pin on the xprotolab-plain to figure out which pin was pin 1, which is also the pin marked with a square on the silk screening. I then used the following commands:/\r\n/avrdude -c avrisp2 -p x32a4u -U application:w:Xprotolab-Plain.hex:i/\r\n/avrdude -c avrisp2 -p x32a4u -U eep:w:Xprotolab-Plain.eep:i/\r\n//\r\n/And it successfully updated the firmware and I have my Xprotolab-Plain working again!/\r\n//\r\n/Hope this helps anyone else in this situation./\r\n//\r\n/Statik

Please Log in or Create an account to join the conversation.

Time to create page: 0.155 seconds
Powered by Kunena Forum