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:


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



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