Questions about trampolines

E. Weddington ericw@evcohs.com
Mon Mar 14 23:44:00 GMT 2005


Michael N. Moran wrote:

> Robert Dewar wrote:
>
>>
>> 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.

Right. These address spaces are totally seperate. There is no way to run 
code in the data space (RAM). One can store some data in the program 
space (Flash), but it requires special instruction sequences to access it.

<http://www.atmel.com/products/avr/>

>
> 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.

Code space (Flash): 8K-256K bytes
Data space (SRAM): 512-8K bytes
Non-volatile EEPROM: 256-4K bytes (typically half of SRAM, also requires 
special instruction sequences to access).

Eric




More information about the Gcc mailing list