>64k in flash

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

I thought I had already crossed the 64k boundary on xmega128, but I was just on the edge. I'm having trouble now that flash code is >64k. I have read that the standard avrlibc _P string functions do not work for >64k, so I removed all calls related to them for testing. Still not working. Are there any special compiler / linker flags required? If you can point me in the right direction, would be appreciated. I am using a bootloader and have not verified that it loads correctly past 64k. I'm off to check that now. Thanks in advance for any (far) pointers. :)

[edit]
verfied that bootloader is working correctly.

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

As far as I recall, GCC attempts to place Flash constants in the lower 64K by default. I have exceeded the 64kB barrier on a Mega1281 with no problem. I did, however suffer from a faulty bootloader that refused to write anything into the 0xf000 to 0xffff region, but this was entirely my own fault, since I had adapted my Mega64 bootloader to cope with the 1281 in an "imperfect" manner!

Four legs good, two legs bad, three legs stable.