This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Questions about trampolines


Michael N. Moran wrote:
Robert Dewar wrote:

Michael N. Moran wrote:

The AVR is a bit more extreme than the Harvard arch you're describing.
The AVR has completely separate address spaces for instructions and
data. Instruction data space cannot be accessed through a data space
pointer. There are separate instructions for accessing instruction
and data space.



But there must be a way to write stuff into the instruction data space, or how would you load code? So you just have to setup an auxiliary stack in code space.


The AVR is an embedded processor, and the instruction space is
is Flash *not* RAM. We're not talking about a system that loads
programs at run-time.

In that case, you have to use function descriptors I think there is no way around this.

These devices typically have a "large" amount of Flash ROM (32K-68K bytes), and a smaller amount of RAM (512-2K bytes). Don't hold me to these numbers, but you get the idea.




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]