I am writing a boot loader for a xmega256a3u and I have constant data with PROGMEM attribute. The linker places it nicely into flash above 0x40000 (byte address) and I am using pgm_read_word_far() which creates code with the ELPM instruction but when I step though the instructions 0x00 is moved into RAMPZ.
What have I missed? Is there a different PROGMEM attribute above 64k? Or maybe none at all?