I've got a product here that uses the ATmega128 chip and it has an application program on it. It also has a serial port. When this product gets shipped to a client, I need to be able to upgrade the software in the flash memory without needing the client to send the entire product back to me. The client needs to do the upgrade via the serial port from the .hex file that I send to him/her. (Currently I'm using the JTAG programmer to initially flash the chip)
Is there any free programs or combination of free tools/utilities that would allow me to do this?
My last resort is to write some code that would sit in the main program, wait for a signal from the serial port and then go into the Boot Loader program where the programming would be done. I don't want to do this because I have no idea how to at the moment. Is there an easier solution?
Any help would be great.