®
Altera Corporation 1
Using the Jam Language
for ISP & ICR via an
Embedded Processor
November 1998, ver. 3.01 Application Note 88
A-AN-088-03.01
Introduction
In-system programming and in-circuit configuration through an
embedded processor—available in MAX
®
9000, MAX 9000A,
MAX 7000A, MAX 7000AE, MAX 7000S and FLEX
®
10K devices—enables
easy design prototyping, streamlines production, and allows quick and
efficient in-field upgrades. Devices that support in-system
programmability (ISP) and in-circuit reconfigurability (ICR) are easily
upgraded in the field by downloading new configurations using ROM,
FLASH cards, modems, or other data links. Design changes are
downloaded to a system in the field via an embedded processor. The
embedded processor transfers programming data from a memory source
to a device and allows easy design upgrades.
The Jam
™
programming and test language, a new standard file format for
ISP, is designed to support programming of any ISP-capable device that
uses the IEEE Std. 1149.1 Joint Test Action Group (JTAG) interface. You
can download the Jam Player from the Jam web site at
http://www.jamisp.com
. The Jam source code is executed directly by an
interpreter program, without being compiled into binary executable code
(see “Embedded Programming with the Jam Language” on page 4). The
Jam source code, or Jam Byte-Code File (
.jbc
), contains the programming
algorithm and data to upgrade one or more devices.
This application note describes how to use the Jam language to achieve
the benefits of ISP using an embedded processor, including:
■
Embedded system configuration and requirements
■
Embedded programming with the Jam language
1
This application note should be used together with the
Jam
Programming & Test Language Specification
.
Embedded
System
Configuration &
Requirements
To achieve the benefits of ISP or ICR, an embedded system must be able
to program or configure target devices using a small amount of system
memory and it must be flexible enough to adapt to a changing set of
devices from multiple device vendors. The embedded system typically
consists of an embedded processor, EPROM or system memory, and some
interface logic. Programming data is stored in system memory (i.e.,
EPROM or FLASH memory).