Stu Bell wrote:
> On the other hand, the original "program space data" commands (from
> pgmspace.h) do have a limitation on 64K bytes, _but_ with the newer
> processors they support the ELPM commands that can address all of flash.
> Of course, you then have the problem of generating a pointer to it.  For
> that, I use the GET_FAR_ADDRESS(var) function from the morepgmspace.h
> file by Carlos Lamas -- It may be in avr-libc (he was supposed to
> contribute it), but if not, email me directly and I'll send you a copy.
> It's got the same license as avr-libc.

This brings up an interesting point.  I did see that the *_P functions
require strings in the lower 64K, since they do not use ELPM.  However,
I note the pgm_read_*_far functions are available.  Though it looks like
GET_FAR_ADDRESS would be required to get the address.

My previous projects (work related) used the ImageCraft compiler, and
they have a host of functions, such a cmemcpy, cstrcpy, etc, that are
similar to the *_P functions.  But they also have cmemcpyx, cstrcpyx,
etc, that use ELPM instead.  Is there similar work considered for the
*_P functions?

Pete


_______________________________________________
AVR-GCC-list mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/avr-gcc-list

Reply via email to