|
PART
3: Emulator to the App Test
by George
Martin
Start
• The Program • Real
Mode • Getting An App
Up and Running • Sources
and PDF
In this series of articles
about embedding a 486, I identified a laser light
show as an application suitable for an embedded
486 project. The application continuously outputs
data as fast as possible to a couple D/A converters.
I discussed one DRAM device and AMD’s ELAN processors
and covered many of the issues necessary to develop
an embedded 486 project.
Last time, I left you
with a table of connections that wire the DRAM to
the CPU. I will continue from that point and detail
the emulator, as well as discuss real- versus protected-mode
software development.
EMULATION CHECK
POINT
For emulation, I discussed
an EPROM emulator and identified Grammar Engine’s
PromIce and Paradigm’s PDREMOTE software as good
tools for a low-cost, useful solution. Let’s explore
this solution further.
By using a 29F040 flash-memory
device for the startup (BIOS) code that’s packaged
in a standard 32-pin DIP format, I can use an EPROM
emulator and plug it into the socket that replaces
the BIOS flash device. (By the way, for the purpose
of this discussion, I’ll use the terms flash memory
and EPROM interchangeably.)
If your code is small
enough, an EPROM might be suitable. EPROMs can be
erased with UV light and reprogrammed. The flash-memory
devices are larger, but they need to be electrically
erased before they’re reprogrammed, which ties up
the programmer (see Table 1).
|
|
DRAM
1
|
|
DRAM
3
|
|
|
|
|
|
|
|
DRAM
2
|
|
DRAM
4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bank 0
|
Bank 1
|
|
Buffer
|
|
|
|
|
|
|
|
|
|
|
|
Signal
|
Low
|
High
|
Low
|
High
|
|
|
|
|
MA0
|
17
|
17
|
17
|
17
|
18
|
74LVTH244ADW
|
2
|
|
MA1
|
18
|
18
|
18
|
18
|
16
|
74LVTH244ADW
|
4
|
|
MA2
|
19
|
19
|
19
|
19
|
14
|
74LVTH244ADW
|
6
|
|
MA3
|
20
|
20
|
20
|
20
|
12
|
74LVTH244ADW
|
8
|
|
MA4
|
23
|
23
|
23
|
23
|
9
|
74LVTH244ADW
|
11
|
|
MA5
|
24
|
24
|
24
|
24
|
7
|
74LVTH244ADW
|
13
|
|
MA6
|
25
|
25
|
25
|
25
|
5
|
74LVTH244ADW
|
15
|
|
MA7
|
26
|
26
|
26
|
26
|
3
|
74LVTH244ADW
|
17
|
|
MA8
|
27
|
27
|
27
|
27
|
18
|
74LVTH244ADW
|
2
|
|
MA9
|
28
|
28
|
28
|
28
|
16
|
74LVTH244ADW
|
4
|
|
| Table 1—Here
are the DRAM connections for the Elan SC400.
As you can see, DRAM 1 and 2 share Bank 0,
while DRAM 3 and 4 share Bank 1. |
The BIOS EPROM contains
the reset vectors for the CPU. At power up, the
CPU vectors address the device, fetch the code,
and execute. Your PC has the same sort of device.
Code from the PC BIOS EPROM is copied into the DRAM
for faster execution. The BIOS EPROM typically has
an 8-bit data path and slower access time than the
CPU and DRAM.
Also, if the BIOS EPROM
is a flash-memory device, it’s possible to reprogram
it in the field. But, no matter what the detail
of your particular design, you can have full debugging
access through the 32-pin DIP socket. The PromIce
emulator plugs into the socket used by the BIOS
device.
Before you’re ready
to go, you need to make two extra connections to
the hardware. First, the reset signal from the PromIce
must go to the reset line of your system. The reset
line holds the CPU reset, while PromIce loads the
device contents. Secondly, the write line from the
CPU needs to be connected to the PromIce. PromIce
uses the write line to intercept commands and data
from the CPU.
The PromIce emulator
includes a LoadIce program, which loads or forces
code into the EPROM. Now, let’s work on something
to load.
NEXT
Circuit Cellar provides up-to-date information for
engineers. Visit www.circuitcellar.com
for more information and additional articles.
For subscription information, call (860) 875-2199,
subscribe@circuitcellar.com
or subscribe
online. ©Circuit Cellar, the Magazine for Computer
Applications. Posted with permission. |