|
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. |