atxmega128a1 bootloader -large code won't work

Go To Last Post
2 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi All,
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?

Thanks
Mark

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Mark,

I had a similar problem in the bootloader on a 192A3 unit using PROGMEM. may be you have som of teh same problem.

Here is the answer from Atmel:
Quote

Dear Asle,
Sorry for the delay, i have been able to replicate the issue and i have also confirmed that this is a known issue with tool chain. The implementation of RAMPZ and ELPM or other extended instructions is not available with tool chain and this something that we are implementing as of now.

Best Regards,
Abhishek Jain
Atmel Technical Support Team
Unquote