I also had an issue with a program bigger than 64K.
But this was on an Atmega2560. The problem was the
programmer didnt write blocks above 64K to the
right place.
Now I also used the Atmega1284P for some smaller
projects. Never used yet more than 64K.
I think your Example is too short to give an idea
where your problem is.

Rolf


Am 25.08.2017 um 11:02 schrieb Bob von Knobloch:
Hi,
I'm rewriting a project I originally had running on a ATMega 644.
Now I need more space, so an ATMega 1284 is my choice.
I need to have a very large amount of constant data in flash (more than fits under the 64k address range). My problem is that I must get the address of some constants in high (above 0x10000) memory and here the 'address of' a char[] does not return the right value.

Example:
I have string constant 'mystring' at address 0x11808 (can see it in the .map and .lst files). Using 'print_func(mystring);', which should print this address, albeit truncated to 16bits, returns '0x1e57'. I cannot see a connection here.
Anyone tried to do similar things?

Regards,

Bob von Knobloch


_______________________________________________
AVR-chat mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/avr-chat

Reply via email to