Cyclone For ARM Devices User Manual
Cyclone For ARM Devices User Manual
Cyclone For ARM Devices User Manual
P&E Microcomputer Systems, Inc. reserves the right to make changes without further notice to any products herein to
improve reliability, function, or design. P&E Microcomputer Systems, Inc. does not assume any liability arising out of the
application or use of any product or circuit described herein.
This software and accompanying documentation are protected by United States Copyright law and also by International
Treaty provisions. Any use of this software in violation of copyright law or the terms of this agreement will be prosecuted.
All the software described in this document is copyrighted by P&E Microcomputer Systems, Inc. Copyright notices have
been included in the software.
P&E Microcomputer Systems authorizes you to make archival copies of the software and documentation for the sole
purpose of back-up and protecting your investment from loss. Under no circumstances may you copy this software or
documentation for the purpose of distribution to others. Under no conditions may you remove the copyright notices from
this software or documentation.
This software may be used by one person on as many computers as that person uses, provided that the software is never
used on two computers at the same time. P&E expects that group programming projects making use of this software will
purchase a copy of the software and documentation for each user in the group. Contact P&E for volume discounts and site
licensing agreements.
P&E Microcomputer Systems does not assume any liability for the use of this software beyond the original purchase price
of the software. In no event will P&E Microcomputer Systems be liable for additional damages, including any lost profits,
lost savings or other incidental or consequential damages arising out of the use or inability to use these programs, even if
P&E Microcomputer Systems has been advised of the possibility of such damage.
By using this software, you accept the terms of this agreement.
1 INTRODUCTION ............................................................................................ 1
2 QUICK START GUIDE FOR SAP OPERATION ............................................ 4
3 CYCLONE FOR ARM DEVICES HARDWARE .............................................. 9
3.1 Cyclone for ARM devices Power Supply........................................................ 9
3.2 RS232 Communication .................................................................................. 9
3.3 Ethernet Communication.............................................................................. 10
3.4 USB Communications .................................................................................. 10
3.5 Electromechanical Relays ............................................................................ 11
3.6 Power Connectors........................................................................................ 11
3.7 Jumper Settings ........................................................................................... 12
3.8 Debug Connector Mechanical Drawing........................................................ 12
3.9 20-Pin Debug Connector.............................................................................. 13
3.10 20-Pin Keyed Mini Connector....................................................................... 16
3.11 10-Pin Keyed Mini Connector....................................................................... 18
3.12 JTAG Daisy Chain........................................................................................ 20
3.13 Ribbon Cable................................................................................................ 21
3.14 Target Power Management.......................................................................... 22
3.15 CompactFlash Port....................................................................................... 27
4 CYCLONE LCD MENU................................................................................. 28
4.1 Status Window ............................................................................................. 29
4.2 Main Menu.................................................................................................... 30
5 STAND-ALONE PROGRAMMER CONFIGURATION.................................. 36
5.1 Create A Stand-Alone Programming (SAP) Image ...................................... 36
5.2 Manage Multiple SAP Images ...................................................................... 46
6 STAND-ALONE PROGRAMMER MANUAL CONTROL .............................. 49
6.1 Operation Via Cyclone for ARM devices Buttons......................................... 49
6.2 Operation Via LCD Menu ............................................................................. 51
6.3 Cyclone Battery Pack ................................................................................... 54
7 STAND-ALONE PROGRAMMER AUTOMATED CONTROL....................... 56
7.1 Cyclone Automated Control Package - Overview ........................................ 56
1 INTRODUCTION
The Cyclone for ARM® devices is part of P&E’s line of stand-alone
programming solutions.
The Cyclone for ARM devices is designed to withstand the demands of a
production environment. It is a Stand-Alone Programmer (SAP) that can be
operated manually or used to host automated programming. In manual SAP
mode the unit is operated using buttons and/or the LCD Menu. Host-
controlled SAP mode, for automated programming, is accomplished using
either a command line utility, RS232 protocol, UDP protocol, or the Cyclone
Automated Control DLL.
The following features help make the Cyclone for ARM devices such a
versatile production programming tool:
Figure 3-9: Mini 10-Pin and Mini 20-Pin Keyed Header Dimensions
are as follows:
20-Pin Standard Connector JTAG Mode Pin Assignments
PIN 1 - TVCC NC - PIN 2
PIN 3 - TRST or NC GND - PIN 4
PIN 5 - TDI GND - PIN 6
PIN 7 - TMS GND - PIN 8
PIN 9 - TCK GND - PIN 10
PIN 11 - NC GND - PIN 12
PIN 13 - TDO GND - PIN 14
PIN 15 - RESET GND - PIN 16
PIN 17 - NC GND - PIN 18
PIN 19 - NC GND - PIN 20
The Cyclone for ARM devices also supports SWD Mode. This replaces the
JTAG connection with a clock and single bi-directional data pin.
SWD Mode is selected from the “Communication Mode” drop-down box in the
Cyclone Image Creation Utility:
SWD Mode is selected from the “Communication Mode” drop-down box in the
Cyclone Image Creation Utility:
To access the second, and last device in the chain (TAP #1), use the following
settings:
Figure 3-17: Ribbon Cable Diagram When Looking Into IDC Socket
Figure 3-19: Via Power In and Power Out Jacks of Cyclone for ARM devices
All of the jumpers except Jumper 5 should be left open for this mode, as
shown in Figure 3-20.
Figure 3-20: Jumper Settings for Target Power Connection via Power In and
Power Out Jacks Of Cyclone for ARM devices
3.14.2 Using Cyclone for ARM devices Board Power and Power Out Jack
The target power supply is not needed. The Power Out Jack of the Cyclone
for ARM devices will act as a center positive power supply to the target
system. Figure 3-21 shows the connections.
Figure 3-21: Via Cyclone for ARM devices Board Power and Power Out Jack of
Cyclone for ARM devices
Jumpers 2 and 3 are enabled. Jumpers 1, 4 and 5 are left open, as shown in
Figure 3-22.
Figure 3-22: Jumper Settings for Target Power Connection via Cyclone for ARM
devices Board Power and Power Out Jack of Cyclone for ARM devices
3.14.3 Using Cyclone for ARM devices Board Power and Debug Connector TVCC
The target power supply is not needed. The TVCC pin of the Cyclone for ARM
devices’ debug connector provides the appropriate voltage for corresponding
ARM targets. The Power Out jack of the Cyclone for ARM devices connector
is not needed. Figure 3-23 shows the connections.
Figure 3-23: Via Cyclone for ARM devices Board Power and TVCC of Cyclone for
ARM devices Debug Connector
Figure 3-24: Jumper Settings for Target Power Connection via Cyclone for ARM
devices Board Power and TVCC of Cyclone for ARM devices Debug Connector
Figure 3-25: Using Power IN Jack And Debug Connector TVCC Pin
Figure 3-26: Jumper Settings For Power IN Jack And Debug Connector TVCC Pin
The status window appears when the Cyclone for ARM devices is powered
on. This window lists the following information:
1. Firmware version of the Cyclone.
2. IP address assigned to the Cyclone.
3. Name assigned to the Cyclone.
4. Number of programming images in the Cyclone’s memory.
5. Name of the selected programming image.
6. First serial number associated with the selected image
7. Current status.
8. Results of the last operation performed.
The Main Menu is accessible by pressing the “Menu” button when the status
window is displayed. The Main Menu contains the following selections:
Next, the user should add additional programming functions to complete the
programming script.
The Launch Script Wizard button prompts the user for a programming
module, followed by an S-Record, and creates a default programming script.
The user can then modify the programming sequence as needed.
The Clear Script button will remove all programming commands from the right
panel.
The Move Up and Move Down buttons allow the user to manually re-
sequence the order of the programming commands.
The Remove From List button can be used to remove a selected command
from the right panel.
At this point the image can be saved to a disk or to the Cyclone for ARM
devices device. For more information, please see Section 5.1.8 - Store
Image To Cyclone.
In the Programming Sequence field, the user may specify the algorithm, S-
Record, and operations to be carried out.
Choose Module
Presents a list of available programming files. Each programming file contains
information on how to program a particular module. Usually, the name of the
file indicates what kind of module it relates to.
Specify S-Record
Asks for the name (and/or path) to a file of ARM S-records to be used in
programming or verifying a module. If the file is not found, an error message
is given. The currently-selected file is shown in the S19 file selected window.
The programmer accepts S1, S2, and S3 records. All other file records are
treated as comments. If you do not specify a file-name extension, a default of
.S19 is used. The programmer also supports ELF/Dwarf 2.0 object files.
Your S19 file may contain data for both EEPROM and flash. If you know that
your S19 file contains the correct data, “Ignore S19 Range” may be checked.
This will cause any out of range errors to be ignored.
Erase If Not Blank
This command performs a blank check of the module and erases it if it is not
blank.
Erase Module
If “Erase Module” is specified, the Cyclone for ARM devices will perform an
“Erase Module” on the target device after entering the Monitor Mode or BDM
mode.
Blank Check Module
If “Blank Check Module” is checked, the Cyclone for ARM devices will perform
a “Blank Check Module” on the target device.
Program Bytes
Prompts for a starting address, which must be in the module. You are then
asked to enter in hexadecimal a byte to be programmed into the current
location. Clicking the OK button will automatically advance to the next data
byte location.
Program Words
Prompts for a starting address, which must be in the module. You are then
asked to enter in hexadecimal a word to be programmed into the current
location. Clicking the OK button will automatically advance to the next data
word location.
Program Module
For this command to work, you must have previously selected an S-record
file.
Verify Module
For this command to work, you must have previously selected an S-record
file.
Verify Checksum
This command verifies the module content via a CRC calculation.
Choose Serial File
This command becomes available once a programming algorithm is selected.
It specifies the serial file that holds the serial numbers to be programmed to
the target. Please reference CHAPTER 11 - AUTOMATIC SERIAL NUMBER
MECHANISM for more information about programming serial numbers.
Program Serial Number
This command becomes available once a programming algorithm is selected.
It will instruct the Cyclone for ARM devices to program the serial number to
the target once executed. As with other commands, the serial number will not
be programmed until the SAP operations are carried out. Please reference
The Interface drop-down list allows the user to select one of three Serial,
USB, or Ethernet interfaces. The Port drop-down list allows the user to select
from one of the Cyclones available on that interface. In the case of a Cyclone
present on a different network (i.e., not displayed automatically in the Port
drop-down list), the user may specify its IP address by using the Specify IP
button.
“Store Image to Cyclone” will then store the image on the selected Cyclone.
configuration into a file, which may be used for future reference, e.g.,
comparing the Cyclone for ARM devices contents with the file to see if they
are the same.
Upon opening a selected Cyclone for ARM devices, the user is provided in the
top left panel with a list of the images currently on the unit’s internal memory. If
the CompactFlash license has been activated, a list of images on any
connected CompactFlash card will also be displayed in the bottom left panel.
The panels to the right can be used to add or delete additional images by
using the Add and Remove buttons beneath each panel.
Once the images that you wish to load appear in the panels to the right, you
must press “Commit Changes” to load the Cyclone accordingly. No changes
are made to the Cyclone for ARM devices until the “Commit Changes” button
is pressed.
Note: Any images that are already stored on the Cyclone for ARM devices or
CompactFlash can only be removed by using the corresponding “Remove All
Images...” button.
6.1.3 Example
When the Cyclone for ARM devices is powered up, the Idle LED is turned on.
After the user programs the contents and procedures into the Cyclone for
ARM devices on-board flash, the Cyclone for ARM devices may be used as a
Stand-Alone Programmer. Suppose the user wants to perform the following
instructions for a target device:
1) Erase Module
2) Program Module
3) Verify Module.
When the Start Button is pressed, the “Power” LED will turn on, indicating that
the Cyclone for ARM devices is powering up the target board.
Then the “Idle” LED will turn off.
Finally, if these operations have been performed successfully, the “Success”
LED and the “Idle” LED will be illuminated. One stand-alone programming
cycle will have just been completed.
The status window appears when the Cyclone for ARM devices is powered
on. This window lists the following information:
1. Firmware version of the Cyclone.
2. IP address assigned to the Cyclone.
3. Name assigned to the Cyclone.
4. Number of programming images in the Cyclone’s memory.
5. Name of the selected programming image.
6. First serial number associated with the selected image
7. Current status.
8. Results of the last operation performed.
The Main Menu is accessible by pressing the “Menu” button when the status
window is displayed. The Main Menu contains four selections. This section
contains information on Execute SAP Function and Show Statistics. For
information on Select SAP Image and Configure Cyclone, please refer to
CHAPTER 4 - CYCLONE LCD MENU.
The combination of the Cyclone for ARM devices programmer and the battery
pack creates a fully operational field programming setup that is lightweight,
compact, and extremely portable. All that is required for a field update is to
connect the battery-powered, pre-programmed Cyclone to the target and
initiate programming.
These sample applications come with project and workspaces defined for
ease of use. Simply open the project/workspace in your compiler and you
should be able to build the sample application without any modifications. The
sample applications come pre-compiled with ICONS, so you can run them
before jumping into the code.
8 ETHERNET CONFIGURATION
This section describes the mechanism used by the Cyclone for ARM devices
device to transact data over an Ethernet network. It primarily focuses on the
User Datagram Protocol (UDP), which is a popular method for sending data
over a network when the speed of a data transaction is of more concern than
the guarantee of its delivery. The Cyclone takes advantage of the UDP
protocol’s penchant for speed, and adds an extra layer of logic to guarantee
the delivery of UDP packets in order to offer a best-of-both-worlds solution.
Switches
The aforementioned type of process, where the data is simply
replicated onto every available port, quickly becomes inefficient for
larger sized networks. For this reason, a larger sized LAN employs
the usage of Switches instead of Hubs. A Switch is essentially a smart
Hub, in that it limits the input and output of data to the two transacting
computers.
Routers
Larger networks, such as Wide Area Networks (WANs), or the
Internet for that matter, use progressively more sophisticated devices
to transact data. At the core of these devices is the Router, which
functions as a switch between networks.
The Cyclone performs irrespective of the connection mechanism, with one
very important caveat: it needs to be set up with the appropriate network
parameters for the underlying network architecture.
through a Hub.
not provided by P&E, is normally used to connect two similar devices such as
a PC to a PC, or a Hub to a Hub. It is a cable that has its receive and transmit
wires crossed over so that the similar devices can effectively communicate
with one another.
With this configuration, it is still important to assign IP numbers to both the PC
and the Cyclone device. Although at first glance it may not seem necessary to
assign a Gateway address in this configuration, the Cyclone was designed to
operate on a network of more than two computers, and therefore it needs to
be programmed with a Gateway address.
Assuming the desktop’s IP number to be 192.168.100.1, this is an example of
the three IP numbers that would need to be programmed into the Cyclone:
IP Number Gateway IP Subnet Mask
PC 192.168.100.1 none 255.255.255.0
CYCLONE 192.168.100.2 192.168.100.1 255.255.255.0
For more information on programming these IP numbers into the Cyclone
device, please see the following section.
has been selected through the second drop-down box and is opened for
access, its information will be displayed at the bottom of the dialog box.
(5) Refresh List
Will refresh the dialog boxes by searching for devices which are currently
connected via the Serial or USB interfaces, or are found on the network.
(6) Cyclone IP Number
This is the IP number which will be associated with the Cyclone for ARM
devices. It needs to be a unique IP number which can be accessible on
the network.
(7) Cyclone Device Name
This is a label which can be used to identify the Cyclone for ARM devices
by name, e.g., “John’s Cyclone” or “Manufacturing Floor.”
(8) MAC Address
This is the Media Access Control address, the unique number of an
Ethernet device on the network. This is programmed by P&E and cannot
be modified.
(9) Cyclone Device Type
This displays the type of Cyclone hardware.
(10) Gateway IP Number
The IP number of a gateway on the network.
(11) Subnet Mask
The subnet mask of the network.
(12) Firmware Version
A read-only field which returns information pertaining to the build date and
firmware version of the Cyclone for ARM devices device.
(13) FPGA Version
A read-only field which returns the hardware version of the FPGA.
(14) Program Cyclone Parameters
This button saves the information as it appears in the "Reconfigure IP
Numbers" area onto the Cyclone device.
Each serial number and its properties are stored in a separate file. Any file
name can be used for the serial number file, however the extension .ser is
normally appended because it makes it simpler locate the file.
A utility called SERIALIZE has been developed to make it easy to create,
visualize, edit, and maintain these serial number files.
11.2.7 NEW
Instructs the program to start editing a NEW (as yet un-named) serial number
file. It will throw away the information for any serial number currently being
edited unless that information has been saved (Save Button). The new serial
number is initialized with one (1) byte of binary.
11.2.8 SAVE
Instructs the program to save the current serial number being edited into the
file name and path shown in the Serial Number File window. If a file name has
not been provided, i.e. the window shows None Selected, then an error is
displayed in a red window on the screen. If this happens, type in a filename in
the window and click Save again.
11.2.9 HELP
Opens the Serialize help system (serialize.hlp file, i.e. this file) for perusal.
11.2.10 QUIT
Turns off the Serialize Program and saves any setup information in the file
Serialize.ini. This file will initialize the setup information the next time the
program is started. Xing out of the program (top right of screen) does not save
the setup info.
PRINTABLE
These buttons are used to set the properties of selected (colored yellow)
bytes of the Serial Number. Individual bytes whose properties you wish to
modify are selected or deselected by double-clicking in the Hex Upper
Bounds box in the column that corresponds with the values for a particular
byte.
CM algorithm_file_1
SS object_code_1
EM
PM
VC
CS serial_file1.ser
PS
CS serial_file2.ser
PS
CS serial_file_3.ser
PS
CM algorithm_file_2
SS object_code_2
EM
PM
VC
CS serial_file4.ser
PS
CS serial_file5.ser
PS