avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] Function Pointers on AT90USB1287 and ATmega2561


From: Peter LaDow
Subject: Re: [avr-gcc-list] Function Pointers on AT90USB1287 and ATmega2561
Date: Fri, 22 Feb 2008 10:08:11 -0800
User-agent: Thunderbird 2.0.0.9 (Windows/20071031)

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]