circuitcellar.com
Magazine Support   Digital Library   Products & Services   Suppliers Directory 
 
 





 


Published March 2000

EMBED THIS PC

Lessons from the TrenchesPART 3: Emulator to the App Test
by George Martin

StartThe ProgramReal ModeGetting An App Up and RunningSources 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.