|
ZSP Flash Procedures
Flash memory programming through boundary scan
|
 |
|

|
 |
 |
 |
 |
 |
 |
|
To utilize the Flash procedures listed below, the device must be
connected externally to the ZSP400 using Domain Technologies
ZSP-USB-JTAG emulator and ZViewIDE
.
|
Visit
our electronic
store for both U.S. and International orders.
|
|
Initialization
Procedure
|
|
1
|
Configure the evaluation board for flash programming;
this requires enabling Vpp voltage to the flash device.
-
For EB402, install the JP20 jumper shunt.
-
For EB403, move the dip switch SW2 - position 6 to the
'On' position.
To save the current version of the monitor image,
activate the other half of the flash device:
|
|
2
|
In the IDE, under Options - Open Connection,
initialize the connection to the target ZSP device; use ZSP-USB-JTAG as an
emulator and select ZSP400 as the target device. If the device has a
recognizable JTAG IDCODE, initialization can be done by simply clicking on the
Query button in the "Open connection" dialog. Note, if the connected target
device does not have known JTAG IDCODE to identify it, a configuration file
must be executed via the command window to populate the Target Select field.
|
|
3
|
Verify that the correct BSDL file is associated with the active
target device(s). From within the IDE command window, enter the "JTAG"
command, with no parameters; this will list all devices configured on the
JTAG's boundary scan chain using corresponding BSDL files.
To associate a BSDL file with a specific device, from within the IDE
command window, enter the following command:
JTAG devNum BSDL filename
devNum is a 0 based index counting from
the last device (the last device is the one whose TDO pin is the one connected
to the JTAG emulator connector)
BSDL is a parsing key instructing that following parameter
will be a BSDL file name
fileName is the name of the file describing the
target device
Sample command:
JTAG 0 BSDL zsp402zx.bsdl
|
|
4
|
From within the IDE Command window, assign BSDL signal names to
the pins that control the memory functions of the target memory device. For
flash programming, the following signal parameters/configurations are required:
-
ADDR[width] - for pins controlling flash device address lines. If
the device is not using full address bus to control flash memory, it can be
limited with optional "width" parameter
-
DATA[width] - for pins connected to the data bus of the flash. These
pins need to be bi-directional (see corresponding BSDL file)
-
WRITE - for flash write strobe (can be defined as active low or high
-
READ - for flash read strobe (can be defined as active low or high)
-
CS - flash chip select (can be defined as active low or high)
Note that if the ADDR or DATA bus do not have a "bus" representation
in the BSDL file, then the bus needs to entered as separate signals. For strobe
signal functions, multiple pins can be can be defined and specified to perform
a given function by repeating particular function in the definition.
|
|
5
|
Verify the boundary scan integrity by executing IDCODE command from
within the IDE Command window. This command should return a 32-bit number
matching the 32-bit ID in the BSDL file for this device. If the IDCODE command
returns all 0s, or all 1s, the connection is faulty. For the purposes of
programming an external Flash memory device, an operating clock for the target
device is not required.
|
|
6
|
Initialize boundary scan operations by preloading
(capturing) a valid data pattern into the data buffers using the JTAG
SAMPLE/PRELOAD command, and switching into the EXTEST operation mode
|
|
7
|
From within the IDE Command window, enter the FLASHMOD command to
select the Flash programming mode. There are two predefined modes and one user
mode:
-
0 use mode (default)
-
1 AMD mode (4 accesses per single word write)
-
2 Micron mode (2 accesses per single word write)
|
|
8
|
Verify if the flash device can be accessed by issuing
the FLASHID command. This should return manufacturer and device identification
numbers specific to each flash memory device
|
Back to Top
|
|
|
Displaying
Flash Memory
|
|
Current contents of the flash memory can be displayed
with the command:
FLASHDISPLAY addr#count
Note that you should keep the count to a low value flash is read at
the rate of 40-80 words per second, and the display operation is not
interruptible.
Back to Top
|
|
|
Saving
Flash Memory
|
|
Flash data can be saved into the binary file, with the following
command:
FLASHSAVE addr#count fileName.bin
This operation is interruptible.
Back to Top
|
|
|
Erasing Flash
Memory
|
|
Erase sector to be programmed using the following
command:
FLASHCLEAR sectorAddress
Back to Top
|
|
|
Programming Flash Memory
|
|
To program flash image into the memory device starting
at any address, use the following command:
FLASHLOAD fileName.bin addr
This operation is interruptible
Back to Top
|
|
|
Last Steps for
Proper Operation
|
|
1
|
After Erase and Programming operation, flash device is left in the
last executed command mode, so reading back from the flash device, will return
the last status word. To change back into the "read" mode, the FLASHID command
can be used. Also, the target device is left in the EXTEST mode, so external
reset will not work. To disable the EXTEST mode, IDCODE command can be used to
change the current JTAG state back to RTI.
|
|
2
|
The whole above procedure is available as a single
command file for two ZSP evaluation boards: EB402 and EB403. All necessary
files are available below
|
|
3
|
To use one of the command files, it is necessary only to
open connection to the target device by openning the "Open Connection" dialog,
executing "Query", and accepting detected device. Then from the command window,
enter the name of the command file for the updated evaluation board:
FlashEb402
or
FlashEb403
|
Back to Top
|
|
Home
Products
Support
Downloads
Contacts
e-shop
© 2004, Domain Technologies, Inc., 811 E Plano Pkwy, Suite
115, Plano, TX 75074, Tel. 972-578-1121, Fax: 972-578-1086
E-Mail Us: info@domaintec.com,
http://www.domaintec.com
|