My hard drive kicked the bucket recently, and I don't know if I will be able to recover the data on it by swapping the logic board out, assuming I can even find one which is identical to the original. Among that data was the source code for several boards I sell.
I have several boards I haven't yet sold, which I think I have the latest version of the code on, so if I could pull that off, I could at least continue to sell the boards, even if it might be a while before I could rewrite all the code and release any updates.
I'm using an FTDI board to upload the code to my chips if that is of any help.
I think there is a way to use AVRDude to read from the chip. I'll go see if I can find it again...
Real Men do not take backups. ]:) They just cry quietly in private.
I may have made a backup, but the external sata dock I used to read my primary drive may be what fried it, so I'm afraid to use it to read the drive I might have backed the data up onto. It was working fine before I moved, then I pulled it out of desktop to get the data into my laptop and was only able to read it for a little while before it stopped working completely.
I successfully copied the code off my Atmega chip! It was a pain in the ass, and it took me forever to figure out why avrdude was complaining about a missing DLL (I didn't notice there were drivers on the ISP programmer page that I needed to install.) but I finally got it working and it's actually pretty easy now that I've got everything setup to burn new chips. It even verifies they were burned correctly. I used a resonator instead of a crystal in my setup, which I was afraid might cause problems but everything seems to work fine.
Here are some instructions I wrote for myself in case I forget how to do it:
Purchase poacket AVR programmer:
BE SURE TO INSTALL DRIVERS ON PAGE!
Connect it to the Atmega328P chip on a breadboard like so:
Here is the pin mapping of the chip:
You can skip the breadboard adaptor board and just plug your jumpers directly into the end of the ISP
cable then into the appropriate pins.
You need either a crystal or a resonator attached to the chip. The programmer will provide power.
Here is a page that shows how to attach a resonator:
Install MHV Avr tools:
Launch MHV AVR shell from start menu. A DOS window will appear, and you will be in your root user directory.
Copy moviepke.bin to your root user directory.
Then run this command:
avrdude -p m328p -P usb -c usbtiny -U flash:w:moviepke.bin
To read the flash data off an already programmed chip, you can use this command, which creates the file flash.bin:
avrdude -p m328p -P usb -c usbtiny -U flash:r:flash.bin:r
Other useful links:
Oh, and another thing that concerned me was that the original chips used an older bootloader, while the new ones I picked up use the UNO bootloader. This did not cause any problems either.