Page 157 - Programming Microcontrollers in C
P. 157
142 Chapter 3 What Are Microcontrollers?
implication is that the one hardware engineer in the lab can no longer
be expected to develop the code for such projects. More and more
teams are coming together to develop embedded systems software
today. Such teams almost demand that a coding standard be in place
if the code thus generated is to ever be useful.
Testing
In future chapters we will see many programming examples de
veloped. The code in such examples has been tested and runs on the
microcontroller it was designed for. The hardware interface used to
test these programs has been a series of evaluation boards built by
Motorola. The several different boards used each represent a differ
ent approach to an inexpensive development environment. For the
MC68HC05 family, I used the MC68HC05EVM and
MC68HC05EVS series. The EVM is an evaluation module for many
of the older MC68HC05 family of microcontrollers. This family grew
so large and so many different devices were introduced into the prod
uct line that it was impossible for a single board to provide the
development services needed for the whole family. A new series des
ignated as the EVS family was developed to meet these expanding
needs. The EVS is comprised of a base board with many of the needed
interface components. A daughterboard containing all of the “com
ponent unique” capability of the system is plugged into the base board.
These systems provide excellent development environments. Each
system contains a microcontroller of the type being developed. In the
case of the MC68HC05 family, the on-board components are operat
ing in a special mode called the non-user mode. In the non-user mode,
the device reorganizes its pins to provide an expanded bus operation so
that memory and external control can be used on what is usually a
single-chip microcontroller. For these parts, a special chip is used called
a port replacement unit, or PRU, which is put onto the expanded bus,
and its outputs are exactly the same as what would be seen on the ports
if the chip were operating in the normal mode. With this capability,
RAM can be substituted for internal ROM on the microcontroller and
the software implications of this change are unlimited. For example,
programs can be loaded into the memory at will, memory access
breakpoint can be implemented, the program can be started at any
point, the contents of the memory can be changed, and so forth.