I'm porting the Upgrade.ebn file to use an ATMEGA32.
Obviously it isn't an easy task. But anyways, I'm thinking that the only major differences between the 16 and 32 are the interrupt locations and bootloader locations.
I've disassembled a hex file which has both the bootloader and JTAG interface (upgrade.ebn) software on it.
I've also redirected the interrupt vectors. I've also positioned the bootloader start to 0x3800. For the ATMEGA16, I think it is normally positioned at 0x1C00. For the jmps can calls which point to the ATMEGA16 bootloader locations, I've redirected to the corresponding ATMEGA32's locations.
It however still does not want to work. There seem to be some jmps and calls to locations which have no data. Eg. there is a jump to 0x1E00 which I assume could be the start of the bootloader for the ATMEGA16...
I've run out of ideas on how to get this working on the ATMEGA32. Any ideas?
I know that jporter has ported the JTAG ICE firmware to the butterfly. But I'm not sure how I can implement it for the ATMEGA32.
Any help would be appreciated!
Anyhows, I've uploaded the miniice.hex file as well as the disassembled code. If anyone wants to have a look.