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.
2QUICK START GUIDE FOR SAP OPERATION.......................................................................................11
2.1Installing The Cyclone Software....................................................................................................................11
2.2Setting Up The Cyclone Hardware................................................................................................................11
2.3Creating A Stand-Alone Programming Image ..............................................................................................13
3.5Cyclone System Power.................................................................................................................................20
3.6RS232 Communication (Serial Port).............................................................................................................20
3.14Cyclone Time / Real Time Clock...................................................................................................................22
4.2.2Power provided by the Cyclone to the debug cable....................................................................................................39
4.2.3External Power passed through the Cyclone and out 2.5 mm barrel port...................................................................40
4.2.4External Power passed through the Cyclone to the debug cable................................................................................40
4.2.5Power provided by the Cyclone and out 2.5 mm barrel port.......................................................................................41
5.1.4Error Information Icon..................................................................................................................................................43
5.1.5AUX Button (Appears If Configured)...........................................................................................................................43
6.1.7Communication Mode and Rate Settings....................................................................................................................64
6.1.8Target Voltage and Power Settings.............................................................................................................................64
6.1.12Store Image To Cyclone..............................................................................................................................................67
6.1.13Store Image To Disk....................................................................................................................................................68
6.2Managing Multiple SAP Images....................................................................................................................68
6.2.1Delete Images From Internal/External Memory...........................................................................................................69
Page 5
6.2.2Add/Remove Images From The Commit Change s Panels .........................................................................................69
7.4.1Error Information Icon..................................................................................................................................................73
7.4.2AUX Button (Appears If Configured)...........................................................................................................................73
8CYCLONE PROGRAMMER AUTOMATED CONTROL (CYCLONE CONTROL SUITE) ........................76
8.1Cyclone Control Suite - Overview .................................................................................................................76
8.1.1macOS/Linux Support Notes.......................................................................................................................................76
8.2Cyclone Control SDK ....................................................................................................................................78
8.3Cyclone Control Console...............................................................................................................................96
8.4Cyclone Control GUI ...................................................................................................................................100
8.4.2The Control Tabs.......................................................................................................................................................101
8.4.3The Status and Error Window:..................................................................................................................................107
9.1.2Filename and Additional Command-Line Para meters...............................................................................................109
9.1.3List of Valid Command-Line Parameters...................................................................................................................109
9.2.4Using Command Line Parameters Inside a .CFG File ..............................................................................................118
10.4Connecting The Cyclone Device.................................................................................................................122
10.4.1Connecting the Cyclone to the PC over a network......... ..................................................... ... ...................................122
10.4.2Connecting Cyclone-to-PC via an Ethernet cable.....................................................................................................123
10.5Cyclone IP Setup Via LCD Menu................................................................................................................123
11.2Encrypting/Decrypting a Programming Image.............................................................................................126
11.3What is Encrypted in an eSAP File, and How.............................................................................................126
11.4Managing Encryption For Production Programming ...................................................................................127
11.4.1Provisioning a Cyclone with an ImageKey................................................................................................................127
11.4.2Removing ImageKeys From A Cyclone ....................................................................................................................129
11.4.3Loading and Programming with Encrypted SAP Images..........................................................................................129
11.4.4Encryption Status of SAP Images.............................................................................................................................130
11.5Safer Production That's Easy To Implement...............................................................................................131
12 AUTOMATIC SERIAL NUMBER MECHANISM ....................................................................................132
12.2.1Startup And File Options...........................................................................................................................................133
12.2.2Serial Number File.....................................................................................................................................................134
12.2.4Serial File Name To Display......................................................................................................................................134
12.2.6Number of Bytes in Serial Number............................................................................................................................134
12.2.9Serial Number Bytes as Hex.....................................................................................................................................134
12.2.12Binary, Numeric, Constant, Alpha Upper, Alpha Lower, and Printable .....................................................................135
12.2.13Byte Program Order..................................................................................................................................................135
12.4Serial Number Handling..............................................................................................................................136
12.4.1Invoking A Serial File Via Command-Line.................................................................................................................137
12.5Creating A SAP Image With Multiple Serial Numbers.................................................................................137
12.6Shared Serial Numbers...............................................................................................................................138
13.1How to Install Your License.........................................................................................................................143
14.1My Cyclone Is Non-Responsive, Is There A Way To Re-Activate It?..........................................................148
14.1.1What Is Bootloader Mode?........................................................................................................................................148
14.1.2When Is Bootloader Mode Used?................................................ ... ......................................... .................................148
14.1.3How Is Bootloader Mode Entered?...........................................................................................................................148
14.2I Received A “SAP Image Needs To Be Updated” Error Using A Next-Gen Cyclone, How Do I Update? .148
14.2.1How Do I Use SAP_Convert_Console.exe?.............................................................................................................148
14.3When Trying To Install The CYCLONE Software, A Popup WDREG Error Occurs Telling Me That There Are
Open Devices Using WinDriver...................................................................................................................149
15.1Debug Mode Communication Related Errors......................................................... .... ... ... ... ... .... .................150
15.2SAP Image Handling Related Errors...........................................................................................................150
15.3SAP Communication Handling Related Errors............................................................................................151
15.4SAP Algorithm Header Operation Handling Related Errors........................................................................151
15.5SAP Operation Related Errors....................................................................................................................151
15.6SAP Blank Check Range and Module Related Errors ................................................................................151
15.7SAP Erase Range and Module Related Errors...........................................................................................151
15.8SAP Program Byte, Word, and Module Related Errors...............................................................................151
15.9SAP Verify Checksum Related Errors.........................................................................................................152
15.10SAP Verify Range and Module Related Errors...........................................................................................152
15.11SAP User Function Related Errors..............................................................................................................152
15.12SAP Trim Related Errors.............................................................................................................................152
15.14Operation Security Related Errors ..............................................................................................................153
15.16Serial Number Related Errors.....................................................................................................................154
15.17Download Count Related Errors..................................................................................................................154
16.2Cyclone Control Suite Advanced Features .................................................................................................155
16.3SDHC Port Activation..................................................................................................................................155
PEmicro's Cyclone LC production programmers are powerful, fast, and feature rich in-circuit
programming solutions. PEmicro offers two models which have the same feature set a nd only vary
by the devices supported.
Part# CYCLONE-LC-ARM supports a wide variety of ARM Cortex devices.
Part# CYCLONE-LC-UNIV supports those ARM Cortex devices as well as the following NXP
device families: Kinetis, LPC, S32, MPC55xx-57xx), MPC5xx/8xx, DSC, S12Z, RS08, S08, HC08,
HC(S)12(X), ColdFire. It also supports Infineon’s TriCore
TC3xx) and STMicroelectronics’ SPC5 & STM8 (with STM8 adapter).
Note:PEmicro refreshed Cyclone names and part numbers in July 2019. The part numbers listed on
earlier Cyclones will differ slightly. CYCLONE is now called Cyclone LC, however the hardware
has not changed.
1.1Supported Devices
PART#: CYCLONE-LC-ARM
TM
(AUDOTM TC1xx and AURIXTM TC2xx/
PART#: CYCLONE-LC-UNIV
ARM Cortex Devices
:
Atmel: SAMxxx
Cypress: CCG2, CCG3PA, EZ-BLE-
PSoC-PRoC, EZ-BLE-PSoC6,
FM3 PRoC-BLE, PSoC4,
PSoC5, PSoC6, Traveo II
Figure 1-1: Cyclone LC Device Support by Part Number
Cyclone LC programmers are designed to withstand the demands of a production environment.
They are Stand-Alone Programmers (SAP) that can be operated manually or used to host
automated programming. In manual SAP mode the Cyclone is operated using the touchscreen
LCD Menu and/or the Start button. Host-controlled SAP mode, for automated programming, is
accomplished using the Cyclone Control Suite.
User Manual For Cyclone LC Programmers9
Page 10
1.2Distinguishing Windows-Only And macOS/Linux-Specific Content
Many control and automation features offered by the Cyclone Control Suite are available for
macOS and Linux platforms, in addition to Windo ws. See CHAPTER 8 - CYCLONE PROGRAMMER AUTOMATED CONTROL (CYCLONE CONTROL SUITE). However, some
elements such as Image Creation remain Windows-only.
The matrix below indicates at a high level which Cyclone features are available for each platform:
WindowsmacOSLinux
Cyclone Control GUIxxx
Cyclone Control Consolexxx
Cyclone Control SDKxxx
Image Creation Utilityx
SAP Image Compilerx
Initiate Programming with
Barcode Scanner
Automatic Serial Number
Mechanism
Table A-1. Cyclone Feature Support
In this user manual, information that pertains to the Windows platform only, or is particular to
macOS/Linux, is indicated by the symbols below. Content can be considered to apply to all three
platforms unless otherwise specified.
Windows-only:
macOS:
Linux:
x
x
1.2.1Minimum Required Versions
The following are the minimum versions required for macOS/Linux support.
macOS: 10.13 High Sierra
Linux: 18.04 LTS
1.3Additional Resources
Several sections of this user manual will point the user to related articles that appear on the
PEmicro.com blog. These articles often contain a more detailed exploration of the topic at hand.
They can be browsed in aggregate under the Product Blog tab of the Cyclone LC product page:
pemicro.com/CycloneLC-blog
The Cyclone LC product page also contains a Learning Center tab where important concepts
related to the Cyclone are organized into Experts Corners (in-depth exploration of a topic) and
User Guides (how to accomplish a specific task):
pemicro.com/CycloneLC-learning
User Manual For Cyclone LC Programmers10
Page 11
2QUICK START GUIDE FOR SAP OPERATION
This guide will allow the user to set up and program a simple Stand-Alone Programming (SAP) image
with the Cyclone by completing the following steps.
•Installing the Cyclone software
•Setting up the Cyclone hardware
•Creating a stand-alone programming image
•Launching Cyclone programming
This guide is intended as a supplement to the Cyclone’s User Manual, which contains in-depth
information about the topics covered here and much more.
2.1Installing The Cyclone Software
First, the Cyclone software should be installed on the user’s PC. It can be downloaded from the
Support & Downloads tab on the pemicro.com Cyclone product page, or directly from https://
www.pemicro.com/downloads/download_file.cfm?download_id=481.
For macOS/Linux, download the .TGZ file from the Support & Downloads tab, or directly from https://
www.pemicro.com/downloads/download_file.cfm?download_id=577.
Once the software is downloaded, the user should install it on their PC. If Cyclone software is already
installed on the PC, it is recommended that the old installation be removed before the user installs the
latest software.
2.2Setting Up The Cyclone Hardware
Step 1. Configure Cyclone power settings
The Cyclone has several different power configurations. The label on the bottom of the Cyclone
indicates the appropriate Jumper settings for each. The user should install the Jumpers as indicated
for their desired power configuration.
The Jumpers are located underneath th e Cyclone ’s access panel. They are labeled “Power Jumpers.”
and numbered from 1-4. The Cyclone-LC-ARM is shown in the example below; the jumper location will
be similar for all Cyclone models.
User Manual For Cyclone LC Programmers11
Page 12
If power is provided via the Cyclone, the user may need to configure the programming image
accordingly. Image creation and configuration is discussed in Section 2.3 - Creating A Stand-Alone Programming Image.
For more information on the various power configur ations, the user should refe r to their Cyclone’s User
Manual. There is a also a blog post that covers this topic at: http://www.pemicro.com/blog/
index.cfm?post_id=121
Step 2. Connect Cyclone to a PC (for programming image setup)
The Cyclone programmer should be connected to the PC via USB, Serial, or Ether net. Cables for each
of these options are included with the Cyclone.
Note:An Ethernet connection requires IP setup on the Cyclone unit; please refer to the Cyclone’s User
Manual for more information.
Step 3. Connect Cyclone to target
A ribbon ca ble should be connected from the appropriate Cyclon e header (located under th e Cyclone’s
access panel) to the header for your target device. Ribbon cables are provided with the Cyclone.
User Manual For Cyclone LC Programmers12
Page 13
Step 4. Plug in power to the Cyclone
The provided power supply should be plugged into the System Powe r jack of the Cyclone programmer.
Other power connections should be made according to the power configuration selected in Step 1.
On power-up the user may need to agree to a firmware update on the Cyclone unit.
2.3Creating A Stand-Alone Programming Image
A stand-alone programming (SAP) image is the result of pre-processing the programming algorithms,
data to be programmed, programming options, and scripted programming commands. These are
combined into a single encrypted file. This SAP image can then be loaded onto the Cyclone a nd used
to program, without need for the Cyclone to be connected to a PC.
The Cyclone Image Creation Utility, shown below, allows the user to configure and save SAP images.
A simple programming image can be created in 6 steps:
Step 1. Run Cyclone Image Creation Utility
Step 2. Select Device Manufacturer & Device
Step 3. Set Up Programming Sequence
Step 4. Add Basic Programming Commands
Step 5. Configure Additi onal Settings
Step 6. Save SAP Image To Cyclone
User Manual For Cyclone LC Programmers13
Page 14
The following instructions walk the user through each of these steps:
Step 1. Run Cyclone Image Creation Utility
CreateImage.exe is in the “ImageCreation” folder, in the location where the Cyclone software was
installed. For an in-depth description of the Cyclone Image Creation Utility, see Sectio n 6.1 - Cyc lone
Image Creation Utility.
Step 2. Select Device Manufacturer and Device
Specify CPU Manufacturer and Select New Device are used to choose the manufacturer of the target
device, and then the specific device or architecture.
User Manual For Cyclone LC Programmers14
Page 15
Step 3. Programming Sequence Setup
The user should double-click on CM in the Progra mming Seque nce window to choo se the appropr iate
Algorithm for the target device. They can navigate to the algorithm using the dialog provided.
Based on the algorithm that was selected, additional commands will be made available in the box of
programming commands on the left.
The user should then double-click on the SS command to specify the Object Code.
User Manual For Cyclone LC Programmers15
Page 16
Step 4. Adding Basic Programming Commands
The user should then add other basic programming commands, using the list of commands on the left
side of the Programming Sequence area. The arrow and button s allow the user to add, remove, and
re-sequence the commands, in the box on the right. As an example, some basic commands might be
•Erase
•Program
•Verify
Note:Launch Script Wizard can also be used to quickly complete Steps 3 and 4.
Step 5. Other Settings
The user should then specify any other settings that the SAP image should contain in order to prog ram
correctly, such as
•Communication SWD vs JTAG
•Shift frequency
•Target Power and Voltage Settings
User Manual For Cyclone LC Programmers16
Page 17
These settings can be made using the corresponding areas of the Cyclone Image Creation Utility.
Step 6. Save SAP image to Cyclone
The user should then save the SAP image onto the Cyclone by clicking the button to save to “Cyclone
Only” or “Cyclone & Disk.” The image will be automatically selected as the current SAP image on the
Cyclone.
2.3.1Advanced Features
Cyclone programmers can take advantage of several adva nced featu res tha t are be yo nd the scope of
this Getting Started guide, such as RSA/AES encrypted programming images, programming
restrictions on images (see Section 6.1.10 - ProCryption Security Features), and use of a barcode
scanner to launch programming (see CHAPTER 12 - USING A BARCODE SCANNER TO SELECT AN IMAGE & INITIATE PROGRAMMING). CYCLONE FX programmers include all of these features,
and CYCLONE programmers can use many of these features with the appropriate activation license.
2.4Launching Cyclone Programming
There are three ways to launch programming.
1. Cyclone Start Button Press - The user simply presses the Start button located on top of
the Cyclone programmer.
2. Cyclone Control Console (command-line utility) - The user writes a script that specifies
parameters and initiates programming usin g th e com m a nd line. More inf or m atio n is available in the Cyclone’s User manual or at: http://www.pemicro.com/blog/
User Manual For Cyclone LC Programmers17
Page 18
index.cfm?post_id=142
3. SDK - The SDK is a software library that is used in conjunction with the user’s own code.
The user writes a customer application that uses this library of functions to launch programming. More information is available in the Cyclone’s User Manual, or at: http://
www.pemicro.com/blog/index.cfm?post_id=139
The “Success” or “Error” LED will illuminate to let the user know the result of programming.
Note:If programming is unsuccessful when using this quick start procedure, the user may instead wish
to use the included PROG software for their target device. The PROG software allows the user to
manually walk through the programming procedure step by step , wh ich may help d etermine which
part of setup or programming function is causing difficulty.
User Manual For Cyclone LC Programmers18
Page 19
3CYCLONE LC HARDWARE
The following is an overview of the features and interfaces of Cyclone LC programmers. Many of
these interfaces are labeled on the underside of the plastic case.
3.1Touchscreen LCD
The LCD Touchscreen displays information about the Cyclone’s configuration and the
programming process, and also allows the user to navigate the Cyclone’s menus. The location of
the Touchscreen LCD is shown in Figure 3-1.
3.2LED Indicators
The LED indicators for Error or Success will illuminate depending on the results of the
programming process and provide a clear visual indication of the results. The location of the LED
Indicators is shown in Figure 3-1.
3.3Start Button
The Start Button can be used to begin the programming process manually, provided that the
Cyclone is properly configured. The location of the Start Button is shown in Figure 3-1.
3.4Access Panel
The Access Panel can easily be opened to allow the user to connect/disconnect ribbon cables
from the headers, or to configure the Cyclone’s Power Jumpers to select one of the available
Power Management setups. The location of the Access Panel is shown in Figure 3-1; a layout of
the headers and jumpers beneath the Access Panel is shown in Figure 3-5.
Figure 3-1: Cyclone LC Top View
User Manual For Cyclone LC Programmers19
Page 20
Figure 3-2: Cyclone LC Right Side View
3.5Cyclone System Power
The Cyclone LC programmer requires a regulated 6V DC Center Positive power supply with 2.5/
5.5mm female plug. Cyclones derive power from the Power Jack located on the right end of the
unit. The location of Cyclone System Power is shown in Figure 3-2.
3.6RS232 Communication (Serial Port)
The Cyclone LC provides a DB9 Female connector to communicate with a host computer through
the RS232 communication (115200 Baud, 8 Data bits, No parity, 1 Stop bit). The location of the
Serial Port is shown in Figure 3-2.
3.7Ethernet Communication
The Cyclone LC provides a standard RJ45 socket to communicate with a host computer through
the Ethernet Port (10/100 BaseT). The location of the Ethernet Port is shown in Figure 3-2.
3.8USB Communications
The Cyclone LC provides a USB connector for Universal Serial Bus communications between the
Cyclone and the host computer. The Cyclone LC is a USB 2.0 Full-Speed compliant device. The
location of the USB Port is shown in Figure 3-2.
3.9Electromechanical Relays
Inside the Cyclone LC programmer, two electromechanical relays are used to cycle target power.
The specifications of the relays are as following:
Maximum switched power: 30W or 125 VA
Maximum switched current: 1A
Maximum switched voltage: 150VDC or 300VAC
UL Rating: 1A at 30 VDC
1A at 125 VAC
PEmicro only recommends switching DC voltages up to 24 Volts.
User Manual For Cyclone LC Programmers20
Page 21
3.10Power Connectors
The Cyclone LC programmers provide a Target Power Supply Input Jack and a Target Power
Supply Output Jack with 2.5/5.5 mm Pin Diameter. The power jacks are connected or
disconnected by two electromechanical relays. When connected, the Center Pin of the Target
Power Supply Input Jack is connected to the Center Pin of the Target Power Supply Output Jack.
When disconnected, both terminals of the Target Power Supply Output Jack are connected to
GND via a 1W, 100 Ohm resistor. The location of Target Power In is shown in Figure 3-3, and the
location of Target Power Out is shown in Figure 3-3.
3.11Reset Button
The Reset Button performs a hard reset of the Cyclone system. The location of the Reset Button is
shown in Figure 3-3.
Figure 3-3: Cyclone LC Front Side View
Figure 3-4: Cyclone LC Rear Side View
3.12SDHC Port
Note:The SDHC port is activated on all Cyclone FX programmers, and may be activated on Cyclone
LC programmers via purchase of the SDHC Port Activation License.
The SDHC port allows the user to store programming images that are, individually or collectively,
larger than the Cyclone’s internal memory. It also makes it quicker and more convenient to swap
programming images. PEmicro offers certified SDHC cards on our website at pemicro.com. The
location of the SDHC Port is shown in Figure 3-4.
Programming images are managed on the SD card in exactly the same way as they are in the
Cyclone’s internal memory. Please see Section 6.2 - Managing Multiple SAP Images for more
information about using the Manage Images utility.
To view detailed information about the status of the SDHC card/port, tap the icon bar at the top of
the touchscreen menu. This status can provide you with relevant information if you are
User Manual For Cyclone LC Programmers21
Page 22
encountering any difficulty while trying to use an SDHC card.
SDHC cards with a memory capacity up to 4GB are supported. Cards with a larger capacity may
work but have not been tested by PEmicro.
3.13Optional Oscillator (MON08 Only)
Cyclone LC programmers with MON08 support (PEmicro Part# CYCLONE-LC-UNIV only)
provide a software configurable 9.8304MHz or 4.9152 MHz oscillator clock signal to Pin 13 of the
MON08 Connector. The user may use this clock signal to overdrive the target RC or crystal
circuitry. If this signal is not used, just leave Pin 13 of the target MON08 header unconnected.
Please note that if the target already uses an oscillator as its clock, the Cyclone will NOT be able to
overdrive it. The clock should have sufficient drive to be used with a target system even if the
target system has an RC circuit or crystal connected.
3.14Cyclone Time / Real Time Clock
Cyclone LC programmers are equipped with a Real Time Clock (RTC) module designed to keep
accurate timing even when the Cyclone is turned off.
The Date & Time are displayed on the home screen. Date/Time settings can be configured by
navigating to the following menu using the touchscreen display:
Main Menu / Configure Cyclone Settings / Configure Time Settings
For more information on the available configuration options, see Section 5.2.3.3 - Configure
Time Settings (Cyclone Time / Real Time Clock).
3.15Power Jumper Settings
The Power Jumpers must be set differently for various power management options that the
Cyclone LC offers. If the target is being powered ind epend ently of the Cy clone LC , all pins in the
Power Jumpers header must instead be left unpopulated. To re veal the Power Jumpers header, lift
the access panel on the left end of the Cyclone LC. The location is indicated as Power Jumpers in
Figure 3-5. Please see CHAPTER 4 - TARGET POWER MANAGEMENT for the correct jumper
settings for the Cyclone’s power management options. A quick guide to these settings is also
located on the underside label of the Cyclone LC.
3.16Debug Connectors
When purchasing a Cyclone LC programmer, the user is able to choose between two part
numbers, each corresponding to a different level of device support. See the sticker on the
underside of the Cyclone to determine the PEmicro part# for your specific Cyclone LC
programmer.
PEmicro Part# CYCLONE-LC-ARM supports ARM Cortex devices only, so this programmer
provides one shrouded, un-keyed, 0.100-inch pitch dual row 0.025-inch square header, and two
shrouded, keyed 0.050-inch pitch dual row mini headers.
PEmicro Part# CYCLONE-LC-UNIV supports ARM Cortex devices and additionally supports
target connections to many 8-/16-/32-bit NXP architectures, so this programmer provides six
shrouded, un-keyed, 0.100-inch pitch dual row 0.025-inch square headers, and two shrouded,
keyed 0.050-inch pitch dual row mini header s.
To reveal the headers and connect/disconnect ribbon cables, lift the access panel on the left end
of the Cyclone. Each header is designated for one or more specific target architectures, as
indicated in Figure 3-5.
User Manual For Cyclone LC Programmers22
Page 23
Figure 3-5: Target Headers & Power Jumpers (CYCLONE-LC-UNIV vs.CYCLONE-LC-ARM)
Mechanical drawings are shown below whose dimensions are representative of the pin size and
spacing of these headers.
Note:The number of pins depicted in the mechanical drawings may dif fer fr om the Cyclone h eaders; the
drawings are provided simply to demonstrate pin size and spacing.
Figure 3-6: 20-Pin Un-Keyed Header Dimensions
Figure 3-7: Mini 10-Pin and Mini 20-Pin Keyed Header Dimensions
User Manual For Cyclone LC Programmers23
Page 24
3.17Target Headers For Part# CYCLONE-LC-ARM
PEmicro Part# CYCLONE-LC-ARM features 3 ports labeled A-C.
3.17.1PORT A: 10-Pin Keyed Mini Connector (Kinetis, S32 (ARM), other PEmicro-Supported ARM
devices)
3.17.1.1 JTAG Pin Assignments
The Cyclone provides a keyed 10-pin 0.050-inch pi tch doub le r ow conne ctor for ARM targets. The
location of the this header is indicated as PORT A in Figure 3-5. The 10-pin keyed mini connector
pin definitions for JTAG mode are as follows:
10-Pin Keyed Mini Connector JTAG Mode Pin Assignments
Note:*The pin is reserved for internal use within the PEmicro interface.
Note:** PIN9: Users of NXP i.MX processors are recommended to connect the JTAG_MOD signal to
this pin to allow programming when secure JTAG is enabled. For all other processors, this pin
should be left as NC.
SWD Mode is selected from the “Communication Mode” drop-down box in the Cyclone Image
Creation Utility:
If high-performance options are available for the selected device they will appear in the “Shift
Frequency in MHz” drop-down. Cyclone FX programmers are capable of high-performance
communications when using certain ARM Cortex targets in SWD mode.
Note:Cyclone LC programmers cannot currently take advantage of high-perfor mance options, although
the frequencies appear in the display.
User Manual For Cyclone LC Programmers24
Page 25
Figure 3-9: High-Performance Options (FX ONLY)
3.17.2PORT B: 20-Pin Keyed Mini Connector (Kinetis, S32 (ARM), other PEmicro-Supported ARM
devices)
3.17.2.1 JTAG Mode Pin Assignments
The Cyclone provides a keyed 20-pin 0.050-inch pi tch doub le r ow conne ctor for ARM targets. The
location of the this header is indicated as POR T B in Figure 3-5. The 20-pin keyed mini connector
pin definitions for JTAG mode are as follows:
20-Pin Keyed Mini Connector JTAG Mode Pin Assignments
Note:*The pin is reserved for internal use within the PEmicro interface.
Note:** PIN9: Users of NXP i.MX processors are recommended to connect the JTAG_MOD signal to
this pin to allow programming when secure JTAG is enabled. For all other processors, this pin
should be left as NC.
3.17.2.2 SWD Mode Pin Assignments
Cyclone LC programmers also support SWD Mode. This replaces the JTAG connection with a
clock and single bi-directional data pin.
20-Pin Keyed Mini Connector SWD Mode Pin Assignments
Note:*The pin is reserved for internal use within the PEmicro interface.
Note:** PIN9: Users of NXP i.MX processors are recommended to connect the JTAG_MOD signal to
this pin to allow programming when secure JTAG is enabled. For all other processors, this pin
should be left as NC.
User Manual For Cyclone LC Programmers25
Page 26
SWD Mode is selected from the “Communication Mode” drop-down box in the Cyclone Image
Creation Utility:
If high-performance options are available for the selected device they will appear in the “Shift
Frequency in M Hz” drop-down. Cyclone FX programmers ar e capable of high-performance
communications when using certain ARM Cortex targets in SWD mode.
Note:Cyclone LC programmers cannot currently take advantage of high-perfor mance options, although
the frequencies appear in the display.
Figure 3-11: High-Performance Options (FX ONLY)
3.17.3PORT C: 20-Pin Debug Connector (Kinetis, S32 (ARM), other PEmicro-Supported ARM
devices)
3.17.3.1 JTAG Mode Pin Assignments
The Cyclone provides a 20-pin 0.100-inch pitch double row connector for ARM targets. The
location of the this header is indicated as PORT C
The 20-pin standard connector pin definitions for JTAG mode are as follows:
20-Pin Standard Connector JTAG Mode Pin Assignments
If high-performance options are available for the selected device they will appear in the “Shift
Frequency in MHz” drop-down. Cyclone FX programmers are capable of high-performance
communications when using certain ARM Cortex targets in SWD mode.
Note:Cyclone LC programmers cannot currently take advantage of high-perfor mance options, although
the frequencies appear in the display.
Figure 3-13: High-Performance Options (FX ONLY)
3.18Target Headers For Part# CYCLONE-LC-UNIV
PEmicro Part# CYCLONE-LC-UNIV features 6 ports labeled A-H.
3.18.1PORT A: 10-Pin Keyed Mini Connector (NXP Kinetis & S32 (ARM), other PEmicro-Supported
ARM devices, Infineon T riCore)
3.18.1.1 JTAG Mode Pin Assignments
The Cyclone provides a keyed 10-pin 0.050-inch pi tch doub le r ow conne ctor for ARM targets. The
location of the this header is indicated as PORT A in Figure 3-5. The 10-pin keyed mini connector
pin definitions for JTAG mode are as follows:
10-Pin Keyed Mini Connector JTAG Mode Pin Assignments
Note:*The pin is reserved for internal use within the PEmicro interface.
Note:** PIN9: Users of NXP i.MX processors are recommended to connect the JTAG_MOD signal to
this pin to allow programming when secure JTAG is enabled. For all other processors, this pin
should be left as NC.
SWD Mode is selected from the “Communication Mode” drop-down box in the Cyclone Image
Creation Utility:
If high-performance options are available for the selected device they will appear in the “Shift
Frequency in MHz” drop-down. Cyclone FX programmers are capable of high-performance
communications when using certain ARM Cortex targets in SWD mode.
Note:Cyclone LC programmers cannot currently take advantage of high-perfor mance options, although
Users whose target board does not have a dedicated DAP Connector should refer instead to Port
H in Section 3.20.8.3 - DAP Connector Pin Assignments (Target Board Does Not Have Dedicated DAP Connector Port).
The keyed 10-pin 0.050-inch pitch double row connector of the CYCLONE-LC-UNIV model
TM
supports Infineon TriCore targets (AUDO
TC1xx and AURIXTM TC2xx/TC3xx). The location of
the this header is indicated as PORT A in Figure 3-5. The 10-pin keyed mini connector pin
definitions for DAP connectors are as follows:
Note:*The pin is reserved for internal use within the PEmicro interface.
3.18.2PORT B: 20-Pin Keyed Mini Connector (Kinetis, S32 (ARM), other PEmicro-Supported ARM
devices)
3.18.2.1 JTAG Mode Pin Assignments
The Cyclone provides a keyed 20-pin 0.050-inch pi tch doub le r ow conne ctor for ARM targets. The
location of the this header is indicated as POR T B in Figure 3-5. The 20-pin keyed mini connector
pin definitions for JTAG mode are as follows:
20-Pin Keyed Mini Connector JTAG Mode Pin Assignments
Note:*The pin is reserved for internal use within the PEmicro interface.
** PIN9: Users of NXP i.MX processors are recommended to connect the JTAG_MOD signal to
this pin to allow programming when secure JTAG is enabled. For all other processors, this pin
should be left as NC.
3.18.2.2 SWD Mode Pin Assignments
Cyclone LC programmers also support SWD Mode. This replaces the JTAG connection with a
clock and single bi-directional data pin.
20-Pin Keyed Mini Connector SWD Mode Pin Assignments
Note:*The pin is reserved for internal use within the PEmicro interface.
** PIN9: Users of NXP i.MX processors are recommended to connect the JTAG_MOD signal to
this pin to allow programming when secure JTAG is enabled. For all other processors, this pin
should be left as NC.
SWD Mode is selected from the “Communication Mode” drop-down box in the Cyclone Image
Creation Utility:
If high-performance options are available for the selected device they will appear in the “Shift
Frequency in MHz” drop-down. Cyclone FX programmers are capable of high-performance
communications when using certain ARM Cortex targets in SWD mode.
Note:Cyclone LC programmers cannot currently take advantage of high-perfor mance options, although
The Cyclone provides a standard 14-pin 0.100-inch pitch dual row 0.025-inch square header for
MPC55xx-57xx, DSC (MC56F8xxx), S32R, or STMicroelectronics’ SPC5 targets. The location of
the this header is indicated as PORT C in Figure 3-5.
MPC55xx-57xx, SPC5, or S32 (Power) Pinout
TDI12GND
TDO34GND
TCK56GND
NC78NC
RESET910TMS
VDDE71112GND
RDY1314JCOMP
DSC Pinout
TDI12GND
TDO34GND
TCK56GND
NC78NC/KEY
RESET910TMS
VDD1112GND
NC*1314TRST
*The pin is reserved for internal use within the PEmicro interface.
3.18.3.1 BERG14 -t o -M ICTOR38 Optional Connector
PEmicro offers a 14-pin BERG to 38-pin MICTOR adapter, sold separately, that may be used on
Port C of the Cyclone LC. The PEmicro part number is BERG14-TO-MICTOR38.
The Cyclone provides a standard 26-pin 0.100-inch pitch dual row 0.025-inch square header for
ColdFire MCF52xx/53xx/54xx family of microprocessors. This port connects to the target h ardware
using either the ColdFire extension cable for synchronous ColdFire targets such as MCF5272 &
MCF5206E (PEmicro part# CABLE-CF-ADAPTER, sold separately), or a standard 26-pin ribbon
cable for asynchronous ColdFire targets (included) . Please refer to each processor’s user manual
to identify whether it is a synchronous or asynchronous interface. The location of the this header is
indicated as PORT D in Figure 3-5.
ColdFire V2/3/4 Pinout
N/C12BKPT
GND34DSCLK
GND56NC*
RESET78DSI
VCC910DSO
GND1112PST3
PST21314PST1
PST01516DDATA3
DDATA21718DDATA1
DDATA01920GND
N/C2122N/C
GND2324CLK
VCC2526TEA
*The pin is reserved for internal use within the PEmicro interface.
The ColdFire adapter for Synchronous targets and ribbon cable for Asynchronous targets is
Figure 3-20: ColdFire Ribbon Cable (for asynchronous ColdFire targets, included with Cyclone)
3.18.5PORT E: 16-Pin Debug Connector (MON08)
The Cyclone provides a 16-pin 0.100-inch pitch double row connector for MON08 targets. The
location of the this header is indicated as PORT E in Figure 3-5. The MON08 header adopts the
standard pin-out from MON08 debugging with some modifications. The general pin-out is as
follows:
MON08 Signals
PIN 1 - NC*GND- PIN 2
PIN 3 - NC**RST- PIN 4
PIN 5 - NC*IRQ- PIN 6
PIN 7 - NC*MON4- PIN 8
PIN 9 - NC*MON5- PIN10
PIN11 - NC*MON6- PIN12
PIN13 - OSCMON7- PIN14
PIN15 - VoutMON8- PIN16
*The pin is reserved for internal use within the PEmicro interface.
**The pin is reserved for internal use within the PEmicro interface only when using an MR8 target.
The Cyclone provides a standard 6-pin 0.100-inch pitch dual row 0.025-inch square header for
ColdFire V1, S12Z, 68(S)12(X), 68HCS08, RS08, and STMicroelectronics’ STM8 targets. The
location of the this header is indicated as PORT F in Figure 3-5. The header uses the NXP
standard pin configuration, listed here for reference:
ColdFire V1, 68(S)12(X), 68HCS08, and RS08 Signals
PIN 5 - NC*TVCC - PIN 6
*The pin is reserved for internal use within the PEmicro interface.
** All the signals are direct connect except the SWIM line which requires a 680 Ohm pull-up
PEmicro also offers a separate STM8 adapter (part# CU- CUFX-STM8-ADPT) that can be plugged
into the 6-pin header of the Cyclone (see Figure 3-21). The adapter offers 4 pins signal s fro m an
ERNI connector.
4-Pin STM8 Signals
(Requires STM8 Adapter, sold separately)
PIN 1 - TVCCSWIM - PIN 2
PIN 3 - GNDRESET - PIN 4
Figure 3-21: STM8 Adapter: 1) Bottom, 2) Top, 3) Connected To 6-Pin Header of Cyclone_Universal
The Cyclone provides a standard 10-pin 0.100-inch pitch dual row 0.025-inch square header for
Power MPC5xx/8xx BDM targets. The location of the this header is indicated as PORT G in Figure
3-5.
Power MPC5xx/8xx BDM Pinout
NC*12SRESET#
GND34DSCLK
GND56NC*
HRESET#78DSDI
VDD910DSDO
*The pin is reserved for internal use within the PEmicro interface.
3.18.8PORT H: 20-Pin Debug Connector (Kinetis, S32 (ARM), other PEmicro-Supported ARM
devices, Infineon TriCore)
3.18.8.1 JTAG Mode Pin Assignments
The Cyclone provides a 20-pin 0.100-inch pitch double row connector for ARM targets. The
location of the this header is indicated as PORT H
The 20-pin standard connector pin definitions for JTAG mode are as follows:
under Part# CYCLONE-LC-UNIV in Figure 3-5.
User Manual For Cyclone LC Programmers33
Page 34
20-Pin Standard Connector JTAG Mode Pin Assignments
*The pin is reserved for internal use within the PEmicro interface.
SWD Mode is selected from the “Communication Mode” drop-down box in the Cyclone Image
If high-performance options are available for the selected device they will appear in the “Shift
Frequency in MHz” drop-down. Cyclone FX programmers are capable of high-performance
communications when using certain ARM Cortex targets in SWD mode.
Note:Cyclone LC programmers cannot currently take advantage of high-perfor mance options, although
the frequencies appear in the display.
User Manual For Cyclone LC Programmers34
Page 35
Figure 3-23: High-Performance Options (FX ONLY)
3.18.8.3 DAP Connector Pin Assignments (Target Board Does Not Have Dedicated DAP Connector
Port)
Users whose target board has a dedicated DAP Connector should instead refer to Port A in
If the user’s target board does not have a dedicated DAP connector por t, the user may choose to
wire pins to the 20-pin 0.100-inch pitch double row connector of the CYCLONE-LC-UNIV model
TM
(can be used with Infineon TriCore targets AUDO
TC1xx and AURIXTM TC2xx/TC3xx). The
location of the this header is indicated as PORT H in Figure 3-5. The 20-pin standard connector
pin definitions for DAP connectors are as follows:
20-Pin Standard Connector JTAG Mode Pin Assignments
*The pin is reserved for internal use within the PEmicro interface.
Note:Pin3 - TRST needs to be high at power on reset release for enabling DAP, so short circuiting TRST
to VDD may be advised.
3.19Ribbon Cable
Cyclone LC programmers communicate with the target through ribbon cables. The ribbon cables
for standard debug connectors have a 0.100-inch centerline dual row socket IDC assembly (not
keyed). The ribbon cables for 10- and 20-pin mini debug connectors have a 0.050-inch centerline
dual row socket IDC assembly (keyed). The ribbon cables are designed such that the Cyclone’s
Debug Connector has the same pinout as the Target Header, i.e., Pin 1 of the Cyclone’s Debug
Connector is connected to Pin 1 of the Target Header. As an example, Figure 3-25 sketches the
connection mechanism (looking down into the sockets) for a 14-pin ribbon cable. Ribbon cables for
other supported architectures use a sim ilar sche me , but ma y ha ve mor e or fewe r pins .
User Manual For Cyclone LC Programmers35
Page 36
Figure 3-24: Ribbon Cable Example Diagram, When Looking Into IDC Socket
User Manual For Cyclone LC Programmers36
Page 37
4TARGET POWER MANAGEMENT
Different target devices may require different power schemes which depend on the design of the
target board, target voltages, and even the device architecture. PEmicro has designed the
Cyclone LC to be capable of powering a target before, during, and after programming . Power can
be sourced at many voltage levels from the Cyclone itself, or sourced by an external power supply
and switched by the Cyclone.
Figure 4-1: Five different paths to power a target
The versatility of the Cyclone power scheme gives the user the utmost flexibility, and includes the
following features:
•Provides power through a powe r jack or through the debug connector
•Provides internally generated voltage from 1.6v-5.5v at up to 500mA
•Switches an external power supply voltage, up to 24V at 1amp
•Selectively powers the target before, during, and after programming
•Powers down the target connections between programming operations
•Uses power switching to aid entry into debug mode for certain targets
•Provides target voltage and current measurement capabilities
If target power is required, each target board may vary where the power is source d from, externally
or internally, and how it is channeled to the target: through the debug header or to a separate
connector to the board. Power that is passed through and managed by the Cyclone goes through
power relays so it can be power cycled. This is extremely useful because it also allows the power
to be off during setup and automatically powered on by the Cyclone for pr ogramming. For some
devices, the process of entering debug mode requires that the device be powered down and
powered back up. Power can also be left in a desired power state, either on or off.
4.1Cyclone Configuration
There are two different places Power Management is configured and they should be matched:
first, by the jumpers on the Cyclone LC, and second, in the setup of the programming image.
The Cyclone jumpers are the most important be ca us e th ey ar e th e ph ysical connection to the
target. The Cyclone has an easy access panel that reveals debug heade r connections for a variety
of different architectures, and a 2x4 jumper block for configuring power management of the target.
The specific location of the jumpers is indicated by the label POWER JUMPERS in Figure 4-3.
This set of 4 jumpers can be used to set 5 different power management schemes for the target.
User Manual For Cyclone LC Programmers37
Page 38
Note:If these jumpers are not set correctly, the Cyclone will not function as intended.
1Target is powered independently
Power provided externally (center +) and
2
managed by Cyclone, power out to debug
ribbon cable.
Power provided externally (center +) an d
managed by Cyclone, power out to 2.5 mm
3
output jack (center +)
Power provided by Cyclone, power out to
4
debug ribbon cable
Power provided by Cyclone, power out to
5
2.5 mm output jack (center +)
Figure 4-2: Cyclone Power Schemes & Corresponding Jumper Settings
The bottom edge of the Cyclone LC has a Power In jack for exte rnally provided power, and the top
edge of the Cyclone has Power Out jack, for when power schemes including these are used (see
Figure 4-3). One of the provided ribbon cables is connected to the appropriate debug header
based on the specific target architecture.
Figure 4-3: Cyclone Hardware Features: Power Jumpers and Target Headers
The power settings that are set by the jumpers are a physical connection and take precedence.
User Manual For Cyclone LC Programmers38
Page 39
After the basic hardware setup, target power and voltage settings are also set in the creation of a
SAP (stand-alone programming) image. At a minimum the SAP image contains all the commands
to Erase, Program, and Verify a programming image. More sophisticated power selections in the
SAP image can control the relays, target voltage, delays, and power down after SAP operations,
as shown in the selection dialog.
Target voltages (with appropriate jumper settings) in the range of 1.6 to 5.5 volts may be provided.
There is also the option to select the internal Cyclone relays to power cycle the Cyclone during
programming, and set the length of delays during power up and down. This is extremely useful to
make sure the power is off when hooking up the target. Power cycling is especially important for
architectures that require it to enter debug mode. The SAP image settings may even be used to
turn off the target power once programming is completed, to ensure that the microcontroller is left
in a halted state and not running.
4.2Cyclone Setup
Below is a tutorial that demonstrates how to set up the Cyclone LC in each of the 5 power
configurations. A very common configuration is the independently powered target. In this power
scenario, the Cyclone will detect and use the power on the target for the appropriate debug
communication voltages.
Figure 4-4: Target Power & Voltage Settings
4.2.1Independently Powered Target
In the simplest and most common scenario, no jumpers are set, so the target is powered
independently from the Cyclone. No power is pa ss ed through the debug header , just the standard
debug signals. The Cyclone automatically detects the target power and sets the debug signals to
match.
Figure 4-5: Independently Powered Target
4.2.2Power provided by the Cyclone to the debug cable
It is also possible for the Cyclone to generate power through an internal regulator in the range of
1.6 to 5.5 Volts. In the jumper configuration below, the Cyclone generates the power through a
voltage regulator , and passes it throu gh the power re lays and out throug h the d ebug ribbon cable,
which is set up during the SAP image creation. There is only one connection to the target
processor which will handle both the communication and the power. In this scenario, external
power must not be connected to the Power In jack since it is already being provided.
User Manual For Cyclone LC Programmers39
Page 40
Figure 4-6: Power Provided by the Cyclone to the Debug Cable
4.2.3External Power passed through the Cyclone and out 2.5 mm barrel port
It is also possible to provide external power, passed through the Cyclone power relays, and back
out to be available to power the target board externally. This is useful when the user wants to
control the power to the target and the target board has an external power connector. Setting a
single jumper will connect the barrel port input connector on the bottom edge of the Cyclone,
through the relays, to a matched 2.5 mm barrel port output connector on the top edge of the
Cyclone, so that the power can be routed into and back out of the Cyclone.
Figure 4-7: External Power Passed Through the Cyclone and Out 2.5 mm Barrel Port
4.2.4External Power passed through the Cyclone to the debug cable
In a slightly different scenario, the user may wish to provide po we r to th e ta rge t thr oug h the de bug
cable. On the bottom edge of the Cyclone is a 2.5 mm Power In port barrel which will pass power
through target relays which lets the Cyclone take control of the power cycling during programming.
This simple setup requires only an input to the Cyclone and a single ribbon cable connection to the
target board that handles both communication and power. The external power provided must be
between 1.6 to 5.5 volts.
User Manual For Cyclone LC Programmers40
Page 41
Figure 4-8: External Power Passed Through the Cyclone to the Debug Cable
4.2.5Power provided by the Cyclone and out 2.5 mm barrel port
In a slightly different scenario, the user may wish to have the Cyclone provide power, but power
the target via an external connector on the target. The vo ltage supplied to the ta rget is determi ned
by the settings in the SAP image. When generating the SAP image the Cyclone relays must be
selected as well as the correct voltage level for the target.
Figure 4-9: Power Provided by the Cyclone and Out 2.5 mm Barrel Port
4.3Setup Reminders
The most important step when providing power out to a target is to check the Cyclone's jumper
settings to make sure they match the intended power setup. The jumpers control the power
settings which determine how power is supplied, regardless of the SAP image settings. If the
jumpers are set for power to be provided throu gh the Cyclone, and the target is externally
powered, this is a conflict and may cause damage to the board.
In the case where power is being supplied through the Cyclone and the target is not being
powered on, the user should first check the jumper settings to make sure they match the
intended power setup. Second, the user should check to make sure the SAP image has the ‘Use
Cyclone Relays’ box checked with the appropriate voltage level selected.
User Manual For Cyclone LC Programmers41
Page 42
5TOUCHSCREEN LCD MENU
This chapter describes the Cyclone’s touchs cree n LCD men u . Figure 5-1 shows an overview of
the menu structure.
Note:This menu will change as features are added to the Cyclone LC, so if your menu does not match
what is displayed here, please check PEmicro’s website, www.pemicro.com, for a user manual
containing the latest LCD Menu operations information.
5.1Home Screen
The home screen appears when the Cyclone LC is powered on, or when the Home
button is tapped.
5.1.1Icons
A row of icons in the upper right corner indicates the status of various attributes of the Cyclone.
Note:The user may tap on the row of icons to view the meaning o f each of the cu rr ently displayed i cons.
Real-Time clock Enabled & Working: Yes / No
SDHC Memory Card: None / Va lid / Unformattted / Reset Cyclone**
* Target Device Is Powered - “Yes” indicates that the Cyclone LC detects power on the Vcc pin of
the target device programming hea d er .
** SDHC Memory Card (Requires SDHC Activation License) - “Reset Cyclone” indicates that the
Cyclone needs to be reset before the SDHC card will register as Valid. The user can push the
Reset button which is located on the front side of the Cyclone, below the LED indicators.
5.1.2Configurable Display Area
The main area of the home screen can be configured to optionally display the following
information, by using the Cyclone IP Configuration Utility (see Section 5.2.3.5.4 - Configure Home Screen):
1. Firmware version of the Cyclone (always shown).
2. IP address assigned to the Cyclo n e.
Cyclone Unit Status: Ok / Bad
Programming Status: Ready / Busy
USB-To-PC Enumerated: Yes / No
Cyclone Power Relays: Closed / Open
Target Device Is Powered*: Yes / No
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.
9. Time and date.
10. Status Window and Main Menu button (always shown).
11. Programming count & limit
User Manual For Cyclone LC Programmers42
Page 43
12.
5.1.3Status Window
The status window appears in the lower left corner of the home screen and displays the results of
programming operations.
5.1.4Error Information Icon
When the Cyclone experiences an error during programming operations, the Info icon will appear
to the left of the Menu button (or AUX button, if configured).
Info Icon:
Press the Info icon to view a detailed description of the error.
5.1.5AUX Button (Appears If Configured)
The Cyclone allows the user to add an Auxiliary (AUX) button to the home screen which will
perform a specific function when pressed. The specific function is chosen by the user when the
AUX button is configured. The AUX button will appear on the home screen to the left of the “Menu”
button, in the lower right corner of the home screen.
Figure 5-1: AUX Button On Home Screen (configured to perform CRC32 function)
For information on how to configure the AUX button, see Section 5.2.4 - Status.
5.2Main Menu
The Main Menu is accessible by pressing the “Menu” button when the Home Screen is displayed.
The Main Menu contains the following selections:
User Manual For Cyclone LC Programmers43
Page 44
Figure 5-2: Main Menu Structure
User Manual For Cyclone LC Programmers44
Page 45
5.2.1Select Programming Image
Displays a list of the available programming images so that the user may select one for
programming. Images in the Cyclone’s internal memory a re preceded by the d esignation “IN” and
numbered sequentially, i.e., IN1: first image name, IN2:second image name. If the SDHC port of
the Cyclone is activated and contains a memory card (and the SDHC License Activation is
installed), any programming images that reside on the SD card will be preceded by the designation
“EX” in similar fashion.
Encrypted (eSAP) images will display a lock icon to the left of the image description. If the
ImageKey needed to decrypt an eSAP image is missing from the Cyclone, the image will appear
grayed out. and cannot be selected for pr ogramming until the appr opriate ImageKey is loaded onto
the Cyclone (see image #2 in Figure 5-3).
Figure 5-3: Lock Icon Denotes Encrypted Images
You may tap the appropriate image to select it. The image name shown is the one specified in the
Cyclone Configuration Utility when saving the image to the Cyclone/SD card.
5.2.2Current Image Opti on s
This menu presents options that allow the user to select or configure programming images on the
Cyclone LC.
5.2.2.1Execute Image Function
Execute Specific SAP Function presents four Stand-Alone Programming functions that you may
execute by tapping the function that you wish to execute:
5.2.2.1.1 Launch Programming
This allows the user to execute the programming function. T he Cyclone LC will program the target
device, if able, using the currently selected programming image. This is functionally equivalent to
pressing the Start button.
5.2.2.1.2 Verify Data In Target
Performs a verify function on the data that has been programmed into the target device.
5.2.2.1.3 Toggle Power
Toggles the target power and makes sure all ports are driven to debug mode level.
5.2.2.1.4 Power Cycle Device To Run User Code
Toggles the target power and maintains tri-state mode for all signals.
5.2.2.1.5 Validate Image CRC32
Allows the user to perform a CRC32 validation on the currently selected programming image.
User Manual For Cyclone LC Programmers45
Page 46
5.2.2.1.6 Launch Image Programming
Launches the selected programming image. Replaces the hardware Start Button.
5.2.2.2Set Image Validation
Allows the user to choose between two validation settings: 1) validate the image each time the
Start button is pressed, or 2) do not validate the image.
5.2.2.3Serial Numbers
Displays the serial number information associated with the currently selected programming image.
If there is none, it will display, “This Image Contains No Serial Numbers.” There may be one or
more Serial Files associated with the image. The user can click on a specific Serial File name to
see the following information about that Serial File:
•UID - Unique identifier of the serial number
•Next Serial # ASCII - Next serial number to be programmed (shown in ASCII format)
•Algorithm ID - Displays the algorithm ID of the serial file
•CS ID - Displays the ID of the CS (Choose Serial) command in the SAP file.
Figure 5-4: Serial File Selection
The user can also click on “Modify Serial Number” to edit that serial number. It is possible to
Decrease or Increase the Next Serial by -10, -1, +1, +10. This is often done to address issues in
the production process, such as during initia l setu p.
Figure 5-5: Increase or Decrease Serial Number
The adjustment buttons will display “Increase Not Allowed” and “Decrease Not Allowed” if the
image/algorithm/CS file that the user has selected does not allow for this operation.
Note:Older serial files are specific to one programming image, unlike PEmicro’s current serial files. If
viewing Serial Number info for an image that refere nces one or more ol der seri al files, th e Cyclone
will not show links to the serial files but will instead display serial number info for the first serial file.
The user can then Modify Next Serial to change the next serial number, or click MORE at the
User Manual For Cyclone LC Programmers46
Page 47
bottom to proceed to the next serial file (if any).
Figure 5-6: Serial Number View With Older Serial Files (CS IDs #1 & #2)
5.2.2.4Show Image Restriction Stats (Requires FX or ProCryption Security Activation)
Displays current statistics, if any, for Image Programmed Count & Maximum Allowed, Erro rs
Logged & Maximum Allowed, and Date Range Allowed. These limits can be set in the Security
Features section of the Cyclone Image Creation Utility (see Section 6.1.10.2 - Image
Restrictions).
Note: When Current Image Stats is displayed as a home screen item, only Image Programmed
Count & Maximum Allowed are displayed on the home screen.
5.2.3Configure Cyclone Settings
Presents options that allow the user to choose to configure the Cy clone LC network settings, time/
date settings, and LCD touchscreen display settings, or to set the display to dynamic.
5.2.3.1Edit Cyclone Name
Allows the user to edit the name of the Cyclone using the on-screen keyboard. Click “Done” to
save the new Cyclone name or “Cancel” to exit without saving a new Cyclone name. This name
will be displayed on the Cyclone LC home screen if the Cyclone is configured to do so.
5.2.3.2Configure Network Settings
Presents options that allows the user to view or edit various IP settings, toggle the IP settings
between static and dynamic, and re-name the Cyclone LC.
5.2.3.2.1 Show Current IP Settings
This menu allows you to view the Cyclone LC IP addre ss, Mask, and Gateway, and MAC address.
You may also tap these entries to edit, as long as the Cyclone is set to Static IP mode.
Dynamic vs. Static
There are two schemes for assigning IP addresses. One is the Static IP addressing mode. This
involves the user manually setting the IP address for every device on the network. In this case, it
falls to the user to ensure the IPs assigned do not conflict and are within the boundaries of the
network. The other is the Dynamic Host Configuration Protocol (DHCP). This involves setting up a
separate server to manage the IP addresses. The server is given a list of valid IP addresses for the
network. Using a predetermined set of rules, each new device that wishes to connect to the
network is given an IP address by the server. This takes the task of managing the validity and
uniqueness of IP addresses out of the user's hands and relegates it to the server. Cyclone LC
programmers are capable of using either Static IP addressing or DHCP.
5.2.3.2.2 Edit Static IP Settings
This menu allows you to edit the Cyclone’s IP address, Mask, and Gateway, and view the
Cyclone’s MAC address. If you are unable to edit these values, you may wish to check to be
User Manual For Cyclone LC Programmers47
Page 48
certain that the Cyclone is not set to Dynamic IP mode.
IP
Edit IP Numbers allows the user to set an IP number for the Cyclone. The current IP number is
displayed on the second line. Tap a number to edit and use the touchscreen keyboard to set the
new number. Whe n you are finished, hit Done. If you chan ge your mind and decide not to save, hi t
Cancel to leave the IP number as is and return to the Main Menu.
Mask
Edit IP Mask allows the user to set an IP Mask for the Cyclone. The current IP Mask is displayed
on the second line. Use the Up/Down buttons to scroll through the characters. To select a
character, hit the Select button. When you are finished, scroll through the characters until you
reach the -> (right-arrow) character. Selecting this character will complete the process. The default
IP mask is 255.255.255.0.
Gateway
Edit IP Gateway allows the user to set the IP Gateway for the Cyclone. The current IP Gateway is
displayed on the second line. Use the Up/Down buttons to scroll through the characters. To select
a character, hit the Select button. When you are finished, scroll through the characters until you
reach the -> (right-arrow) character. Selecting this character will complete the proc es s.
MAC Address
Show MAC Address displays the current MAC address for the Cyclone.
5.2.3.2.3 Enable/Disable Dynamic IP
Allows the user to toggle the Cyclone configuration between utilizing a Static IP address or a
Dynamic IP address. The user must reset the Cyclone LC after changing from Static to Dynamic
or vice-versa. The reset button on the front side of the unit may be used.
5.2.3.3Configure Time Settings (Cyclone Time / Real Time Clock)
The Cyclone LC is equipped with a Real Time Clock (RTC) module designed to keep accurate
timing even when the Cyclone is turned off. The Date & Time are displayed on the home screen.
This menu presents options that allow the user to configure the Cyclone’s various date/time/
timezone settings, including formatting options.
5.2.3.3.1 Modify Date / Time
1. Update Ti me from Internet - Co nnects to an SNTP server , fetch es the current time, and
saves it to the Cyclone. When executed it displays a
message that this can freeze the Cyclone for up to 3
minutes – This is due to an invalid ARP response due to a
bad gateway configuration. Proper configuration will
ensure the problem is resolved. If the network connection
is not configured/connected this displays a message that
the time failed to update. If it is successful no message is
displayed.
2. Set Time ZoneHours - Allows you to set the timezone offset, in hours +/-, from GMT
time
3. Set Time ZoneMinutes - Allows you to set the timezone offset, in minutes +/-, from
GMT time
5.2.3.3.2 Set Time-Date Display
Allows you set the Cyclone’s Time-Date Display to one of the following configurations:
1. Display Date Only
2. Display Time Only
3. Display Date and Time
User Manual For Cyclone LC Programmers48
Page 49
5.2.3.3.4 Set Date Formatting
Allows you to select how the date is displayed. The options are:
1. YYYY-MM-DD
2. MM-DD-YYYY
3. DD-MM-YYYY
4. MM/DD/YYYY
5.2.3.3.5 Set Time Formatting
Allows you to select how the time is displayed. The options are:
1. HH:MM (24-hou r)
2. HH:MM (AM/PM)
3. HH:MM:SS (24-hour)
4. HH:MM:SS (AM/PM)
5.2.3.4Configure AUX Button
Allows the user to configure an auxiliary (AUX) button which (if configured) will be labeled
appropriately and displayed to the left of the Menu button on the Cyclone’s touchscreen LCD.
When pressed, the AUX button will perform the task for which it has been configured. The options
that may be assigned to the AUX button are:
1. No Operation - No operation is assigned to the AUX button and it will not be displayed on
the LCD screen.
2. Perform Verify Only - Verifies the data on the target device against the data in the programming image.
3. Toggle Power - Toggles the Cyclones power relays off/on.
4. Validate Image CRC32 - Validates the CRC32 of the data on the target device against that
of the data in the programming image.
5. Power Cycle Device To Run User Code - Toggles the target power and maintains tri-state
mode for all signals.
6. Launch Image Programming - Launches the selected programming image. Replaces the
hardware Start Button.
5.2.3.5Configure Screen
This menu presents options that allow the user to adjust or customize the Cyclone’s LCD
touchscreen display in various ways.
5.2.3.5.1 Change Screen Brightness
Allows the user to adjust the brightness of the LCD touchscreen. The “Increase” and “Decrease”
buttons will raise or lower the brightness level, respectively, in increments of 10%. Brightness can
be adjusted from between 100% - 10%. Press “Done” to exit.
5.2.3.5.2 Calibrate Screen
Allows the user to click on specified points on the LCD touchscreen in order to calibrate the
accuracy of the touch function. Follow the on-screen instructions.
5.2.3.5.3 Set Progress Details
This configures the display to present more detailed information during the progress of
programming, including the specific programming steps that are performed and specific
information about the programming and verifying procedure. The user may select “Show Details,
Keep Last Progress On,” “Show Progress Details,” or “Hide Progress Details.”
User Manual For Cyclone LC Programmers49
Page 50
5.2.3.5.4 Configure Home Screen
This menu allows you to choose what information to display on Lines 2-8 of the home screen.
Available elements to display consist if information such as: the current IP address, the Cyclone
name, the number of images, etc. In this way the user can customize the display to provide the
information that they find most useful. There is a separate button for each of Lines 2-8. Tapping on
the button for a specific Line brings up a list of elements that you can choose to display on that
Line of the home screen. If the list of elements is greater than one page, tap the More button to
view the rest of the available elements. Tap the element that you want to display on that line and
then tap Done to save your selection.
5.2.3.6Configure Storage
This menu selection allows the user to format the Cyclone’s internal memory. This menu will also
allow the user to format an SD card located in the Cyclone’s memory expansion slot if the SDHC
Port Activation License is installed. Select “Format Internal Storage” or “Format External SD Card”.
The user will be prompted to en sure tha t they wish to format the co rresponding m emory. Tap “Yes”
to format, or “Cancel” to go back to the previous menu option without formatting the memory.
5.2.3.7Enable/Disable Start Button
This menu option gives the user the option to disable the physical Start Button. Programming can
then be initiated via the Cyclone Control Suite, or by a digital start button on the Cyclone screen if
you have the AUX button set to the "Launch Image Programming" option.
The physical Start Button can always be re-enabled via this same menu toggle.
5.2.4Status
This menu contains a selection that allow the user to view status information regarding various
aspects of the Cyclone. This menu will likely be expanded with future updates.
5.2.4.1Show Current IP Settings
Allows the user to view the Cyclone’s Current IP Mode, IP Address, Mask, Gateway, and MAC
Address.
User Manual For Cyclone LC Programmers50
Page 51
6CREA TING AND MANAGING PROGRAMMING IMAGES
The Cyclone Image Creation Utility is used to create programming images which may be loaded
into the Cyclone. The user creates programming images based on data sets to be pr og ra m me d
and programming instructions which are all self contained. The next step is to download these
programming images to the Cyclone via the GUI, Console, or SDK. Programming can th en be
launched either manually via the button, or automatically via the Console.ex e or SDK. Learn abou t
how to download and launch programming images in CHAPTER 8 - CYCLONE PROGRAMMER
AUTOMATED CONTROL (CYCLONE CONTROL SUITE).
Note:The Cyclone Image Creation Utility is Windows only. Users that wish to manage/automate
programming via macOS/Linux will need a Windows platform to create programming images.
Cyclone LC programmers, or Cyclone LC programmers with the ProCry pt ion Secu rit y Activation
License, can also use the The Cyclone Image Creation Utility to encrypt programming images,
such that only Cyclones with a specific key can decrypt and program these images. Instructions on
how to encrypt using the Cyclone Image Creation Utility are found in Section 6.1.10.1 - SAP
Image Encryption. A more in-depth description of the encryption process is available in
CHAPTER 11 - SAP IMAGE ENCRYPTION.
Note:If the user wishes to use a programming image created with an earlier generation Cyclone (such
as the Cyclone PRO or MAX, or the Cyclone for ARM devices Rev. A/B) they should first convert
the image using the conversion utility described in CHAPTER 14 - TROUBLESHOOTING.
6.1Cyclone Image Creation Utility
This section describes in detail how use the Cyclone Image Creation Utility, shown in Figur e 6-1,
to configure, create, and save a SAP image that will be used for stand-alone programming with the
Cyclone LC. The Cyclone LC does not require a target to be connected when it is being
configured. However, the Cyclone must be powered on and one of the communications interfaces
must be connected to the Cyclone if an image is to be stored on it.
User Manual For Cyclone LC Programmers51
Page 52
Figure 6-1: Cyclone Image Creation Utility
6.1.1Specify CPU Manufacturer
The user should select the manufacturer of their target device from the drop-down list.
Cyclone LC programmers support ARM Cortex devices from several manufacturers, including
NXP’s Kinetis and LPC devices. For a complete index of PEmicro-suppor ted ARM Cortex devices,
please view pemicro.com/arm.
If you are using PEmicro Part# CYCLONE-LC-UNIV, this Cyclone also supports these 8-16/32-bit
architectures: Kinetis, LPC, S32, MPC55xx-57xx), MPC5xx/8xx, DSC, S12Z, RS08, S08, HC08,
TM
HC(S)12(X), and ColdFire. It also supports Infineon TriCore (AUDO
TC1xx and AURIXTM TC2xx/
TC3xx) and STMicroelectronics’ SPC5 & STM8 (with STM8 adapter).
Figure 6-2 shows the Specify CPU Manufacturer drop-down box. The options are:
•ARM-based (All Manufacturers)
•NXP
•STMicroelectronics
•Infineon
User Manual For Cyclone LC Programmers52
Page 53
6.1.1.1ARM-Based Devices
If the user chooses “ARM Based (All Manufacturers)” they should the n select their specific device.
A recently used device can be selected from the Device drop-down box on the left (see Section
6.1.1.3 - Device Box). The user may also click the "Select New Device" button. The Device
Selection window will then appear. This dialog directs the user how to navigate the device tree to
select their ARM device.
Figure 6-2: Specify CPU Manufacturer
Figure 6-3: Device Selection - Drill Down To Specific Target Device
6.1.1.2NXP or STMicroelectronics Devices
If the user chooses NXP or STMicroelectronics from the Specify CPU Manufacturer list, they
should then select the appropriate architecture from the Specify Target Architecture drop-down.
Note:The user can still select an ARM-based device when using the NXP or STMicroelectronics
manufacturer selections.
6.1.1.3D ev ic e Bo x
The Device box can be used to choose from any devices that have recently been selected.
Figure 6-6: Device Drop-Down - Select From Recently Chosen Devices
6.1.2Security Settings - Qorivva (MPC55xx-57xx) Only
If your selected target architecture was Qorivva (MPC55xx-57xx), the Cyclone Image Creation
Utility will display an area called Security Settings (see Figure 6-7). If your MPC55xx-57xx device
supports uncensoring, click the “Device supports uncensoring” checkbox and select the
appropriate bit depth for the device’s password (64-bit or 256-bit). The box to the right is whe re the
password must be entered. Optionally you may use the Browse button to navigate to a text file that
contains the correct password for the device. The contents of the text file that you select will
automatically be used to fill the password text box.
Figure 6-7: Security Settings - Qorivva (MPC55xx-57xx) Only
6.1.3Secure Boot Settings - NXP i.MX RT Only
If the selected device is an NXP i.MX RT device with secure boot capability, a Secure Boot
Settings area will appear:
User Manual For Cyclone LC Programmers54
Page 55
Figure 6-8: Secure Boot Settings
The area allows the user to coordinate with PEmicro’s Secure Boot Helper Utility, which is a
separate utility that helps the user to more easily manage secure boot settings and configurations.
Settings that the user has configured in the Secure Boot Helper Utility can be loaded into the
Image Creation Utility as a resulting programming sequence.
In the Secure Boot Settings area, buttons are displayed which allow the user to do the following:
•“Link/Create Secure Boot Project” prompts the user to either choose an existing Secure
Boot Project (.SBP) file or to create a new one. The Secure Boot Helper Utility will then
launch and load the project.
•“Edit Secure Boot Project” prompts the user to select an .SBP project file. It will then
launch the Secure Boot Helper Utility and open that project for editing.
•“Clear” removes the link to any loaded .SBP project. The user will be asked if they wish to
clear the programming sequence as well.
•“Regenerate Programming Sequence From SB Settings” allows the user to load re-load
the programming sequence from the .SBP project if they have made changes to the
project which they wish to be reflected in the programming sequence. Note that any
changes made to the programming sequence in the Image Creation Utility itself will be lost
when the new sequence is loaded. This typically happens only if the device or binary has
been changed in the .SBP.
When a project is linked, inputs to the Secure Boot Project such as an S19 file and PEKeyfile will
be displayed next to SB File Inputs. The object to be built during image creation is also displayed
below.
The user can check the checkbox for “Auto-build signed application and fuse files based on the
Secure Boot Project during the SAP image creation process” if they wish that to occur during
image creation.
Additional Assistance
The Secure Boot Helper Utility User Manual is available at PEmicro’s website:
http://www.pemicro.com/downloads/download_file.cfm?download_id=582
The website also features a blog article that walks the user through the process of setting up a
production programming image with the Secure Boot Utility and the Cyclone Image Creation
Utility:
http://www.pemicro.com/blog/index.cfm?post_id=204
User Manual For Cyclone LC Programmers55
Page 56
6.1.4Secure JTAG Settings - NXP i.MX RT Only
NXP i.MX RT devices allow the user to enable Secure JTAG. This is a security feature which
allows regulation of JTAG access to the device, protected by password. Users can program a
device that has Secure Boot enabled by providing the co rr ec t pas swo rd . PEm icro’s Secure Boot
Helper Utility helps the user to manage this feature by allowing the user to create named password
objects which are stored in a PE Keyfile Collection.
Figure 6-10: Secure JTAG Settings
If the user checks the box provided, the Image Creation Utility prompts the user to navigate to a PE
Keyfile Collection. On the line below they will then choose the appropriate password object from
that collection in order to program a device with Secure JTAG enabled.
Figure 6-11: Image Key Collection File and Password Object
6.1.5Programming Sequence
This is the two-panel interface directly below the Device Selection area. This is where the user
creates the sequence of commands to be carried out during programming. The left panel provides
a list of available programming functions . The right panel displays the ordering of the functions.
Figure 6-12: Specify Programming Sequence
There are two ways to create the programming sequence.
6.1.5.1M a n ua l Sel ec ti on
The user can individually specify the algorithm and the object code and then add commands. To
specify the programming algorithm for the target, double-click on the Choose Algorithm (CM)
function in the left panel. Or, it can be highlighted and added it to the right panel using the arrow
(->). This opens the “Specify Programming Algorithm to Use” dialog.
User Manual For Cyclone LC Programmers56
Page 57
Figure 6-13: Specify Programming Algorithm To Use
The user should select the programming algorithm to be used. On ce the al gorithm is se lected, th e
full list of programming functions becomes available in the left panel.
Figure 6-14: Programming Functions Available
Similarly, to specify the S-Record to be programmed into the target, the user may double-click on
Specify Object Code (SS) in the left panel or highlight it and add it using the arrow (->). This opens
a dialog which allows you to select the appropriate S-Record.
Figure 6-15: Specify Object File To Load
Next, the user would add additional programming functions to complete the programming script by
User Manual For Cyclone LC Programmers57
Page 58
selecting programming operation commands from the Pro gramming Seque nce area. See Section
6.1.6 - Programming Operations for a description of these commands. The commands can
added by double-clicking them, or by selecting them and using the arro w (->). Commands can also
be removed or resequenced; see Section 6.1.5.3 - Function Buttons.
Figure 6-16: Add Programming Functions
6.1.5.2Scr ip t Wizard
Another method that can be used to create a programming sequence is the Launch Script Wizard
button.
Note:Launch Script Wizard removes any commands that are already in the programming sequence
window and begins a new sequence.
The Launch Script Wizard button will automatically prompt the user for a programming algorithm,
followed by an object file, and then adds commands (EN - Erase if not blank, PM - Program
module, VC - Verify Checksu m) to create a default progr amming script. Th e user can then use the
programming commands on the left and function buttons to modify the programming sequence as
needed.
6.1.5.3Function Buttons
The arrow (->) will add the selected programming commands to the end of the programming
sequence. Double-clicking the command has the same effect.
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.
The user can also simply hit the Delete button on their keyboard when the command is selected in
the programing sequence.
6.1.5.4Programming Sequence Complete
Once the programming sequence is complete, the programming image can be saved to a disk or
to the Cyclone unit. For more information, please see Section 6.1.12 - Store Image To Cyclone.
The Programming Sequence field, the user may specify the algorithm, object file, and operations
to be carried out.
6.1.6.1Choose 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.
6.1.6.2Specify Object File
Asks for the name (and/or path) to a file of object files to be used in programming or verifying a
module. If the file is not found, an error message is given. The currently-sele cted 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 .S19 is used by
default. The programmer also supports ELF/Dwarf 2.0, 3.0, and 4.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.
6.1.6.3Erase If Not Blank
This command performs a blank check of the module and erases it if it is not blank.
6.1.6.4Erase Module
If “Erase Module” is specified, the Cyclone will erase the EEPROM/flash on the target device after
entering the Monitor Mode or BDM mode.
6.1.6.5Blank Check Module
If “Blank Check Module” is checked, the Cyclone will check to see if the flash/EEPROM on the
target device is erased.
6.1.6.6Prog r am By te s
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.
6.1.6.7Pro g r am 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.
6.1.6.8Program Module
This command will program the selected S-record file into EEPROM/flash. For this command to
work, you must have previously selected an S-record file.
6.1.6.9Pro gr am Fe a tu re Da ta
The Program Feature Data option on the Cyclone Image Creation Utility gives the user more
options to program dynamic data programming on the tar get device. To use Program Feature Data
select the "PF" command when creating a programming image. A window will show you the
options for feature data to program.
User Manual For Cyclone LC Programmers59
Page 60
The options can be 1) a string of the current date (YYYY-MM-DD), 2) a string of the current date
and time, 24-hour clock (YYYY-MM-DD HH:MM:SS), 3) run test data.
Cyclone FX only: To 4) program the barcode into the flash of the target device, BARCODESTR
should be selected. The next window contains the hex address of where the dynamic data will be
stored:
Figure 6-19: Program Feature Address Dialog (Hex)
6.1.6.10 Verify Module
This command will verify that the selected S-record file was programmed into the EEPROM/flash.
For this command to work, you must have previously selected an S-record file.
6.1.6.11 Verify Checksum
This command verifies the module content via a CRC calculation. This command is typically much
faster than performing a full Verify Module command.
Figure 6-18: Using PF Command (Dynamic Data )
6.1.6.12 Choo s e Seria l Fi le
This command becomes available once a progr amming algorithm is selected. It specifies the serial
file that holds the serial numbers to be programmed to the target.
6.1.6.13 Program Serial Numb er
This command becomes available once a programming algorithm is selected. It will instruct the
Cyclone 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.
6.1.6.14 User Options Commands
Some ARM devices have areas of flash memory dedicated to programming user configuration
data. As some writes to such areas can be sensitive or permanent, it is important that the
developer is able to write these options correctly the first time and avoid mis-programming
adjacent options that they wish to leave untouched. http://www.pemicro.com/blog/
index.cfm?post_id=177
User Manual For Cyclone LC Programmers60
Page 61
Figure 6-20: Program User Options Commands in Programming Sequence Panel
6.1.6.14.1 Create/Modify User Options File
When the Create/Modify User Options File (CU) command is selected it allows the developer to
either: a) create a new user options (.OPT) file from scratch, or b) modify an existing .OPT file. This
JSON-type file represents the user options that the developer wishes to write, and will be used by
the Specify User Options File (SU) and Program User Options (PU) commands later.
Figure 6-21: CU Command Dialog
a. If "Create File" is selected, a new window will open, in which the names of existing user area(s)
and included options are displayed. For each user option, the developer will have the ability to
either "Write [a new] Value" or "Leave [the option] Unmodified." New values must be written in
hexadecimal format.
User Manual For Cyclone LC Programmers61
Page 62
Figure 6-22: Create User Options File Window
Once all new values have been written in their appropriate fields, the de veloper can save th em to a
new user options (.OPT) file.
Figure 6-23: Save User Options File Dialog
b. If "Modify File" is selected, the user can choose an existing .OPT file to modify.
User Manual For Cyclone LC Programmers62
Page 63
Figure 6-24: Open User Options File Dialog
The values specified in that file will be displayed in their appropriate fields.
Figure 6-25: Modify User Options File Window
At this point, the developer can choose to modify any contents of the file. The developer can either
overwrite the selected file, or save the modified contents to a new filename, leaving the selected
file as it was before.
Once a user options (.OPT) file has been created/saved, it can be used to program the device's
user options by using the Specify User Options File (SU) and Program User Options (PU)
commands.
6.1.6.14.2Specify User Options File
With the Specify User Options File (SU) command, the developer can select an existing user
options (.OPT) file.
User Manual For Cyclone LC Programmers63
Page 64
6.1.6.14.3Program User Options
Once a file has been specified, the Program User Options (PU) command can be used to write the
values specified by the file. For most devices, new option values won't take effect until the device
is reset.
6.1.7Communication Mode and Rate Settings
Cyclone LC programmers support multiple communication modes and communication ra tes. A
user needs to select proper communication mode and rate from the drop down list after
programming operations are specified. The debug connector pin definitions are listed for
reference.
6.1.8Target Voltage and Power Settings
A user may elect to use Cyclone to supply power to the target. In this case, the Target Voltage
specifies the target MCU I/O voltage level.
The user needs to take into account the power discharge time for the Power Down delay. The
reset driver delays, power stabilization time, and the target clock stabilization time should be
considered for the Power Up delay.
A checkbox is available for a user to instruct the Cyclone to turn off target power after SAP
operations. If unchecked, the target power will remain on.
The user has the option to provide Reset Delay if certain reset monitoring devices are used. The
Cyclone will delay for the specified time after allowing the target out of reset.
6.1.9Image Description
The Cyclone Image Creation Utility allows the user to summarize the purpose of their current
configuration for future reference by adding text to the Image Description box. The description will
be either programmed into the Cyclone or saved into an encrypted file.
The image description will appear on the Cyclone’s touchscreen LCD for image identification. This
field will not affect the Cyclone’s operations with the target.
Tip: If your image will be encrypted, it can be helpful to indicate this as part of the Image
Description.
Figure 6-26: Image Description Box
6.1.10ProCryption Security Features
Cyclone FX programmers, and Cyclone LC programmers with ProCryption Security activated,
can take advantage of the powerful security features that can be configured in this area of the
Cyclone Image Creation Utility.
6.1.10.1 SAP Image Encryption
Users can create unique ImageKeys which can be used to encrypt their programming images.
SAP images encrypted in this way can only be loaded onto a Cyclone that has been provisioned
with the identical ImageKey.
Note:Both the Cyclone and the ImageKey are needed to decrypt the image. If the ImageKey is later
removed from the Cyclone, the encrypted SAP image cannot be decrypted for programming.
Likewise, the encrypted image cannot be re ad on a PC.
This section will detail how to use the Cyclone Image Creation Utility to encrypt a SAP image. For
a more in-depth description of Cyclone SAP image encryption, please see CHAPTER 11 - SAP IMAGE ENCRYPTION. For detailed information about how to use and manage encrypted
programming images during the prod u c tio n pr ocess, the user should refer specifically to Section
11.4 - Managing Encryption For Production Programming.
User Manual For Cyclone LC Programmers64
Page 65
6.1.10.1.1Creating an ImageKey
If an ImageKey has not been created or a new ImageKey is required, the user should select the
“Image Encryption” combo-box in the Cyclone Image Creation Utility and choose the “Create
Image Encryption Key...” option.
Figure 6-27: Create Image Encryption Key - Drop Box
This will pop up a box asking for a descriptive ImageKey Name (this name will be used for display
in many dialogs):
Figure 6-28: Create ImageKey
After entering the name, the user should click Generate Encryption Key. This will bring up a dialog
which allows the user to choose the save location:
Figure 6-29: Save Image Encryption Key To File Dialog
The user should navigate to the desired location and then click "Save". The ImageKey will be
generated and automatically selected in the Cyclone Image Creation Utility, such that generating
an image will use this ImageKey for encrypting.
Figure 6-30: ImageKey Selected After Creation
Note:Every ImageKey created is unique and may not be recreated. This means that once generated,
the user should keep the ImageKey in a secure place. Users may also wish to keep track of which
SAP images have been encrypted with each ImageKey, as the current software does not track this
information.
User Manual For Cyclone LC Programmers65
Page 66
By default, the ImageKey will stay selected in the Image Creation Utility. If a different ImageKey is
required for encryption, or the user does not wish to encrypt their SAP image, the corresponding
change may easily be selected using the drop-down box.
6.1.10.1.2Encrypting A SAP Image
To create an encrypted programming image, the user sets up their parameters in the Cyclone
Image Creation Utility as usual, and then simply selects the desired ImageKey in the "Image
Encryption" combo-box.
The image will automatically be generated as an encrypted image, encrypted with the selected
ImageKey. An encrypted stand-alone programming image is called an eSAP (Encrypted Stand
Alone Programming) file. This eSAP file may be downloaded to any Cyclone which has been
provisioned with the same ImageKey (i.e. the ImageKey has already been added to the Cyclone).
This is discussed in Section 11.4.1 - Provisioning a Cyclone with an ImageKey.
6.1.10.2 Image Restrictions
There are any number of reasons why the user may want to place restrictions on the use of
specific programming images on a Cyclone programmer: from added ease when managing
production to a desire to protect intellectual property.
Cyclone FX programmers and Cyclone LC programmers with the ProCryption Security Activation
License are able to restrict the use of programming images via the associated fields in the Cyclone
Image Creation Utility.
Figure 6-31: ImageKey Selection
Figure 6-32: Image Restrictions
This area allows you to specify one or more restrictions and tie them to specific programming
images. Even if restricted programming images are deleted from Cyclone’s internal memory or an
SD card, the Cyclone platform has a persistent memory that continues to tie security restrictions to
that programming image. Thus, if an image is removed and re-added to a Cyclone, the image
counts are maintained and would continue counting from where it left off. Also, if the SD Card is
moved from Cyclone to Cyclone, the count is maintained in both Cyclones as well as the SD Card.
Every time an image is generated by the Cyclone Image Creation utility, it is encoded with a unique
image ID number. All counts are stored relative to this unique ID number. So, when an image is
regenerated in the Cyclone Image Creation utility, it will have its own counts which will not conflict
with the previously generated image, even if the images are otherwise exactly the same. In this
way, the user can regenerate an image to allow a new batch of targets to be programmed.
Note: The user may set more than one type of restriction on a programming image. The ability to
program the image will be restricted by whichever triggers first. E.g., if the user creates settings to
allow 100 programs, and also sets an allowed date range restriction, the ability to program the
image will be restricted as soon as the first of these conditions is triggered.
Currently the user may set the following restrictions:
6.1.10.2.1Limit Image Usage Between Dates
When “Limit Usage Between Dates” is checked and the start and end dates are specified with valid
dates (format: DD/MM/YYYY), the Cyclone operator will only be allowed to program the
User Manual For Cyclone LC Programmers66
Page 67
corresponding programming image when the date is on or between the dates specified. The
Cyclone has an onboard battery and clock which keeps a clock running even when power to the
Cyclone is removed. This clock date is the one used for comparison to the UTD Date specified in
the image. The ability to limit programming to a date is useful for making sure that an image will
stop working after a period of time. This could be for security purpo ses, or to ma ke sure tha t a new
and updated image will need to be uploaded to the Cyclone after a period of time (for instance, to
not allow a firmware more than a year old to be programmed onto a target).
6.1.10.2.2 Limit Number of Programs Allowed
When “Limit Number of Programs Allowed” is checked and a number is specified in the
corresponding box (minimum = 1), the Cyclone operator will only be able to execute a number of
successful programming operations of this programming image less than or equal to the number
specified. The current programming count can be displayed on the main screen of the Cyclone or it
can be seen on the image's statistics page (see Section 6.1.10.2.4 - Image Restriction
Statistics).
6.1.10.2.3 Limit Number of Failures Allowed
When “Limit Number of Failures Allowed” is checked and a number is specified in the
corresponding box (minimum = 1), the Cyclone operator will only be able to execute programming
operations on the current image until the maximum number of errors specified has been reached.
This restriction exists largely to prevent an operator from intentionally generating an error as part
of the programming process in an attempt to circumvent the count restrictions. A recommended
limit on this number would be on the order of 5% of the allowed programming counts.
6.1.10.2.4Image Restriction Statistics
Statistics related to any specified restrictions for the currently selected programming image may
viewed by navigating in the touchscreen menu to Current Image Ope rations - Show Current Image
Stats. For more information on viewing programming image stats, see Section 5.2.2.4 - Show
Image Restriction Stats (Requires FX or ProCryption Security Activation).
In addition, the statistics for Number of Programs & Maximum Allowed can be set to display on the
home screen by navigating in the touchscreen menu to Configure Cyclone Settings -> Configure Screen -> Configure Home Screen. For more information on how to config ure the Cyclo ne’s home
screen, see Section 5.2.3.5.4 - Configure Home Screen.
6.1.11FX Exclusive Features
This area contains a hardware feature that is exclusive to the Cyclone FX, and as such cannot be
licensed by Cyclone LC programmers.
6.1.12Store Image To Cyclone
“Store Image to Cyclone” allows the current configuration to be progra mmed into the Cyclone. The
Cyclone will then be ready for operations. After you click “Store Image To Cyclone,” the Cyclone
Control GUI will pop up so that you can choose the Cyclone onto which you wish to save the SAP
image.
Figure 6-33: Cyclone Control GUI: Choose Cyclone for Stored Image
The Cyclone Control GUI drop-down list allows the user to select from all the Cyclones availabl e.
User Manual For Cyclone LC Programmers67
Page 68
In the case of a Cyclone present on a different network (i.e., not displayed automatically in the
drop-down list), the user may specify its IP address by using the Specify Cyclone checkbox and
typing the identifier of the Cyclone.
Click on "Connect" to access the specified Cyclone. A click on the "Apply Changes" button will
then store the image on the selected Cyclone.
6.1.13Store Image To Disk
“Store Image To Disk” allows the current configuration to be saved onto the hard drive. The image
can then be transferred to the Cyclone’s internal flash (or an installed SD card) via the Manage
Images Utility.
6.1.14Save Cyclone Configuration
“Save Cyclone Configuration,” in the file menu, allows the user to save the configuration into a file,
which may be used for future reference, e.g., comparing the Cyclone contents with the file to see if
they are the same.
6.1.15Load Cyclone Configuration
“Load Cyclone Configuration” in the file menu allows the user to load a configuration that has
previously been saved in order to create a new image.
6.2Managing Multiple SAP Images
The Cyclone Control GUI, shown below in Figure 6-35, allows the Cyclone to store and manage
multiple images in the Cyclone’s internal memory and - on a Cyclone FX or a Cyclone LC with the
SDHC Port Activation License installed - on any compatible memory card that is loaded into the
SDHC port (CYCLONE programmers require SDHC License Activation).
Any programming images that have been created and saved to the disk using the Cyclone Image
Creation Utility may be loaded collectively onto the Cyclone, with one exception. Encrypted images
may only be loaded if their ImageKey resides on the Cyclone.
User Manual For Cyclone LC Programmers68
Page 69
Figure 6-34: Manage Images Utility
Upon opening a selected Cyclone in the Cyclone Control GUI, the user is provided in the first tab
with a list of the images currently on the unit’s internal memory which are marked with a Storage
Area label of "Internal". A list of images on any installed SDHC card will also be displayed with a
Storage Area label of "External"
You can add images with the "Add Image Internal" button under the images panel. These images
will appear with a "Status" label of "Ready to Store". These images are not yet in the Cyclone, the
"Apply Changes" button will have to be clicked for the changes to take effect.
If the Cyclone’s SDHC port is activated, the user can also add images to the external memory by
using the drop-down next to the "Add Image Internal" button and selecting "External". Alternatively,
once an image has been added to the propose d changes and it is in the "Ready to Store" state, the
user may right click on the image and click the "Switch storage to External" option.
In Figure 6-35, note that the Encryption area displays “Encrypted” or “None” to indicate whether
or not each programming image is has been encrypted. The Status area will display “Key
Missing!” if the ImageKey for an encrypted image has been removed from the Cyclone.
For information on how to encrypt SAP Images and the significance of the ImageKey, plea se refe r
to Section 6.1.10.1 - SAP Image Encryption. For an overview of Cyclone SAP Image encryption
and the process of using encrypted images in the production process, please see CHAPTER 11 -
SAP IMAGE ENCRYPTION.
6.2.1Delete Images From Internal/External Memory
Any images that are already stored on the Cyclone or installed SD card can be deleted by just
clicking on the trash can on the left of the image or by selecting the image and clicking the Delete
key on the keyboard, the image status will be changed to "Ready to Erase.” The image will be
removed after "Apply Changes" is clicked.
6.2.2Add/Remove Images From The Commit Changes Panels
Once the images that you wish to load appear in the image s ta b, you must press “ Apply Changes”
User Manual For Cyclone LC Programmers69
Page 70
to update the Cyclone accordingly. No actual updates will occur to the Cyclone’s internal/external
memory or installed SD card until the user selects “Apply Changes.
Note:Any SAP images that are already stored on older Cyclone models such as the Cyclone PRO,
MAX, Renesas, STMicro, or Cyclone LC ARM - Rev. A/B (or on a CompactFlash card in one of
those units, if applicable) can not be removed individually and can only be erased by removing all
images.
User Manual For Cyclone LC Programmers70
Page 71
7CYCLONE PROGRAMMER MANUAL CONTROL
The Cyclone LC must be configured before it can serve as a Stand-Alone Programmer. The user
may manually control the Cyclone via the LCD touchscreen menu and/or the Start button, or via
PC software. See CHAPTER 8 - CYCLONE PROGRAMMER AUTOMATED CONTROL (CYCLONE CONTROL SUITE) for information on how to use the Cyclone Control Suite to
configure, control, and automate Cyclone operations. The target power management schemes
remain the same for each control method.
7.1Operation Via Start Button
There is a Start button on the top of the Cyclone which is used for stand-alone programming. It is
specified as follows.
Button
START Start executing the tasks pre-configured into the Cyclone of the currently
7.1.1LED Indicators
The Cyclone has two (2) LEDs to indicate the current operation sta ge.
LED
ErrorThe Cyclone failed to execute the functions as instructed.
SuccessThe Cyclone executed the functions successfully.
Function
selected programming image.
FUNCTION
7.1.2Procedure via Start Button / LEDs
The following steps must be followed in order for the Cyclone to operate properly a fter it ha s b een
configured:
1. Turn off the target power supply if the “POWER IN” Jack is adopted.
2. Turn off the Cyclone system power.
3. Set the correct Power Management jumper settings.
4. Connect the target power supply to the “POWER IN” Jack, if applicable.
5. Connect the “POWER OUT” Jack to the target board power, if applicable.
6. Connect the ribbon cable to the target board debug connector.
7. Turn on the Cyclone system power.
8. Turn on the target power supply, if applicable.
9. Press the “START” button on the Cyclone.
When the “Success” LED lights up, you have successfully programmed your target.
7.1.3Example
After the user programs the contents and procedures into the Cyclone’s on-board flash, the
Cyclone 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.
If the Cyclone is providing power to the target board, the “Target Power” icon will illuminate on the
LCD display.
The Cyclone will then perform the operations. If they are performed successfully, the “Success”
LED will be illuminated. One stand-alone programming cycle will have just been completed.
User Manual For Cyclone LC Programmers71
Page 72
7.2Operation Via LCD Touchscreen Menu
Once the Cyclone LC is configured for stand-alone programming it may be operated by making
selections from the touchscreen LCD menu. This section describes the menu functions that allow
the user to easily execute stand-alone programming functions using the touchscreen LCD.
7.3Home Screen
The home screen appears when the Cyclone is powered on, or when the Home button
is tapped.
7.3.1Icons
A row of icons in the upper right corner indicates the status of various attributes of the Cyclone.
Note:The user may tap on the row of icons to view the meaning o f each of the cu rr ently displayed i cons.
Real-Time clock Enabled & Working: Yes / No
SDHC Memory Card: None / Va lid / Unformattted / Reset Cyclone**
* Target Device Is Powered - “Yes” indicates that the Cyclone LC detects power on the Vcc pin of
the target device programming hea d er.
** SDHC Memory Card (Requires SDHC License Activation) - “Reset Cyclone” indicates that the
Cyclone needs to be reset before the SDHC card will register as Valid. The user can push the
Reset button which is located on the front side of the Cyclone, below the LED indicators.
7.3.2Configurable Display Area
The main area of the home screen can be configured to optionally display the following
information, by using the Cyclone IP Configuration Utility (see Section 5.2.3.5.4 - Configure Home Screen):
1. Firmware version of the Cyclone (always shown).
2. IP address assigned to the Cyclo n e.
3. Name assigned to the Cyclone.
Cyclone Unit Status: Ok / Bad
Programming Status: Ready / Busy
USB-To-PC Enumerated: Yes / No
Cyclone Power Relays: Closed / Open
Target Device Is Powered*: Yes / No
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.
9. Time and date.
10. Status Window and Main Menu button (always shown).
11. Programming count & limit
12.
User Manual For Cyclone LC Programmers72
Page 73
7.4Status Window
The status window appears in the lower left corner of the home screen and displays the results of
programming operations.
7.4.1Error Information Icon
When the Cyclone experiences an error during programming operations, the Info icon will appear
to the left of the Menu button (or AUX button, if configured).
Info Icon:
Press the Info icon to view a detailed description of the error.
7.4.2AUX Button (Appears If Configured)
The Cyclone allows the user to add an Auxiliary (AUX) button to the home screen which will
perform a specific function when pressed. The specific function is chosen by the user when the
AUX button is configured. The AUX button will appear on the home screen to the left of the “Menu”
button, in the lower right corner of the home screen.
Figure 7-1: AUX Button On Home Screen (configured for perform CRC32 function)
For information on how to configure the AUX button, see Section 5.2.4 - Status.
7.4.3Main Menu
The Main Menu is accessible by pressing the “Menu” button when the Home Screen is displayed.
The Main Menu screen contains four selections. From these, select “Current Image Options.”
Figure 7-2: Touchscreen LCD Menu - Standalone Functions Highlighted
The menu selections in “Current Image Options” will allow the user to execute programming
operations, verify data, toggle power, validate the programming image, and modify the upcoming
serial number if necessary.
7.4.3.1Execute Image Function
Execute Specific SAP Function presents four Stand-Alone Programming functions that you may
execute by tapping the function that you wish to execute:
7.4.3.1.1 Launch Programming
This allows the user to execute the programming function. The Cyclone will program the target
device, if able, using the currently selected programming image. This is functionally equivalent to
User Manual For Cyclone LC Programmers73
Page 74
pressing the Start button.
7.4.3.1.2 Verify Data In Target
Performs a verify function on the data that has been programmed into the target device.
7.4.3.1.3 Toggle Power
Toggles the target power and makes sure all ports are driven to debug mode level.
7.4.3.1.4 Power Cycle Device To Run User Code
Toggles the target power and maintains tri-state mode for all signals.
7.4.3.1.5 Validate Image CRC32
Allows the user to perform a CRC32 validation on the currently selected programming image.
7.4.3.2Set Image Validation
Allows the user to choose between two validation settings: 1) validate the image each time the
Start button is pressed, or 2) do not validate the image.
7.4.3.3Serial Numbers
Displays the serial number information associated with the currently selected programming image.
If there is none, it will display, “This Image Contains No Serial Numbers.” There may be one or
more Serial Files associated with the image. The user can click on a specific Serial File name to
see the following information about that Serial File:
•UID - Unique identifier of the serial number
•Next Serial # ASCII - Next serial number to be programmed (shown in ASCII format)
•Algorithm ID - Displays the algorithm ID of the serial file
•CS ID - Displays the ID of the CS (Choose Serial) command in the SAP file.
Figure 7-3: Serial File Selection
The user can also click on “Modify Serial Number” to edit that serial number. It is possible to
Decrease or Increase the Next Serial by -10, -1, +1, +10. This is often done to address issues in
the production process, such as during initia l setu p.
User Manual For Cyclone LC Programmers74
Page 75
Figure 7-4: Increase or Decrease Serial Number
The adjustment buttons will display “Increase Not Allowed” and “Decrease Not Allowed” if the
image/algorithm/CS file that the user has selected does not allow for this operation.
Note:Unlike PEmicro’s current serial files, earlier “legacy” serial files are specific to one programming
image, When viewing Serial Number info for an image that references one or more legacy se rial
files, the Cyclone will not show links to the serial files but will instead display serial number info for
the first serial file. The user can then Modify Next Serial to change the next serial number, or click
MORE at the bottom to proceed to the next serial file (if any).
Figure 7-5: Serial Number View With Legacy Serial Files (CS IDs #1 & #2)
7.4.3.4Show Image Restriction Stats (Requires FX or ProCryption Security Activation)
Displays current statistics, if any, for Image Programmed Count & Maximum Allowed, Erro rs
Logged & Maximum Allowed, and Date Range Allowed. These limits can be set in the Security
Features section of the Cyclone Image Creation Utility (see Section 6.1.10.2 - Image
Restrictions).
Note: When Current Image Stats is displayed as a home screen item, only Image Programmed
Count & Maximum Allowed are displayed on the home screen.
User Manual For Cyclone LC Programmers75
Page 76
8CYCLONE PROGRAMMER AUTOMATED CONTROL (CYCLONE CONTROL
SUITE)
Users who wish to control, configure, and automate one or more Cyclone units have several
options available via the Cyclone Control Suite. All of these options are available to Windows
users, and many are also available to macOS/Linux users.
8.1Cyclone Control Suite - Overview
The Cyclone Control Suite is a new generation of automated control software developed to support
PC-based control of Cyclone LC and Cyclone FX stand-alone programmers.
Ways to control a Cyclone include programming launch, results recovery, management of images
resident on a Cyclone, addition of unique programming data for each target, as well as recovery of
descriptive errors.
The Cyclone Control Suite is included with all touchscreen Cyclones. Much of the feature set
works for all touchscreen Cyclones, however some advanced features require a Cyclone-resident
Advanced Automation License which comes built into Cyclone FX programmers and is available
as an upgrade for Cyclone LC.
8.1.1macOS/Linux Support Notes
The following information applies to operation of the Cyclone with macOS andLinux.
8.1.1.1M inimum Required Versions
The following are the minimum versions required for macOS/Linux support.
macOS: 10.13 High Sierra
Linux: 18.04 LTS
8.1.1.2U sa g e Dif fe r en c es
macOS/Linux users should note some subtle dif ferences between using the Cyclone Control Suite
with macOS/Linux vs, Windows.
8.1.1.3Advanced Control Suite Upgrade License
macOS/Linux users should note that an Advanced Control Suite Upgrade License can be installed
on the Cyclone LC, in order to enable certain advanced features (see Section 8.1.3 - Standard Features). If this license has been purchased but not yet installed, the user may need to use the
Cyclone Control GUI (a Windows-only application) to connect with the Cyclone and install the
license. Instructions for how to use the GUI to install the license can be found in Section 8.4.2.4 - Licenses Tab.
Once this step is completed on a Windows platform, all other actions can be completed on macOS
and Linux machines.Other
1. Cyclones cannot be controlled via Serial Port (RS232) using the Cyclone Control SDK or
Cyclone Control Console with macOS/Linux.
2. While control and automation of existing programming images is available for Windows/
macOS/Linux platforms via the Cyclone Control Suite, the utility that is used to create and
configure programming images (see Section 6.1 - Cyclone Image Creation Utility) is
currently Windows only. Users should plan their projects accordingly.
8.1.1.4Distinguishing Windows-Only And macOS/Linux-Specific Content
Information that pertains to the Windows platform only, or is particular to macOS/Linux, is indicated
by the symbols below. Content can be considered to apply to all three platforms unless otherwise
specified.
Windows-only:
macOS:
User Manual For Cyclone LC Programmers76
Page 77
Linux:
8.1.2Components
The Cyclone Control Suite consists of three major components:
1. Cyclone Control SDK – This is a Software Development Kit with a comprehensive API
allowing multiple Cyclones to be managed simultaneously from a user developed custom
application that loads the provided Cyclone Control library file. The library file can be
loaded from many programming languages that are able to load a such a file (C/C++, Delphi, C#, Java, Python, etc) as well as environments like LabVIEW. Examples and interface
code are provided in C/C++ (MSVC and GCC), and Delphi/FPC . See Section 8.2 - Cyclone Control SDK.
2. Cyclone Control Console – This is a powerful command-line application can be
launched from a script, a command-line, or another application and allows control of one
or more Cyclones simultaneously. The command-line application displays comprehensive
status messages and also returns an error code which can be recovered from the calling
application. See Section 8.3 - Cyclone Control Console.
3. Cyclone Control GUI – This is an interactive GUI based application which provides an
easy way to control Cyclones and manage images resident in the Cyclones. Given its
graphical nature, it is very easy to explore Cyclone Control Suite capabilities to intuitively
control or interact with a Cyclone. See Section 8.4 - Cyclone Control GUI.
The Console and GUI were both built using the SDK and are good examples of the types of
applications that the SDK can be used to build.
Additional sample applications come as part of the installation. They contain defined build scripts
that can be used to build the sample application without any modifications.
8.1.3Standard Features
The three control applications all provide the following Standard features for all Cyclones:
•Cyclone control via multiple connection types:
- USB, Serial, or Ethernet
-: USB, Ethernet
•Select and Launch Images by Name or Enumeration
•Add/Remove/Update a single image in the Cyclone
•Add/Remove/Update multiple images in the Cyclone (GUI only)
•Recover programming result and descriptive error information
•Use automatically counting local (Cyclone stored) serial numbers
•Read/write Cyclone properties
•Read Image and target Properties and Status
•Remote Display Access and the ability to “touch” the screen
8.1.4Advanced Features
The SDK and Console applications provide the following additional Advanced features for all
Cyclone FX units and any Cyclone LC upgraded with a resident Cyclone Control Advanced
Automation License:
•Add/Remove/Update multiple images in the Cyclone (Console, SDK)
•Simultaneously (Gang) Control multiple Cyclones
- USB, Serial, or Ethernet
-: USB, Ethernet
•Program (and Read) Dynamic Data in addition to fixed image data
User Manual For Cyclone LC Programmers77
Page 78
8.1.5PEmicro Compatible Hardware
The following lists the PEmicro hardware that is compatible with the Cyclone Control Suite. To
ensure proper operations, PEmicro recommends upgrading all Cyclone units to the latest
firmware.
•Cyclone FX Universal
•Cyclone FX ARM
•Cyclone LC Universal
•Cyclone LC ARM
•Cyclone PRO (Standard features only)
•Cyclone MAX (Standard features only)
•Cyclone for ARM (Standard features only)
•Cyclone for Renesas (Standard features only)
•Cyclone for STMicro (Standard features only)
8.2Cyclone Control SDK
The Cyclone Control SDK allows a Windows/macOS/Linux user to interact with the Cyclone via a
library file (such as Windows’ .dll, macOS’ .dylib, or Linux’ .so files).
8.2.1Introduction
The Cyclone Control SDK is one of the three compon ents that comprise the Cyclone Control Suite.
Its library allows the user to create an application on the PC that can directly control one or more
PEmicro Cyclone units. These interface routines are designed to be compiled into visual and non
visual applications running on Windows, macOS, or Linux operating systems. macOS/Linux SDK
files are contained in a separate .tar file (see Section 8.2.4.4 - Compiling).
The actual interface routines are located in the “cyclonecontrolsdk” library file. This library file is
callable from almost any 32-bit / 64-bit Windows, macOS, or Linux development environment.
Since the way the library file is called varies depending on the compiler used, PEmicro provides
the library interface code and sample applications for each of the following compilers.
Note:PEmicro’s blog offers articles with detailed setup instructions for some of the options below; see
8.2.2Backwards Compatibility With Classic Cyclone Control API
The “cyclonecontrolsdk” library file is backwards compatible with many of the classic Cyclone
Control API calls. In each header file, there is a constant variable or define which is declared as the
file name of the library file. The value of this variable should be changed to the new filename
“cyclonecontrolsdk.dll” instead of the old "cyclone_control.dll". After this modification, rebuild the
project and it should continue working with the new library file.
8.2.3Getting Started with the Cyclone Control Library File - Windows Users
This section outlines the steps you need to take to begin developing your own custom application
User Manual For Cyclone LC Programmers78
Page 79
and offers tips and suggestions to get the Cyclone Control Library File working with your PEmicro
hardware smoothly.
Note:Section 8.2.1 - Introduction includes links to detailed exampl es for certain compiler s which detail
how to set up a programming image and use the SDK with some advanced options.
8.2.3.1Exa m p le Progra ms
Located in the installation directory of the package, you will find two example programs that you
can use as a reference for your own applic at io n . The examp les ar e located in the following
directories:
The pre-built VIs that we provide include modifications for error handlin g using error clusters.
Please visit our blog post “Automated Flash Programming with LabVIEW” for more information on
how to develop your own LabVIEW project.
8.2.4Getting Started with the Cyclone Control Library File - macOS/Linux Users
This section outlines the steps needed to begin developing a custom application and offers tips
and suggestions to get the Cyclone Control SDK library working smoothly with PEmicro hardware.
8.2.4.1SDK Contents
macOS/Linux users will require the CycloneControlSDK.tar file, an archived (zipped) file which
includes macOS and Linux releases.
The release is structured along the following directories:
•Linux: C and C++ example files, the “cyclonecontrolconsole” command line utility,
CycloneControlGUI, and the “libcyclonecontrolsdk.so” library
•macOS: C and C++ example files, the “cyclonecontrolconsole” command line utility,
CycloneControlGUI, and the “libcyclonecontrolsdk.dylib” library
•Firmware: The latest firmware releases
•User manuals: The user manual for the Cyclone programmer.
8.2.4.2Exa m p le Progra ms
Located in the macOS and Linux directories of the package, you will find two example programs
that you can use as a reference for your own ap plication. The examples are located in the
following directories:
INSTALLDIR/macOS/c: C example files for macOS
INSTALLDIR/macOS/cpp: C++ example files for macOS
INST ALLDIR/linux/c: C example files for Linux
INSTALLDIR/linux/cpp: C example files for Linux
These example programs are a valuable reference to use when starting your own custom
application.
8.2.4.3Starting Your Own Project
The Cyclone Control Console (cyclonecontrolconsole) comes ready to use. To use it, you can
simply invoke a commandline command such as:
./cyclonecontrolconsole -cyclone=usb1 -listimages
./cyclonecontrolconsole -cyclone=10.1.2.3 -launchimage=1
The first command will query a Cyclone unit connected via a USB cable and list any programming
images that are on board.
The second command will remotely launch the first programming image that is on a Cyclone with
IP number 10.1.2.3.
For a full description please see Section 8.3 - Cyclone Control Console.
8.2.4.4Compiling
In order to compile (or use the Makefile), you will need to have the appropriate compiler (such as
gcc or g++) available. These compilers are often native to Linux. Mac users will need to have
Xcode and its command-line utilities installed.
8.2.4.4.1 How To Build
The examples show how you can write a custom application using the SDK library. To build the
example files, change directory into the appropriate folder (such as "cd example\cpp") and invoke
the Makefile by calling "make" from a command line.
User Manual For Cyclone LC Programmers80
Page 81
Please note that the Makefile only builds the example file, it does not copy the files necessary to
immediately use the compiled program. To do that, please perform a "make install", this will copy
the appropriate firmware files as well as the libcyclonecontrolsdk library, into a "deploy" folder,
thereby making the custom program readily usable.
Once you have peformed "make" and "make install", you can cd into the deploy directory and
invoke the program as follows:
./apiExample -cyclone=usb1 -listimages
This will show the programming images that are on a Cyclone connected through a USB cable.
8.2.4.4.2 Running An Application On macOS
By default, MacOS does not allow applications from unindentified developers to run on the system.
This would cause a message stating that the application "cannot be opened because the
developer cannot be verified." There are two ways to resolve this issue:
1. Yo u can simply navigate to the file on an ex plorer, right click on the executable, and select
2. Yo u can completely disable this feature thr ough the System Preferences menu, although it
8.2.5Initialization
ULoading the DLL (C/C++ Projects only)
the "Open with" option to open the application with Terminal.app. You will then be albe to
open the application.
is not a recommended option.
Before calling any routines from the DLL, the DLL must be loaded into memory. To do this, the
following function has been provided in the included header files. Refer to Chapter 4 of this manual
for a detailed description of this function.
loadLibrary( );
For Delphi (Pascal) and C# users, this process is transparent for the user and no action is
required.
UEnumerate all ports
After loading the DLL, a call to the following function is required in order to properly initialize all
devices. This function should only be called once, typically at the beginning of the application.
enumerateAllPorts( );
UConnect to the PEmicro hardware interface
The next step is to establish communications with the PEmicro Cyclone unit. This is accomplished
with the following function call:
connectToCyclone( );
Refer to Chapter 4 of this manual for a detailed description of this function. This call returns the
handle to the Cyclone unit which is used in all other routines in the DLL to identify the Cyclone.
Note that the special case of a return value of 0 indicates an error contacting the Cyclone. This
function will be called once for each Cyclone.
User Manual For Cyclone LC Programmers81
Page 82
8.2.6Finalization
Before closing the application, it is recommended that the session with the PEmicro hardware be
terminated and the DLL unloaded from memory .
These calls should always be made before the application closes:
disconnectFromAllCyclones( );
unloadLibrary();
Note that the “unloadLibrary” call is only required for C/C++ applications. For the Delphi and C#
example projects, the DLL is automatically unloaded when the application closes.
8.2.7Initial Cyclone Setup
The Cyclone Image Creation Utility software, which is included with each Cyclone, is used to
create the standalone images that will be stored in the non-volatile memory of the Cyclone.
Note:Mac/Linux users will need a Windows platform for the image creation and configuration process.
These programming images contain the FLASH / EEPROM programming algorithms, the actual
binary data to be programmed, the sequence of programming operations, and user specified
Cyclone settings.
Prior to using the Cyclone Control Suite, these standalone images need to be created. Please
refer to the user’s manual of your Cyclone unit for more information on standalone images and
image creation.
Figure 8-1 describes the most common sequence of calls to the DLL after successfully connecting
to the Cyclone unit.
a. Initiate programming operations. “startImageExecution” carries out the programming
operations defined in the stand-alone image stored on the Cyclone unit.
User Manual For Cyclone LC Programmers82
Page 83
b. Wait for programming completion. Note that no error checking is provided by the
“checkCycloneExecutionStatus” call. A result of 0 will be returned even if an error has
occurred or if communication with the Cyclone is lost.
c.Retrieve the error code from the Cyclone unit to determine if the programming was
successful.
8.2.9External Memory Storage Support
Some Cyclones support external memory storage. Th e Cyclone Control SDK an d Cyclone Control
Console both support images resid ing on external memory cards. The parameter
“selectedMediaType” is used to select between Cyclone internal Flash and external memory.
Image numbers will go in ascending order starting with image number 1. Internal images will be
counted first and external image numbers will start after the last internal image number. Image
number 1 will refer to the first image in the internal memory if there are any images in the Cyclone
internal memory , if there are no internal images, image 1 will refer to the first image in the external
memory.
Modifying images residing in external memory will only be available on Cyclones with the proper
license. Certain Cyclones may require a supplementary license to support external memory.
8.2.10Application Programming Interface (API)
This chapter describes the API of the “CycloneControlSDK.dll” in detail. A C/C++ function
prototype is given here. Header files are prov ide d for the follo win g lan g ua ges :
Pascal
C/C++
8.2.10.1 Constants
CycloneInformation_IP_Address1
CycloneInformation_Generic_Port_Number3
CycloneInformation_Cyclone_Type_String4
Name32-bit Value
CyclonePortType_USB5
CyclonePortType_Ethernet6
CyclonePortType_Serial7
CycloneInformation_Name2
MEDIA_INTERNAL1
MEDIA_EXTERNAL2
8.2.10.2 DLL Loading / Unloading Calls
8.2.10.2.1loadLibrary
bool loadLibrary(char *filepath);
User Manual For Cyclone LC Programmers83
Page 84
This function loads the CycloneControlSDK.dll into memory and gives the user access to all of the
functions available in the library. This routine must be called before any of the other routines can be called.
@returnvalue True if the load was successful, false otherwise.
8.2.10.2.2unloadLibrary
void unloadLibrary(void);
This function unloads the DLL loaded with loadLibrary( ). This call should be made before the
application starts to unload itself.
8.2.10.2.3 enumerateAllPorts
void enumerateAllPorts(void);
This function performs all necessary initialization in order to successfully communicate with a
Cyclone. The function is called once before the first call to “connectToCyclone”.
8.2.10.2.4disconnectFromAllCyclones
void disconnectFromAllCyclones(void);
This function closes all open Cyclones (if any) and frees all dynamic memory used by th e DLL. The
function is called before the user application is closed.
8.2.10.2.5version
char *version(void);
This call returns a pointer to a null-terminated string that contains the version number of the DLL.
@returnvalueA pointer to a null-terminated string containing the version number of the DLL.
Specifies the index of the detected Cyclone by the function
queryNumberOfAutodetectedCyclones(). The valid range for this
parameter is from 1 to the number of Cyclones detected.
Page 85
@parameter
informationType
Specifies the property of the Cyclone to return. The possible values
are:
•CycloneInformationation_IP_Address
•CycloneInformation_Name
•CycloneInformation_Generic_port_number
@returnvalue
8.2.10.3 Cyclone Connecting / Disconnecting Calls
8.2.10.3.1connectToCyclone
A pointer to a null-terminated string containing the property value of
the specified Cyclone.
This function opens a session with a Cyclone and tests the connection. The handle return ed by
this function is passed as a parameter to other functions provided by the DLL. If you connect to a
Cyclone that already has a handle, the same handle is returned. If there is a failure contacting the
Cyclone, the function returns a 0.
Note that the DLL does not support multiple Cyclones connected via the serial port. If you require
more than one Cyclone to use a serial port connection, PEmicro recommends using the RS232
communication protocols.
A pointer to a null-terminated string which uniquely identifies the
Cyclone connected to the host PC.
If identifying by IP address, the string should be in the format of
xxx.xxx.xxx.xxx, where xxx = 0…255.
If identifying by name, the string should contain the name of the
@parameter
nameIPOrPortIdentifier
@returnvalue
8.2.10.3.2connectToMultipleCyclones
Cyclone.
If identifying by port and the Cyclone is connected by USB, the
string should be USB# where # is 1…8. If the Cyclone is
connected by Ethernet, the string should be in the format of
xxx.xxx.xxx.xxx, where xxx = 0…255.
If the Cyclone is connected by Serial, the string should be
COM1.
The handle to the opened Cyclone unit. A return value of 0
indicates a failure to connect to the specified Cyclone unit.
This function returns a array of handles to opened Cyclones from a null-terminated String of
comma delimited identifiers.
User Manual For Cyclone LC Programmers85
Page 86
@parameter nameIpOrPortIdentifierArray
@parameter
multipleCycloneHandleArrayPtrType
A null terminated string containing one or more
Cyclone identifiers (name, IP address, or port
number) delimited by commas.
Example: USB1,209.1.10.2,Orion,COM1
If identifying by IP address, the string should be
in the format of xxx.xxx.xxx.xxx, where xxx =
0…255.
If identifying by port and the Cyclone is
connected by USB, the string should be USB#
where # is 1…8.
If the Cyclone is connected by Serial, the string
should be COM1.
A pointer to an array of Cyclone handles. Each
element of the array corresponds to the position
of the identifier in the previous parameter. If the
function connected to the Cyclone, the value of
the array element would correspond to its
handle otherwise it will be 0.
This value will be modified with the number of
@parameter
numberOfCycloneOpensAttempted
@returnvalue
8.2.10.3.3setLocalMachineIpNumber
Cyclones that the function attempted to open. It
is also the size of the
multipleCycloneHandleArrayPtrType structure.
True if every Cyclone was identified and has a
valid handle.
False if there were any errors identifying or
connecting to any of the Cyclones.
void setLocalMachineIpNumber(char* ipNumber);
If a PC has multiple network interface cards, this function sets the IP address of the network card
to use communicate with the Cyclones. This is called prior to calling any other functions.
A pointer to a null-terminated character string in the format
@parameter ipNumber
xxx.xxx.xxx.xxx, where xxx = 0…255, representing the IP address of
the network card.
A Cyclone may have several independent programming images in its non-volatile internal or
external memory. A programming image contains the programming algorithms, bina ry da ta , an d
programming sequence. This function instructs the Cyclon e to start execution of an image. After
invoking this call, the “checkCycloneExecutionStatus” function is used to poll the Cyclone until
completion.
@parameter cycloneHandleThe handle of the Cyclone to begin programming operations
Selects the image on the Cyclone to use. The valid range of this
parameter is from 1 to the total number of images in the Cyclone
@parameter imageId
@returnvalue
8.2.10.4.2startDynamicDataProgram
with the count starting from internal memory and then external
memory.
If a Cyclone only stores one image, this parameter is 1.
True if the programming process has started successfully.
Sometimes, in addition to the large amount of static data being programmed into a targ et fr om the
Cyclone, it is advantageous for the calling application to program small sections of unique data
dynamically. Examples of this include date/time, serial number, MAC addresses, and lot numbers.
This function is valid to be called only after a programming image has been programmed into the
target (once startImageExecution has completed). Call the “checkCycloneExecutionStatus”
function to wait for completion. If the target is reset by the Cyclone or by a power cycle after
programming the image, this function will fail. The workaround for this is to execute a second
image that will re-load the algorithm before you call startDynamicDataProgram.
@parameter cycloneHandleThe handle of the Cyclone to begin dynamic programming.
@parameter targetAddress
@parameter dataLength
@parameter bufferA pointer to the array which holds the data to be written.
@returnvalue
The first memory address o f the target processor where the
dynamic data should be written.
The total number of bytes to be written. This parameter cannot
be greater than 255.
True if the programming process has started successfully.
Checks to see if the Cyclone has completed a programming operation started with either the
“startImageExecution” or “startDynamicDataProgram” fu nctions.
After this function returns with completed value, “getLastErrorCode” should be called to determine
the programming result. A result of 0 will be returned even if a programming error has occurred or
if communication with the Cyclone is lost.
@parameter cycloneHandleThe handle of the Cyclone to perform a status check on.
@returnvalue
8.2.10.4.4dynamicReadBytes
1 = Currently programming
0 = Completed (with or without error)
This function reads a specified number of bytes from a specified memory address of the target
processor. This call is only valid after first having made a call to the “startImageExecution” function
in the sequence of commands.
@parameter cycloneHandleThe handle of the Cyclone that will perform the dynamic read.
@parameter targetAddress
@parameter dataLengthThe number of total bytes to read from the target pro cessor
@parameter buffer
@returnvalue
The first memory address of the target processor where the
data will be read.
A pointer to the array where the data read will be stored. This
array must have been allocated prior to calling this function.
True if the data was successfully read
False otherwise
This function returns the error code of the specified error number recorded in the DLL or in the
Cyclone. It should be called when the function getNumberOfErrors() is greater than or equal to 1.
@parameter cycloneHandleThe handle of the Cyclone to retrieve the error code.
@parameter errorNum
User Manual For Cyclone LC Programmers88
This specifies the error number. The valid range for this
parameter is from 1 to the total number of errors.
If the “getErrorCode” function returns a non-zero value (indicating an error has occurred), this
routine can be used to query the address where the error occurred.
@parameter cycloneHandle
@returnvalue
8.2.10.4.8 getDescriptionOfErrorCode
The handle of the Cyclone from which to request the error
address.
The memory address where the last programming error
This function performs a hard reset of the Cyclone. It is the same as pressing the reset button. This
is considered a legacy call and does not need to be called by the application.
@parameter cycloneHandleThe handle of the Cyclone that will be reset.
@parameter resetDelayInMs
@returnvalue
8.2.10.5 Configuration / Image Maintenance Calls
8.2.10.5.1getImageDescription
The reset delay, specified in milliseconds. The delay should be
at least 5500 ms.
This function returns the description of a particular image stored on the Cyclone (internal Flash or
external memory card). This description is specified by th e us er when the ima ge is crea te d.
@parameter cycloneHandleThe handle of the Cyclone to get an image description.
User Manual For Cyclone LC Programmers89
Page 90
@parameter imageId
Used to select which image stored on the Cyclone to
read the description from. The valid range of this
parameter is from 1 to the total number of images in the
Cyclone with the count starting from internal memory and
then external memory.
If a Cyclone only stores one image, this parameter
should be set to 1.
@returnvalue
8.2.10.5.2formatCycloneMemorySpace
A pointer to a null-terminated character string which
contains the image description
This function erases the specified image that is stored on the Cyclone. This function is not
supported by legacy Cyclones.
@parameter cycloneHandleThe handle of the Cyclone that will have its image erased
Selects the image on the Cyclone to use. The valid range of this
parameter is from 1 to the total number of images in the Cyclone
with the count starting from internal memory and then external
@parameter imageId
@returnvalue
8.2.10.5.4addCycloneImage
memory.
If a Cyclone only stores one image, this parameter is 1.
True if the erasure was successful
This function adds a specified stand-alone programming image into the selected media type. The
User Manual For Cyclone LC Programmers90
Page 91
image files have a .SAP file extension and are created with the Cyclone Image Creation Utility. If
the Cyclone’s storage limits are reached, this routine will return an error.
@parameter cycloneHandle
@parameter selectedMediaType
@parameter replaceImageOfSameDescription
@parameter aFile
@returnvalue
The handle of the Cyclone that will accept
the new image
This parameter selects between Cyclone
internal Flash (selectedMe diaType = 1) or
external memory (selectedMediaType =2).
Set to True if you want the image to
overwrite any existing images with the
same description
Set to False if you do not want the image
to overwrite any existing images with the
same description. An error will occur.
A pointer to a null-terminated character
string which contains the full path to the
.SAP file to be added.
The image number of the image that was
just added. This number is used as the
“imageId” parameter for some function
calls.
A return value of “0” indicates an error has
occurred during the process.
This function reads a property value of the Cyclone or a stored SAP image. Examples of pr operties
are Cyclone Name, Cyclone IP Address, Image Name or Image media type. There are different
categories with different properties. Refer to the heade r file for a list of valid categ ory and prope rty
names. The function getPropertyList will return a list of valid properties for each category .
@parameter cycloneHandleThe handle of the Cyclone from which to read the property.
@parameter resourceOrImageId
User Manual For Cyclone LC Programmers91
The id for image properties is the image id on the Cyclone.
The id for Cyclone or Network properties is 0.
Page 92
@parameter categoryName
A pointer to a null-terminated character string that contains
the category of the property that will be read.
@parameter propertyName
@returnvalue
8.2.10.5.7setPropertyValue
A pointer to a null-terminated character string that contains
the name of the property that will be read.
A pointer to a null-terminated character string that contains
This function changes the property of the Cyclone to the value specified. Only certain properties
can be changed using this call. This function will return false if the property was not changed.
Refer to the header file for a list of valid category and property names. The function getPropertyList
will return a list of valid properties for each category.
@parameter cycloneHandleThe handle of the Cyclone from which to read the property.
@parameter resourceOrImageId
@parameter categoryName
The id for image properties is the image id on the Cyclone.
The id for Cyclone or Network properties is 0.
A pointer to a null-terminated character string that contains
the category of the property that will be modified.
@parameter propertyName
@parameter newValue
@returnvalue
8.2.10.5.8 getPropertyList
A pointer to a null-terminated character string that contains
the name of the property that will be modified.
A pointer to a null-terminated character string that contains
the new value of the property.
True if the data was successfully set
False otherwise
This function returns a list of valid category and property names that can be used with the
“getPropertyValue” and “setPropertyValue” functions. Refer to the header file for a list of valid
category and property names.
@parameter cycloneHandleThe handle of the Cyclone that will return the property list.
@parameter resourceOrImageId
@parameter categoryName
The id for image properties is the image id on the Cyclone.
The id for Cyclone or Network properties is 0.
A pointer to a null-terminated character string that contains
the category of the property list.
@returnvalue
User Manual For Cyclone LC Programmers92
A pointer to a null-terminated character string that contains
a list of property names.
Page 93
8.2.10.6 Features Calls
8.2.10.6.1 getFirmwareVersion
char *getFirmwareVersion(uint32_t cycloneHandle);
This function reads the firmware version of the selected Cyclone.
@parameter cycloneHandleThe handle of the Cyclone of which to read the firmware version.
@returnvalue
8.2.10.6.2cycloneSpecialFeatures
Returns a pointer to a null-terminated character string containing
the firmware version.
This function is used for executing special features described by th e feature Num parameter. Refer
to the parameter specifications below for details.
@parameter featureNum
@parameter setFeature
@parameter paramValue1Ignored, set it to 0.
@parameter paramValue2Ignored, set it to 0.
@parameter paramValue3Ignored, set it to 0.
CYCLONE_GET_IMAGE_DESCRIPTION_FROM_FILE
Indicates whether the image file has been decoded.
If previous operations has already decoded the file,
then set it to true. Otherwise set it to false.
A pointer to a pointer to a null-terminated character
@parameter paramReference1
string that contains the image description of the SAP
file.
@parameter paramReference2
A pointer to a null-terminated character string which
contains the full path to the specified SAP file.
True if the image description was read
@returnvalue
False otherwise
@parameter featureNum
CYCLONE_GET_IMAGE_CRC32_FROM_FILE
Indicates whether the image file has been decoded.
@parameter setFeature
If previous operations has already decoded the file,
then set it to true. Otherwise set it to false.
@parameter paramValue1Ignored, set it to 0.
@parameter paramValue2Ignored, set it to 0.
User Manual For Cyclone LC Programmers93
Page 94
@parameter paramValue3Ignored, set it to 0.
@parameter paramReference1
@parameter paramReference2
A pointer to an unsigned 32-bit value containing the
CRC32 of the SAP file.
A pointer to a null-terminated character string which
contains the full path to the specified SAP file.
True if the CRC32 was read
@returnvalue
False otherwise
@parameter featureNum
CYCLONE_GET_IMAGE_SETTINGS_FROM_FILE
Indicates whether the image file has been decoded.
@parameter setFeature
If previous operations has already decoded the file,
then set it to true. Otherwise set it to false.
The type of setting to extract {configuration script=1,
@parameter paramValue1
image unique id etc.=2, serial numbers=3, additional
settings=4, crc_exclusive settings=5}.
@parameter paramValue2Ignored, set it to 0.
@parameter paramValue3Ignored, set it to 0.
@parameter paramReference1
@parameter paramReference2
A pointer to a pointer to a null-terminated character
string that contains the settings of the SAP file.
A pointer to a null-terminated character string which
contains the full path to the specified SAP file.
True if the image settings was read
@returnvalue
False otherwise
@parameter featureNum
CYCLONE_GET_IMAGE_COMMMAND_LINE_PAR
AMS_FROM_FILE
Indicates whether the image file has been decoded.
@parameter setFeature
If previous operations has already decoded the file,
then set it to true. Otherwise set it to false.
@parameter paramValue1Ignored, set it to 0.
@parameter paramValue2Ignored, set it to 0.
@parameter paramValue3Ignored, set it to 0.
A pointer to a pointer to a null-terminated character
@parameter paramReference1
string that contains the command line parameters of
the SAP file.
User Manual For Cyclone LC Programmers94
Page 95
@parameter paramReference2
A pointer to a null-terminated character string which
contains the full path to the specified SAP file.
@returnvalue
True if the command line parameters was read
False otherwise
@parameter featureNum
CYCLONE_GET_IMAGE_SCRIPT_FILE_FROM_FI
LE
Indicates whether the image file has been decoded. If
@parameter setFeature
previous operations has already decoded the file,
then set it to true. Otherwise set it to false.
@parameter paramValue1Ignored, set it to 0.
@parameter paramValue2Ignored, set it to 0.
@parameter paramValue3Ignored, set it to 0.
@parameter paramReference1
A pointer to a null-terminated character string that
contains the name of the script file.
@parameter paramReference2
A pointer to a null-terminated character string which
contains the full path to the specified SAP file.
True if the script file was read
@returnvalue
False otherwise
@parameter featureNum
CYCLONE_TOGGLE_POWER_NO_DEBUG
@parameter setFeatureIgnored, set it to false.
@parameter paramValue1Ignored, set it to 0.
@parameter paramValue2Ignored, set it to 0.
@parameter paramValue3Ignored, set it to 0.
@parameter paramReference1Ignored, set it to null.
@parameter paramReference2Ignored, set it to null.
True if the power was toggled.
@returnvalue
False otherwise
@parameter featureNum
User Manual For Cyclone LC Programmers95
CYCLONE_SET_ACTIVE_SECURITY_CODE
Page 96
@parameter setFeatureIgnored, set it to true.
@parameter paramValue1
@parameter paramValue2The length of the security code bytes.
@parameter paramValue3Ignored, set it to 0.
@parameter paramReference1
@parameter paramReference2
@returnvalue
8.3Cyclone Control Console
The Cyclone Control Console, the next component of the Cyclone Control Suite, is an application
that controls Cyclone operations through the use of simple console commands. This application is
very easy for Windows/macOS/Linux users to set up and use and offers functio nality ve ry sim ilar
to using the Cyclone Control library file directly.
To find the Cyclone Control Console application, navigate to the following directory:
[INSTALLDIR]\Cyclone Control\
The Cyclone Control software performs all operations specified in simple commands. A separate
batch file would typically be used to launch the utility with the correct parameters.
The security code type (e.g. MON08, Renesas, PPC
Nexus 64 bit, PPC Nexus 256 bit ignored, set it to 0).
A pointer to an array containing the security code
bytes.
A pointer to a null-terminated character string
containing the security type string (such as 'MON08',
'RENESAS', 'PPCNEXUS').
True if the security code was set
False otherwise
8.3.1Startup
a. Connect all Cyclone units to the PC via RS232 , USB, or Etherne t. Any combina-
tion of different connections is allowed. The exception is that only one RS232 serial
port connection can be used; no more than one Cyclone can be connected via the
RS232 serial port.
b. Connect all Cyclones to their target systems. This is done using a ribbon cable that
connects from the Cyclone to a debug header on the target board.
c.Power up the PC, all Cyclone units, and all target systems that require exter nal power.
d. Run the CycloneControlConsole software from the command prompt.
8.3.2Command-Line Parameters
The command-line utility supports the following commands:
-listcyclones
Shows a list of auto-detected Cyclones
-cyclone=[cyclone identifier]
Opens the Cyclone or Cyclones by name or identifier. The Cyclone argument can be a single
identifier or a comma delimited list. Available identifiers are cyclone name, port number, or IP
address.
User Manual For Cyclone LC Programmers96
Page 97
-listimages
List the images present on all open Cyclones. If there are no open Cyclones the command will list
the images on all detected Cyclones.
-launchimage=[image name or number]
Launch a specific image on the open Cyclones. The image can be identified by name or image
number.
-putdynamicdata=[cyclone number],[address],[data]
ONLY SUPPORTED BY CYCLONE FX OR THE CYCLONE CONTROL SUITE ADVANCED LICENSE.
Performs programming of dynamic data with the selected Cyclone unit. [cyclone number] is the index of the
connected Cyclone in the order in which it was entered. [address] is the starting memory address. [data] are
the bytes of data to be programmed. All values should be in hexadecimal format. No more than 255 bytes
may be programmed this way.
A Cyclone unit may only use this command after it has performed its “-launchimage” command.
If the target is reset after programming the image, “-putdynamicdata” will fail. The workaround to this is to
execute a second blank image that will re-load the algorithm before using this command.
Performs programming of dynamic data with the selected Cyclone unit. [cyclone number] is the
index of the connected Cyclone in the order in which it was entered. [address] is the starting
memory address. [string] is the data in string format. No more than 255 bytes may be programmed
this way.
A Cyclone unit may only use this command after it has performed its “-launchimage” command.
If the target is reset after programming the image, “-putdynamicstring” will fail. The workaround to
this is to execute a second blank image that will re-load the algorithm before using this command.
-showproperties=[category],[image id if applicable]
List all available properties in a [category] in the open Cyclones or a stored SAP image by using
the [image id if applicable] argument. Refer to the header file for a list of valid category and
property names. Using an empty string as the [category] value will return the available categories.
-addimageinternal=[filename]
Add a specific programming image to the internal memory of the open Cyclones. [filename] is the
path and filename of the image to be programmed into the Cyclones.
-addimageexternal=[filename]
ONL Y SUPPOR TED WITH CYCLONE FX OR THE CYCLONE MEMORY EXPANSION LICENSE.
Add a specific programming image to the external memory of the open Cyclones. [filename] is the
path and filename of the image to be programmed into the Cyclones.
User Manual For Cyclone LC Programmers97
Page 98
-eraseallinternalimages
Preform a format of the internal memory connected to the open Cyclones. This will cause all
internal images to be erased.
-eraseallexternalimages
Preform a format of the external memory connected to the open Cyclones. This will cause all
external images to be erased.
-eraseimage=[image name or number]
Erase an individual image from the open Cyclones. The image ca n be identified by image name or
by image number.
-listserialfiles
List Serial Files in Cyclone
-addserialfile=[file path]
Add Serial File to Cyclone
-deleteserialfile=[object ID or display index]
Delete Serial File from Cyclone. Can be deleted by ID or by display index.
-firmwareupdate=[firmware update mode]
Set the firmware update mode to “auto”, “dontupdate”, “forceupdate”. The default mode is “auto.”
-help
Display a list of available commands.
The following command-line parameters require a Cyclone FX, or a Cyclone LC with the
ProCryption Security Activation License.
-listencryptionkeys
List Encryption Key Files that reside on Cyclone
-addencryptionkey=[file path]
Securely add ImageKey file to Cyclone (encrypted with Cyclone-specific RSA public key). The file
path is the path to the ImageKey.
-deleteencryptionkey=[object ID or display index]
Delete ImageKey File from Cyclone. Can be deleted by ID, or by display index number (listencryptionkeys returns a numbered list of ImageKeys; the display index corresponds to these
User Manual For Cyclone LC Programmers98
Page 99
numbers).
8.3.3Examples
This section provides some basic examples that demonstrate how to use the Cyclone Control
Console to connect to the Cyclone, manage programming images, launch programming, etc.
Note:A more expansive list of examples is available on our website at:
http://www.pemicro.com/blog/index.cfm?post_id=142
The commands should be separated by a space. Every command starts with a “-” character,
arguments follow the “=” character.
This example connects to a single Cyclone identified by its IP address 10.0.1.1 and executes its
first image. This is the most common usage of the Cyclone Control Utility.
This example connects to three separate Cyclo ne un its. Two units are connected via USB
(10.0.1.1 and 10.0.1.2) and the third is connected via Ethernet (10.0.1.3). The three Cyclone units
are configured to execute image #2.
Here, a Cyclone is connected via the Serial port and is identified by name rather than IP address.
After executing image #1 on both cyclones, we write 6 bytes of dynamic data on Cycl one #2
starting at address 0x1080. Note that all parameters for the “-putdynamicdata” command should
be hexadecimal values.
User Manual For Cyclone LC Programmers99
Page 100
8.3.3.4Executing more than 1 image on the same Cyclone
Two Cyclone units are connected via Ethernet and both Cyclone units execute their first image.
Afterwards, the both Cyclones will execute their second image.
This example is useful when the processor’s code is split into two separate images. For example,
one image could contain the bootloader while the second image contains the main application
code.
In this example, a Cyclone unit is connected via USB and it has an image stored on its external
memory card. The external image is erased and a new one is added. This type of command
should only be used when an image needs to be updated.
8.3.3.6Image Management – Modifying Images on Two Cyclones in Parallel
In this example, two Cyclone units connected via USB have their images e rased a nd a new image
is added to both Cyclone units. This type of comm and should only be executed when images nee d
to be updated.
8.4Cyclone Control GUI
As part of the Cyclone Control Suite, PEmicro includes the Cyclone Control GUI, a graphical
application that gives the users access to all the functions of the latest Cyclone Control.
Note:This new application replaces the previous Image Manager Utility and Cyclone Config IP Utility.
The Cyclone Control GUI allows users to add and remove images from the internal Cyclone
memory as well as from the external memory cards. The utility also allows the user to view and edit
Cyclone properties, to view the Cyclone LCD remotely, to view and add Cyclone Licenses, and to
view and manage Serial Files and Encryption Keys.
The utility is composed of three main parts: a connection dialog, the control tabs, and a status
window.
User Manual For Cyclone LC Programmers100
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.