Well, it is in two pages but they're contiguous so you don't really have to worry about that most of the time. The first 256k page gets mirrored to address 0 before program execution and then address 0 is used for the stack frame, something like 128 bytes are used for interrupt vectors, I believe address 4 starts the reset vector where it actually begins execution from. The arduino linker script sets FLASH to 0x80000 which is where all 512k live in a single run. If you look at the binary image produced for your sketch you should see that your reset vector is up above address 0x80000. This long story is all to say, it should work fine as the whole 512k is in one chunk and the load properly sets all addresses to be based at 0x80000. But, I have not tried to compile a sketch that large to see what happens. I have a sketch that runs around 180k but that's still a far cry from 256k.
DebugMsg("updating display: |%s|, pStrMainMenu"); // This line outputs a message to a telnet client printf(4, 1, pStrMainMenu); // This line outputs a message to the LCD display
Ray, which IDE do you use ?I use the Eclipse IDE with Arduino plugin by Jantje, I more often then not do a clean and then build, as I have found if I make some small change in one of the header files it doesn't always get picked up, resulting in a incremental compile and effectively no new code compiled.I have seen this many times with , and haven't worried too much about it, just 'Clean' and then 'Build All'.____________Paul VK7KPA