I have been working on an ethernet bootloader for an atxmega128a1 based on a few opensource ones I have found. I use the AVR nvm library which comes with avrstudio 5 to write in the new application code.
I can program and then successfully verify any code that will fit on the chip however when I try to jump to the application using either call 0x0000 or jump, a large application will not run. A small application such as an LED flash will run fine. If I program the bootloader and then the large application using avrstudio5 the transition from the bootloader to application happens perfectly. My code is ~ 93352 bytes and I can verify that each byte is correct using a PC application I have written to do the programming.
I have read a little about the ramp registers and have tried to clear rampz but it has not fixed the issue.
I am using the latest version of winavr to compile
Does anyone have any ideas?