ScanExpress Programmer
In-System Programming
The decreasing cost of programmable devices has caused their
popularity to explode during recent years. However, the wide
variety of available devices and programming methods requires
users to acquire and maintain different types of in-system
programmers specific to each device manufacturer. As a result,
engineers must learn new tools and programming algorithms to
program each device causing an inefficient use of engineering
resources.
ScanExpress Programmer is designed to replace the clutter of
in-system programmers with a single universal programming
solution comprised of a scalable architecture for future
expandability. ScanExpress Programmer is a universal in-circuit
programming tool that can program and verify Flash memories,
serial EEPROMs, CPLDs, FPGAs, and other programmable logic
devices. ScanExpress Programmer provides common programming
functions including read, erase, blank check, program, verify,
device ID check, and others. All of these functions can be
performed while the target device is installed in-circuit. Users
no longer have to maintain different programming tools to
program different parts. ScanExpress Programmer offers users one
common GUI for all supported programmable devices.
ScanExpress Programmer is targeted for users in development,
production, and field environments. For development, software
engineers can quickly change code stored in memory devices
during the software development process. For production,
in-circuit programming allows memory devices to remain on the
shelf in a blank state requiring less inventory management.
These blank devices can then be installed at assembly and
programmed in-circuit, thus reducing programming and tracking
costs. In the field, support engineers and technicians can
upgrade products with newly released firmware. This provides
minimal down-time to customers.
ScanExpress Programmer
ScanExpress Programmer offers four distinct programming methods.
Utilizing Corelis high-performance controllers with built-in
support for JTAG, I2C, and SPI interfaces,
and target assisted programming, ScanExpress
Programmer can program components under the following
individually licensed modules:
JTAG Programming
The JTAG programmer module offers
the most flexibility and can program Flash memory and serial
EEPROM devices which are connected to any boundary-scan
component. The JTAG programmer can also program CPLDs and
similar devices that are JTAG in-system programmable, including
those that are compliant with IEEE-1532.
The illustration below depicts a
block diagram of the JTAG programming interface. The JTAG
programming module uses a special target Flash description board
file and a standard hex or binary data file to program Flash
devices. The Flash Programming Information file (.FPI) maintains
the JTAG scan chain information and Flash device programming
parameters.
The .FPI board files are generated
using a ScanExpress Flash Generator
license. The ScanExpress Flash
Generator user interface is offered as stand-alone
generation program, but is more commonly accessed through
ScanExpress TPG which has a
specialized Flash selection GUI that utilizes a recognized
ScanExpress Flash Generator license. Accessing the Flash
module from ScanExpress TPG
allows users to perform combined JTAG testing along with
in-system programming rather than performing these functions
separately. The .FPI board files are built using the target
netlist, BSDL files, and the built-in Flash library.

ScanExpress Programmer JTAG
In-System Programming

ScanExpress Programmer Modules

ScanExpress Programmer GUI
I2C and SPI Programming
ScanExpress Programmer provides
high-speed programming of I2C and SPI compatible serial EEPROMs
and Flash memories. Users can program devices in-system at
theoretically maximum programming speeds.
The Inter-Integrated Circuit (I2C)
programmer module provides fast programming of I2C memory
devices by controlling the I2C bus signals directly through a
dedicated I2C interface.
The Serial Peripheral Interface (SPI)
programmer module provides fast programming of any SPI memory
device by controlling the SPI bus signals directly through a
dedicated high-speed SPI interface.
The I2C and SPI interfaces allow
erasing, programming, verifying, and reading the content of
serial EEPROM and Flash memory devices. Device contents can also
be dumped to a file on the computer. Standard Motorola S-Record,
Intel Hex, binary, and hex-text file formats are supported. The
read button allows immediate display of data from any user
specified address block within the serial memory device.
Target Assisted Flash Programming (TAFP)
The Target Assisted Flash
Programmer module takes advantage of a JTAG embedded CPU on a
target board to shorten the Flash memory programming time and
simplify the operation of Flash programming. Users can perform
all the standard Flash programming functions such as erase,
blank check, program, verify, obtain device ID, etc, but at real
CPU processing speeds. When programming times are of utmost
importance, TAFP is the solution of choice.
The Target Assisted Flash
Programmer module has the ability to test the JTAG connection,
test the RAM, check the Flash device ID, erase the Flash device,
perform a blank check, download Flash data to RAM, program the
Flash device, and verify the Flash data all with a single mouse
click. The Target Assisted Flash Programmer module relies on
using a supported JTAG compatible CPU device on the target in
order to accomplish the Flash programming operation. Please
contact Corelis for CPU devices currently supported.

ScanExpress Programmer TAFP In-System Programming
In-System JTAG Programming of CPLDs
In addition to its extensive Flash related features, the JTAG
programming module also contains a built-in SVF (Serial Vector
Format) file parser which is capable of executing SVF files
created by manufacturers’ tools to directly program their CPLDs
and FPGAs. The JTAG programming module also contains a JAM and
STAPL language interpreter for executing ISP files of the
vector-independent JAM and Bytecode formats. Devices from all
popular manufacturers are supported including Alliance
Semiconductor, Altera, Atmel, Fairchild, Fujitsu, Hyundai,
Intel, Microchip, Micron, Macronix, Philips, Samsung, Sharp, SGS-Thompson,
Spansion, SST, Texas Instruments, Toshiba, Xicor, and more.
|