Propeller Manual

Table Of Contents
1: Introducing the Propeller Chip
ROM. The 32 KB of Main RAM is general purpose and is the destination of a Propeller
Application either downloaded from a host or uploaded from the external 32 KB EEPROM.
The 32 KB of Main ROM contains all the code and data resources vital to the Propeller chip’s
function: character definitions, log, anti-log and sine tables, and the Boot Loader and Spin
Interpreter. The Main Memory organization is shown in Figure 1-5.
Figure 1-5: Main
Memory Map
Main RAM
The first half of Main Memory is all RAM. This space is used for your program, data,
variables and stack(s); otherwise known as your Propeller Application.
When a program is loaded into the chip, either from a host or from an external EEPROM, this
entire memory space is written. The first 16 locations, $0000 – $000F, hold initialization data
used by the Boot Loader and Interpreter. Your program’s executable code and data will
begin at $0010 and extend for some number of longs. The area after your executable code,
extending to $7FFF, is used as variable and stack space.
There are two values stored in the initialization area that might be of interest to your program:
a long at $0000 contains the initial master clock frequency, in Hertz, and a byte following it
at $0004 contains the initial value written into the CLK register. These two values can be
read/written using their physical addresses (
LONG[$0] and BYTE[$4]) and can be read by using
their predefined names (
CLKFREQ and CLKMODE). If you change the CLK register without using
the
CLOCKSET command, you will also need to update these two locations so that objects which
reference them will have current information.
Propeller Manual v1.1 · Page 31