as my project on a xmega128a1 has grown and also has a lot of debug messages (sent to minicom) I recently ran into a problem:
As soon as my program gets bigger than 65534 Bytes (0xFFFE Bytes) the program execution fails and the debug output gets messed up. There only appear a lot of "Ã¿" (=0xFF) in minicom.
The output of avr-size is:
avr-size -C --mcu=atxmega128a1 main.elf AVR Memory Usage ---------------- Device: atxmega128a1 Program: 65536 bytes (47.1% Full) (.text + .data + .bootloader) Data: 5033 bytes (61.4% Full) (.data + .bss + .noinit)
I've first checked the XMega A1 data sheet on page 11: There it says the 128A1 has an application section from 0x0000-0xEFFF and an application table section from 0xF000-0xFFFF. However these addresses are words, not bytes.
So after that I've checked the memory window in AVR Studio. The program memory shows program data up to word address 0x7FFF. The rest is empty (0xFF, "Ã¿").
Perhaps I'm missing something obvious here, but I'm stuck for some hours now. Any suggestions? :?