Memory Address Function
============== ================
| $0000
| $00FF RAM Memory
| $0100
| $0FFF unused
| $1000
| $103F Special Registers
| $1040
| $F7FF unused
| $F800
| $FFFF EEPROM Memory
=================================
Memory Map of the MC68HC11E2 Microprocessor
The memory map is a table of all the memory a 68HC11E2 is able to address
and what function that particular area of memory serves. No external memory
is used on the Miniboard, that is, only on chip memory is used. The
internal memory map of a 6811 chip is 64K bytes large, but very little of
this area is actually usable. Memory locations are addressed by a 4 digit
hexadecimal number ranging from $0000 to $FFFF. Each hexadecimal address
corresponds to one byte (8 bits) of memory. Different areas of the memory
serve different functions and may be dedicated to RAM, special registers,
or EEPROM.
RAM
is used to store variables and stack information during
program execution, there is 256 bytes of RAM in the memory map starting at
$0000 and extending to $00FF. RAM is volatile memory and will be lost every
time there is a power interruption to the microcontroller.
Special registers
are used by the Miniboard to configure and or effect various
systems on the board like ports, timers, interrupts, and the A to D system.
Much of a 6811 programmers task involves reading and writing values from/to
these registers. The special registers exit in the memory map from $1000 to
$103F.
EEPROM
is the area of memory where the program is stored. This area
is 2K bytes and therefore, Miniboard programs may only be 2K bytes in size
(not including space dedicated to variables and constants which live in
RAM). EEPROM is located in the memory map from $F800 to $FFFF. So the
Miniboard programmer must ensure that the first byte of his/her program
loads into memory at $F800 and that the reset vector will point to $F800.
EEPROM is non-volatile, that is, it will be retained in state during power
interruptions regardless of how long the power stays off (however, heavy
current drains, as from a stalled motor, could cause EEPROM memory
corruption). EEPROM may be written to during program execution, but this is
very costly both in terms of time and power consumed from a battery so it
is very seldom done. Most programmers will find that they download a
program into EEPROM and never write to it again thinking of this memory
area as if it were ROM after the download.
ieeecs@hal.elee.calpoly.edu
Back to Table of Contents