The included 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 in this envelope 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 this software 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 up to two different computers, provided that
the software is never used on the 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.
With respect to the physical media provided within, P&E Microcomputer Systems warrants
the same to be free of defects in materials and workmanship for a period of 30 days from
the date of receipt. If you notify us within the warranty period, P&E Microcomputer
Systems will update the defective media at no cost.
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 installing or using this software, you agree to the terms of this agreement. If you do not
agree, you should cancel the software installation now.
Corporation. “Freescale,” “ColdFire,” and “Kinetis” are registered trademarks of Freescale
Semiconductor, Inc. “IBM” and “Power Architecture” are registered trademarks of IBM
corporation. “ARM” is the registered trademark of ARM Limited.
P&E Microcomputer Systems, Inc.
98 Galen St.
Watertown, MA 02472
617-923-0053
http://www.pemicro.comManual version 1.09
The Cyclone MAX is a versatile tool that can be used for the programming,
debugging, and testing of microprocessor-based hardware. It can be
controlled interactively via a Host PC, or operate independently of the PC in
stand-alone mode. The Cyclone MAX can also be configured and operated
via Serial, USB, and Ethernet communication interfaces. When in stand-alone
mode, its programming functions can be initiated directly through user input
buttons, or by using those same buttons to make selections from the LCD
menu.
The Cyclone MAX is able to debug and program a variety of processor
architectures using the target hardware’s Background Debug Mode (BDM) or
JTAG ports.
• Supported Architectures
•Power Architecture BDM (MPC5xx/8xx)
•Qorivva (MPC55xx/56xx)
•ColdFire V2/3/4 (MCF52xx/53xx/54xx)
CYCLONE MAX
•Kinetis ARM
•ARM Nexus (MAC7xxx Automotive Family)
In addition to the versatility of being able to debug and program the
aforementioned processor families, and the ability to function in stand-alone
mode, the Cyclone MAX includes these other features:
• Multiple Communications Interfaces
•Ethernet 10/100 baseT
•USB 1.1
•Serial Baud 115200, no parity, 8 data bits, 1 stop bit.
• Onboard and CompactFlash Storage
•Onboard storage of 7 Megabytes. Stores the image to be
Cyclone MAX User Manual1
CYCLONE MAX
programmed, programming algorithm, and any configuration settings.
•CompactFlash storage available with purchase of CompactFlash
activation license.
•Multiple images may be saved using the onboard or CompactFlash
(when activated) storage.
• Multi-Voltage Operation
•Automatically detects and caters to target voltages ranging from 1.8
to 5 Volts.
• LCD Menu
•Allows simple, menu-based control of the configuration and function
of the Cyclone MAX.
In short, the Cyclone MAX is an all-in-one solution for debugging,
programming, and testing of your hardware.
2Cyclone MAX User Manual
2GETTING STARTED
Stand-alone programming is the most common use of the Cyclone MAX,
therefore this section provides a simple quick-start guide to 1) configuring the
Cyclone MAX with data, and 2) using it in stand-alone mode to program the
flash of a target system. The user is encouraged to read this manual in its
entirety for a complete description of the full feature set of the Cyclone MAX.
2.1Software Installation
The first step is to install the accompanying software. This will install all of the
applications and drivers that will be used to configure/control the Cyclone
MAX. Once the installation is complete and the PC has been rebooted you
may begin to configure the unit for operation.
2.2Image Creation Utility
If you plan to use the Serial or USB ports for communication, then the
Cyclone MAX can be used right out of the box. If you wish to use the Ethernet
port, however, you will need to configure the corresponding IP numbers
before use. The Ethernet port will not be functional until this configuration is
complete. Please read Section 8 - ETHERNET PORT CONFIGURATION for
more information about the Cyclone IP Setup Utility.
Once you have connected the Cyclone MAX to the PC via either a Serial,
USB, or Ethernet cable, you can launch the Cyclone MAX Image Creation
Utility in order to create a SAP image. A “SAP” Image, or Stand-Alone
Programming Image, is a self-contained image of programming algorithms,
programming procedures, and program data. Once the SAP Image has been
created, it can be transferred to the Cyclone MAX or saved to disk for later
use. The Cyclone MAX uses SAP Images to perform stand-alone programming
of target devices
CYCLONE MAX
Cyclone MAX User Manual3
CYCLONE MAX
Figure 2-1: Cyclone Image Creation Utility
(1) Provides a list of available functions that the user may select and add
to the programming sequence.
(2) This window is where the programming steps are sequenced.
(3) This button moves selected programming functions into the sequence
window.
(4) Displays the processor architecture and the corresponding interface
port on the Cyclone MAX.
4Cyclone MAX User Manual
CYCLONE MAX
(5) Displays the pinout configuration for the selected architecture.
(6) Allows the user to set the BDM Shift Frequency by selecting from the
drop-down box.
(7) Allows the user to set the Reset Delay.
(8) The “Store Image To Cyclone” button allows the user to store the
current image on the Cyclone MAX.
(9) The “Store Image To Disk” button allows the user to store the current
image on their hard drive. The Manage Image Utility can be used to
configure the Cyclone with one or more images.
At this stage you are simply configuring the Cyclone with the appropriate data
file and programming procedure. Actual programming of the target hardware
occurs later.
Once the information required in Areas 1-4 is complete, you may configure
the Cyclone MAX by clicking the “Store Image to Cyclone” button.
After the image has been saved, you can program a target by simply pressing
the “Start” button on the Cyclone MAX. This will begin the sequence that was
specified in Area 3 (in this example: erase, blank check, program, verify
programmed data).
The complete functionality of the Cyclone MAX and its accompanying utilities
is beyond the scope of this Getting Started section. Please read further to
learn more about the full feature set and operation of the Cyclone MAX. For a
detailed description of the Cyclone MAX Configuration Utility, please refer to
Section 4 - STAND-ALONE PROGRAMMER CONFIGURATION.
Another option is to save the SAP Image to disk. This allows you to transfer
the image to several different Cyclones, or conversely to transfer several
images to one Cyclone. The utility that allows you to transfer multiple images
to the Cyclone MAX (or its accompanying CompactFlash card) is called the
Manage Images Utility.
2.3Manage Images Utility
Once the programming images have been created and saved to the disk
using the Create Image utility, they may then be loaded collectively onto the
Cyclone. The Manage Images utility, shown in Figure 2-2, allows the Cyclone
to store and manage multiple images in the Cyclone’s internal memory. If you
have purchased a CompactFlash activation license it will also allow you to
store and manage multiple images on any compatible CompactFlash cards
Cyclone MAX User Manual5
CYCLONE MAX
that are loaded into the Cyclone’s CompactFlash port.
Figure 2-2: Manage Images Utility
Upon opening a selected Cyclone MAX, the user is provided in the top left
panel with a list of the images currently on the unit’s internal memory. If the
CompactFlash license has been activated, a list of images on any connected
CompactFlash card will also be displayed in the bottom left panel. The panels
to the right can be used to add or delete additional images by using the Add
and Remove buttons beneath each panel.
6Cyclone MAX User Manual
CYCLONE MAX
Once the images that you wish to load appear in the panels to the right, you
must press “Commit Changes” to load the Cyclone accordingly. No changes
made to the Cyclone MAX until the “Commit Changes” button is pressed.
Note:Any images that are already stored on the Cyclone MAX or CompactFlash
can only be removed by using the “Remove All” button.
Cyclone MAX User Manual7
CYCLONE MAX
3CYCLONE MAX HARDWARE
This section describes the various ports and inputs of the Cyclone MAX.
3.1Power Source
The Cyclone MAX requires a regulated 6V DC Center Positive power supply
with 2.5/5.5mm female plug. The Cyclone MAX receives its power from the
power jack located on the side of the unit.
Figure 3-1: Power Jack
3.2Serial (RS232) Communications Port
The Cyclone MAX provides a DB9 Female connector for communication with
a host computer through the Serial (RS232) Port. Communication takes place
at a fixed baud rate of 115200 Baud, 8 Data bits, No Parity, and 1 Stop Bit.
Figure 3-2: Serial Port
8Cyclone MAX User Manual
3.3USB 1.1 Communications Port
The Cyclone MAX provides a USB connector for communicating with a PC via
the Universal Serial Bus port. The Cyclone MAX is a USB 1.1 compliant
device.
Figure 3-3: USB Port
CYCLONE MAX
3.4Ethernet Communications Port
The Cyclone MAX provides a standard RJ45 socket for communication with a
host computer through the Ethernet Port. The Ethernet Port of the Cyclone
MAX is a 10/100 baseT port.
Figure 3-4: Ethernet Port
Cyclone MAX User Manual9
CYCLONE MAX
3.5PORT A – Reserved
Port A is reserved for future use.
3.6PORT B – Qorivva (MPC55xx/56xx) Interface
Port B can be used to connect to Qorivva (MPC55xx/56xx) targets. For the
physical dimensions of the connector, please see Section 3.14 - Ribbon
Cable with IDC Socket.
Figure 3-5: Port B - Qorivva Interface
Qorivva Pinout
TDI12GND
TDO34GND
TCK56GND
NC78NC
RESET910TMS
VDDE71112GND
RDY1314JCOMP
3.6.1BERG14-to-MICTOR38 Optional Connector (PORT B)
P&E offers a 14-pin BERG to 38-pin MICTOR adapter, sold separately, that
may be used on Port B of the Cyclone MAX. The P&E part number is
3.7PORT C – ColdFire Interface & ColdFire Extension Cable
Port C is the interface for the ColdFire MCF52xx/53xx/54xx family of
microprocessors. This port connects to the target hardware using either the
ColdFire extension cable (for synchronous ColdFire targets) or a standard 26pin ribbon cable (for asynchronous ColdFire targets). Both cables are
provided in the Cyclone MAX package. Please refer to each processor’s user
manual to identify whether it is a synchronous or asynchronous interface. If
you are not sure, or for test purposes, the synchronous cable will work with all
52xx, 53xx, and 54xx targets. For the physical dimensions of the connector,
please see Section 3.14 - Ribbon Cable with IDC Socket.
Figure 3-7: Port C - ColdFire Interface
Cyclone MAX User Manual11
CYCLONE MAX
GND34DSCLK
GND56N/C
RESET78DSI
GND1112PST3
PST21314PST1
PST01516DDATA3
DDATA21718DDATA1
DDATA01920GND
GND2324CLK
ColdFire Pinout
N/C12BKPT
VCC910DSO
N/C2122N/C
VCC2526TEA
The ColdFire extension cables, one for Synchronous targets and one for
Asynchronous targets, are pictured below:
Figure 3-8: ColdFire Extension Cable With Adapter (Synchronous ColdFire
Port D can be used to connect to Power Architecture BDM (MPC5xx/8xx)
targets. For the physical dimensions of the connector, please see Section
3.14 - Ribbon Cable with IDC Socket.
Figure 3-10: Port D - Power Architecture BDM Interface
Cyclone MAX User Manual13
CYCLONE MAX
Power Architecture BDM Pinout
N/C12SRESET#
GND34DSCLK
GND56N/C
HRESET#78DSDI
VDD910DSDO
3.9PORT E – Kinetis & ARM Nexus
Port E can be used to connect to Kinetis and ARM Nexus (MAC7xxx) targets.
For the physical dimensions of the connector, please see Section 3.14 - Ribbon Cable with IDC Socket. The Cyclone MAX also includes an adapter
for users whose Kinetis target header is Mini-10 or Mini-20. A Mini-20 ribbon
cable comes with the adapter.
Figure 3-11: Port E- ARM Nexus
ARM Nexus Pinout
TVCC12N/C
TRST#34GND
TDI56GND
TMS78GND
TCK910GND
N/C11 12GND
TDO13 14GND
RESET#15 16GND
N/C17 18GND
N/C19 20GND
14Cyclone MAX User Manual
CYCLONE MAX
Figure 3-12: Kinetis Mini-10 and Mini-20 Adapter
Figure 3-13: Kinetis Mini-10 and Mini-20 Pinouts
Cyclone MAX User Manual15
CYCLONE MAX
3.10PORT F – Reserved
Port F is reserved for future use by P&E. Do not connect to this port.
3.11CompactFlash Port
The CompactFlash port can be activated by purchasing a CompactFlash
Activation License from P&E. The CompactFlash port accepts Type I
CompactFlash cards. This allows the user to store programming images that
are, individually or collectively, larger than the Cyclone’s internal memory
(7MB). It also makes swapping programming images much more quick and
convenient. A 128MB CompactFlash card (shown below) is included with
activation.
Figure 3-14: CompactFlash Port
Purchase of the CompactFlash activation license unlocks the CompactFlash
panels in the included Manage Images utility. Programming images may then
be managed on the CompactFlash in exactly the same way as they are in the
Cyclone’s internal memory. Please see Section 2.3 - Manage Images Utility
for more information about using Manage Images.
3.12Cyclone MAX Buttons
There are five (5) buttons on the top of the Cyclone MAX which are used for
stand-alone programming and to navigate the LCD menus. They are specified
as follows:
16Cyclone MAX User Manual
3.13LEDs
CYCLONE MAX
ButtonFunction
START / Start executing the tasks pre-configured into the
Cyclone MAX.
Menu Mode: Navigate upwards in LCD menu.
AUX / Perform auxiliary function (stand-alone verification).
Menu Mode: Navigate downwards in LCD menu.
MENU / [SELECT]Displays LCD Menu (enters Menu Mode).
Menu Mode: Select highlighted item in LCD menu.
CANCELCancel the tasks being executed and go back to the
standby state.
RESETHardware reset of the Cyclone MAX.
Eight LEDs are used to provide programming and Cyclone MAX status:
1. Power – Indicates power has been supplied to Cyclone MAX
2. Ready – The Cyclone MAX is ready to perform programming functions
3. Image – Indicates the presence of one or more images on board.
4. Erase – Erasing of target flash is in progress
5. Program – Programming of target flash is in progress
6. Verify – Verifying of target flash is in progress
The Cyclone MAX provides several standard 0.100-inch pitch dual row 0.025inch square headers (Ports A-F, as described earlier in Section 3 - CYCLONE MAX HARDWARE). A typical layout for one such header is
shown below. Using these headers, the Cyclone MAX can communicate with
the target through a number of different-sized ribbon cables. Each of the
ribbon cables have a 0.100-inch centerline dual row socket IDC assembly (not
keyed). The ribbon cables are designed such that the Cyclone MAX Ports and
Cyclone MAX User Manual17
CYCLONE MAX
target BDM Ports must have the same pinout, i.e., Pin 1 of a Cyclone MAX
Port is connected to Pin 1 of the target BDM header. Here is an example
header:
Figure 3-15: Example 16-Pin Header Diagram
The following notes relate to the pinout labels on Cyclone MAX Ports:
•N/C signifies a No Connect. This pertains to pins that are reserved for
future use by Freescale or P&E Microcomputer Systems, and should
not be connected.
•A signal name ending in # (e.g. RESET#) signifies an active-low
signal.
18Cyclone MAX User Manual
CYCLONE MAX
4STAND-ALONE PROGRAMMER CONFIGURATION
The Cyclone MAX may act as a stand-alone in-circuit programmer for Power
Architecture BDM (MPC5xx/8xx), Qorivva (MPC55xx/56xx), ColdFire
(MCF52xx/53xx/54xx), and ARM (MAC7xxx) targets. A simple user interface,
the Cyclone Image Creation Utility, is provided for configuring the Cyclone
MAX.
4.1Cyclone MAX Image Creation Utility
The Cyclone MAX does not require a target to be connected when it is being
configured. However, the Cyclone MAX must be powered on (indicated by the
“Ready” LED), and either the PC Serial port, USB port, or Ethernet port must
be connected to the Cyclone MAX. Figure 4-1 shows the configuration dialog
with an example configuration. The configuration details are explained below.
Cyclone MAX User Manual19
CYCLONE MAX
Figure 4-1: Image Creation Utility
4.1.1Target Architectures
The Cyclone MAX supports the Power Architecture BDM (MPC5xx/8xx),
Qorivva (MPC55xx/56xx), ColdFire (MCF52xx/53xx/54xx), and ARM
MAC7xxx architectures.
The user may select the target architecture by clicking the corresponding tab.
Alternately, the user may select the target architecture through the File menu.
Figure 4-2 shows the selection.
20Cyclone MAX User Manual
CYCLONE MAX
Figure 4-2: Target Class Selection via File Menu
4.1.1.1Power Architecture BDM (MPC5xx/8xx)
The user may configure the Cyclone MAX to operate on a Power Architecture
BDM (MPC5xx/8xx) target by switching to the corresponding option in the
drop-down list.
Alternately, the user may select the target through the File menu.
Figure 4-3 shows the Power Architecture BDM specification configuration.
The target BDM header connections are shown on the right-hand side for
Cyclone MAX User Manual21
CYCLONE MAX
user reference.
Figure 4-3: Power Architecture BDM Settings
4.1.1.2ColdFire V2/3/4 (MCF52xx/53xx/54xx)
The user may configure the Cyclone MAX to operate on a ColdFire V2/3/4
target by switching to the ColdFire option in the drop-down list. Alternately, the
user may select the ColdFire V2/3/4 target through the File menu.
Figure 4-4 shows the ColdFire V2/3/4 specification configuration. The target
BDM header connections are shown on the right-hand side for user reference.
22Cyclone MAX User Manual
CYCLONE MAX
Figure 4-4: ColdFire Settings
4.1.1.3ARM MAC7xxx
The user may configure the Cyclone MAX to operate on an ARM MAC7xxx
target by switching to the ARM option in the drop-down list. Alternately, the
user may select the ARM MAC7xxx target through the File menu.
Figure 4-5 shows the ARM MAC7xxx specification configuration. The 20-pin
target header connections are shown on the right-hand side for user
reference.
Cyclone MAX User Manual23
CYCLONE MAX
Figure 4-5: ARM MAC7xxxSettings
4.1.1.4Kinetis
The user may configure the Cyclone MAX to operate on a Kinetis target by
switching to the Kinetis option in the drop-down list. Alternately, the user may
select the Kinetis target through the File menu.
Figure 4-5 shows the Kinetis specification configuration. The 20-pin target
header connections are shown on the right-hand side for user reference.
24Cyclone MAX User Manual
CYCLONE MAX
Figure 4-6: Kinetis Settings
4.1.1.5Qorivva (MPC55xx/56xx)
The user may configure the Cyclone MAX to operate on a Qorivva (MPC55xx/
56xx) target by switching to the corresponding option in the drop-down list.
Alternately, the user may select the target through the File menu.
Figure 4-7 shows the Qorivva specification configuration.
The 14-pin target header connections are shown on the right-hand side for
user reference.
Cyclone MAX User Manual25
CYCLONE MAX
Figure 4-7: Qorivva Settings
4.1.2BDM Shift Clock Delay Constant
The BDM Shift Clock Delay Constant allows the user to set the BDM shift
clock speed of the Cyclone MAX. The equation for determining the shifting
frequency is: 50000000 / (5 + 2*n). This clock cannot generally exceed a div 6
of the processor bus frequency.
4.1.3Specify Programming Algorithm and S-Record
To specify the programming algorithm for the target, the user may simply
26Cyclone MAX User Manual
select the CM (Choose Module) command from the Programming Sequence
list (1) and add it to the programming steps (2) using the add button (3).
Similarly, to specify the S-Record to be programmed into the target, the user
may simply select the SS (Specify S-Record) command from the
Programming Sequence list (1) and add it to the programming steps (2) using
the add button (3).
See Figure 2-1 for a visual reference.
4.1.4Base Address
Depending on the programming algorithm, the user may be required to enter
the base address for the module. If the programming algorithm requires a
base address, the Module Base Address Settings will be displayed. The user
must enter the correct base address. Otherwise, the default value (0) shown
in the diagram will be used.
4.1.5Script Wizard
The Script Wizard is a convenient addition to the Cyclone Image Creation
Utility. The Script Wizard allows the user to simply select the programming
functions to be executed. The Script Wizard then orders these functions
automatically.
To begin, click the Launch Script Wizard button on the right side of the
Cyclone Image Creation Utility. This opens the Script Wizard.
CYCLONE MAX
Cyclone MAX User Manual27
CYCLONE MAX
Figure 4-8: Script Wizard Dialog
The user must first select a programming algorithm and an S-Record. Click
the corresponding Browse buttons to select a file, or use the drop-down list to
choose a previously selected file.
Once this is complete, the programming functions are enabled. At this point
the user has only to select the programming steps that are required, with no
further attention to the order of operations.
For example, in Figure 4-9, three programming functions have been selected
and sequenced by the Script Wizard.
In the Programming Sequence field, the user may specify the algorithm, SRecord, and operations to be carried out.
Choose Module
Presents a list of available programming files. Each programming file contains
information on how to program a particular module. Usually, the name of the
file indicates what kind of module it relates to.
Specify S-Record
Asks for the name (and/or path) to a file of Freescale S-records to be used in
programming or verifying a module. If the file is not found, an error message
is given. The currently-selected file is shown in the S19 file selected window.
The programmer accepts S1, S2, and S3 records. All other file records are
treated as comments. If you do not specify a file-name extension, a default of
.S19 is used. The programmer also supports ELF/Dwarf 2.0 object files.
Your S19 file may contain data for both EEPROM and flash. If you know that
your S19 file contains the correct data, “Ignore S19 Range” may be checked.
This will cause any out of range errors to be ignored.
Erase If Not Blank
This command performs a blank check of the module and erases it if it is not
blank.
Erase Module
If “Erase Module” is specified, the Cyclone MAX will perform an “Erase
Module” on the target device after entering the Monitor Mode or BDM mode.
30Cyclone MAX User Manual
CYCLONE MAX
Blank Check Module
If “Blank Check Module” is checked, the Cyclone MAX will perform a “Blank
Check Module” on the target device.
Program Bytes
Prompts for a starting address, which must be in the module. You are then
asked to enter a hexadecimal byte to be programmed into the current
location. Clicking the OK button will automatically advance to the next data
byte location.
Program Words
Prompts for a starting address, which must be in the module. You are then
asked to enter a hexadecimal word to be programmed into the current
location. Clicking the OK button will automatically advance to the next data
word location.
Program Module
For this command to work, you must have previously selected an S-record
file.
Verify Module
For this command to work, you must have previously selected an S-record
file.
Verify Checksum
This command verifies the module content via a CRC calculation.
4.1.7Store Image To Cyclone
“Store Image to Cyclone” allows the current configuration to be programmed
into the Cyclone MAX. The Cyclone MAX will then be ready for operations.
Figure 4-12: Image Management And Transfer Dialog
Cyclone MAX User Manual31
CYCLONE MAX
The Interface drop-down list allows the user to select either a serial, USB, or
Ethernet communication interface. The Port drop-down list allows the user to
select from one of the Cyclones available on that interface. In the case of a
Cyclone present on a different network (i.e., not displayed automatically in the
Port drop-down list), the user may specify its IP address by using the Specify
IP button.
“Store Image to Cyclone” will then store the image on the selected Cyclone.
4.1.8Save Image/Cyclone Configuration
“Store Image To Disk” allows the current configuration to be saved onto the
hard drive. The image can then be transferred to the Cyclone MAX via the
Manage Images Utility.
“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 MAX contents with the file to see if they are the same.
4.2Configuration Via LCD Menu
The following section describes configuration of the Cyclone MAX using the
LCD menus. Figure 4-13 shows an overview of the menu structure.
32Cyclone MAX User Manual
CYCLONE MAX
Figure 4-13: Overview Of Cyclone Menu Structure
4.2.1Status Window
Figure 4-14: Status Window
The status window appears when the Cyclone MAX is powered on. This lists
the following information:
1. The firmware version of the MAX.
2. The IP address assigned to the MAX.
Cyclone MAX User Manual33
CYCLONE MAX
3. The name assigned to the MAX.
4. Name of the PC connected to the MAX.
5. The number of programming images in the MAX’s memory.
6. The name of the selected programming image.
7. Current status.
8. Results of the last operation performed.
Hit the MENU/[SELECT] button on the Cyclone MAX to enter LCD menu
mode.
4.2.2Main Menu
Figure 4-15: Main Menu
The Main Menu is accessible by pressing the MENU/[SELECT] button when
the status window is displayed. The Main Menu contains the following
selections:
4.2.2.1Select SAP Image
Select SAP Image brings up a display listing the images that are stored in
the memory of the Cyclone MAX. You may select the appropriate image
by using the Up/Down arrows to highlight it, and then pressing the
“Select” button. The image name shown is the one specified in the
34Cyclone MAX User Manual
Cyclone configuration utility when programming the image to the Cyclone.
Figure 4-16: Select SAP Image
4.2.2.2Execute SAP Function
The Execute SAP Function menu selection is discussed in Section 5.2 -
Operation Procedure via LCD Menu. Please refer to that section for
additional menu information.
4.2.2.3Show Statistics
The Show Statistics menu selection is discussed in Section 5.2 -
Operation Procedure via LCD Menu. Please refer to that section for
additional menu information.
CYCLONE MAX
4.2.2.4Configure Cyclone
Figure 4-17: Configure Cyclone
Configure Cyclone brings up a submenu with three options from which to
choose. Selecting Edit IP Settings brings up a submenu with four options:
Cyclone MAX User Manual35
CYCLONE MAX
Configure Cyclone: Edit IP Settings
Figure 4-18: Configure Cyclone: Edit IP Settings
Edit IP Settings: Edit IP Number
Edit IP Number allows the user to set an IP number for the
Cyclone MAX. The current IP number 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. Press the Cancel button at any time to
leave the IP number as is and return to the Main Menu.
Figure 4-19: Edit IP Settings: Edit IP Number
Edit IP Settings: Edit IP Mask
Edit IP Mask allows the user to set an IP Mask for the
Cyclone MAX. 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
36Cyclone MAX User Manual
CYCLONE MAX
the -> (right-arrow) character. Selecting this character will
complete the process. The default IP mask is 255.255.255.0.
Figure 4-20: Edit IP Settings: Edit IP Mask
Edit IP Settings: Edit IP Gateway
Edit IP Gateway allows the user to set the IP Gateway for the
Cyclone MAX. 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 process.
Figure 4-21: Edit IP Settings: Edit IP Gateway
Edit IP Settings: Show MAC Address
Show MAC Address displays the current MAC address for
Cyclone MAX User Manual37
CYCLONE MAX
the Cyclone MAX.
Figure 4-22: Edit IP Settings: Show MAC Address
Configure Cyclone: Edit Cyclone Name
Edit Cyclone Name allows the user to set the name for the Cyclone
MAX. The current name 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. Press the Cancel button at any
point to leave the name as is and return to the Main Menu.
Figure 4-23: Configure Cyclone: Edit Cyclone Name
Configure Cyclone: Set AUX Button Func
Set AUX Button Func allows the user to assign a function to the AUX
button of the Cyclone MAX. If more than one choice is available,
highlight the function that you wish to assign to the AUX button and
38Cyclone MAX User Manual
CYCLONE MAX
press the Select button to choose it.
Figure 4-24: Configure Cyclone: Set AUX Button Func
Cyclone MAX User Manual39
CYCLONE MAX
5STAND-ALONE PROGRAMMER MANUAL CONTROL
The Cyclone MAX must be configured before it may serve as a Stand-Alone
Programmer for Power Architecture BDM (MPC5xx/8xx), Qorivva (MPC55xx/
56xx), ColdFire (MCF52xx/53xx/54xx), and ARM (MAC7xxx) targets. The
user may manually control the Cyclone MAX via the buttons/LEDs, LCD
menu, or via PC software. The target power management schemes remain
the same for each control method.
5.1Via Cyclone MAX Buttons
There are five (5) buttons on the top of the Cyclone MAX which are used for
stand-alone programming and to navigate the LCD menus. They are specified
as follows.
Button
START / Start executing the tasks pre-configured into the
AUX / Perform auxiliary function (stand-alone verification).
MENU / [SELECT]Displays LCD Menu (enters Menu Mode).
CANCELCancel the tasks being executed and go back to the
RESETHardware reset of the Cyclone MAX.
Pushing the START button launches the stand-alone programming image
which is currently selected (i.e., programming is a one-click operation).
Function
Cyclone MAX.
Menu Mode: Navigate upward in LCD menu.
Menu Mode: Navigate downward in LCD menu.
Menu Mode: Select highlighted item in LCD menu.
standby state.
5.1.1Cyclone MAX LED Indicators
The Cyclone MAX has eight (8) LEDs to indicate the current operation stage:
1. Power – Indicates power has been supplied to Cyclone MAX
2. Ready – The Cyclone MAX is ready to perform programming functions
3. Image – Indicates the presence of one or more images on board.
4. Erase – Erasing of target flash is in progress
5. Program – Programming of target flash is in progress
40Cyclone MAX User Manual
6. Verify – Verifying of target flash is in progress
Rev. B of the Cyclone MAX may be operated by making selections from the
LCD menu. This section describes the layout of the menus and the functions
that each may be used to perform.
CYCLONE MAX
Figure 5-1: Overview Of Cyclone Menu Structure
Cyclone MAX User Manual41
CYCLONE MAX
5.2.1Status Window
The status window appears when the Cyclone MAX is powered on. This lists
the following information:
1. The firmware version of the MAX.
2. The IP address assigned to the MAX.
3. The name assigned to the MAX.
Figure 5-2: Status Window
4. Name of the PC connected to the MAX.
5. The number of programming images in the MAX’s memory.
6. The name of the selected programming image.
7. Current status.
8. Results of the last operation performed.
5.2.2Main Menu
Figure 5-3: Main Menu
42Cyclone MAX User Manual
The Main Menu is accessible by pressing the “Menu” button when the status
window is displayed. The Main Menu contains four selections. This section
contains information on Execute SAP Function and Show Statistics. For
information on Select SAP Image and Configure Cyclone, please refer to
Section 4.2 - Configuration Via LCD Menu.
5.2.2.1Execute SAP Function
Execute SAP Function presents two Stand-Alone Programming functions
that you may execute by highlighting the function that you wish to perform
and pressing the “Select” button.
CYCLONE MAX
Figure 5-4: Execute SAP Function
5.2.2.2Compact Flash Status
If a compatible CompactFlash card is loaded into the Cyclone, the
Compact Flash Status menu selection displays information about that
CompactFlash card, including its name, the number of images it contains,
and the amount of free, used, and total memory it contains.
Figure 5-5: Compact Flash Status
Cyclone MAX User Manual43
CYCLONE MAX
5.2.2.3Programming Stats
The fourth line (PCIP:) displays the IP address of the last PC to control
the Cyclone MAX. The other categories listed are for future use and are
not currently implemented.
Figure 5-6: Programming Stats
5.3Cyclone Battery Pack
Manual control of stand-alone mode is also useful for performing field
updates. In this situation, there is often no access to a PC or power outlet.
However, the Cyclone may be powered by using a Cyclone PowerPack,
which is a lightweight and compact lithium ion battery (available separately).
Figure 5-7: Cyclone with Cyclone PowerPack
The combination of the Cyclone programmer and the battery pack creates a
fully operational field programming setup that is lightweight, compact, and
extremely portable. All that is required for a field update is to connect the
battery-powered, pre-programmed Cyclone to the target and initiate
programming.
44Cyclone MAX User Manual
CYCLONE MAX
6STAND ALONE PROGRAMMER AUTOMATED CONTROL
There are various means of controlling the Cyclone MAX in an automated
environment. Included with the Cyclone MAX is the Basic Edition of P&E's
Cyclone Automated Control SDK, which includes:
1. The CYCLONE LAUNCH software, which allows control of a single
Cyclone MAX via script files
2. A DLL which may be used by a host application to control a single
Cyclone MAX
6.1Automated .EXE Control of The Cyclone
The user can operate the Cyclone MAX in an automated production
environment via PC software called CYCLONE_LAUNCH.EXE. The
CYCLONE LAUNCH software performs all operations specified in a simple
ASCII script file written by the user. A separate batch file would typically be
used to launch the software with the correct parameters.
6.1.1Startup
a) Connect the Cyclone MAX to the PC via Serial Port, USB Port, or Ethernet.
b) Connect the Cyclone MAX to the target system.
c) Power up the PC and the target system.
d) Run the software from the DOS prompt. Allowed command-line parameters
Where [configuration script filename] is a configuration file containing all
operations to be carried out. Refer to Section 6.1.3 - Configuration Script File for more details regarding the contents of configuration files. This must be
the first parameter passed to the application. This parameter should be
enclosed in quotes if it contains spaces.
[?] designates that Cyclone Launch should remain open when operations are
completed. If this parameter is not specified, the utility will automatically close
upon completion.
Cyclone MAX User Manual45
CYCLONE MAX
[!] designates that Cyclone Launch should remain open if any error is
encountered. If there is no error, the software will automatically close upon
completion.
[-O] designates that the results are saved in an output file following this
parameter. The [output filename] parameter is mandatory if [-O] is used.
[output filename] is an output file that contains the operation results. A user
can check the output file to see if the operations were successful.
The Cyclone MAX executes all operations specified in the “config_script.cfg”
file and logs all results to the “output_log.txt” file.
6.1.3Configuration Script File
The configuration file contains two types of commands. The first type is
SETUP commands which configures the communication port between the PC
and the Cyclone units. The second type is Operation commands which carry
46Cyclone MAX User Manual
out the pre-configured Cyclone operations.
Comments are allowed in the script files. All lines beginning with the semicolon character ; are treated as comments by the application.
6.1.3.1Setup Commands
SETLOCALIP=ipaddress
Only needed if the host PC has more than one network card. “ipaddress”
indicates the IP address of the network card that should be used during
communications. If this command is used, it should be the first command in
the script file. “ipaddress” should be in the format of xxx.xxx.xxx.xxx, where
xxx=0...255.
OPENTYPE=x
Specifies whether the Cyclone MAX will be identified by IP address or by
device name. Both of these Cyclone parameters are reconfigurable by the
user. and need to be set up prior to using CYCLONE_LAUNCH. Please see
Section 8.6 - Cyclone IP Setup Utility User Interface (ConfigureIP)
for more information on how to configure the Cyclone IP number and the
Cyclone Device Name. Note that this choice of Cyclone identification is not
affected by how the Cyclone is connected to the PC (USB, Ethernet, or Serial).
CYCLONE MAX
The value of x may be:
IP- Cyclone units will be identified by their IP addresses
NAME- Cyclone units will be identified by their device names
PORT=y
Specifies the port that should be used for contacting the Cyclone MAX.
The value of y may be:
USB
ETHERNET
SERIAL
Cyclone MAX User Manual47
CYCLONE MAX
CYCLONE=identifier
Connects to the Cyclone MAX with the specified identifier. If OPENTYPE=IP,
the identifier should be in the format of xxx.xxx.xxx.xxx, where xxx=0...255. If
OPENTYPE=NAME, the identifier should be the name of the Cyclone unit.
6.1.3.2Operation Commands
START
Executes stand-alone programming operations on the connected Cyclone
MAX.
READDYNAMICDATA [address] [numbytes]
Reads dynamic data with Cyclone MAX. [address] is the starting memory
address. [numbytes] is the number of bytes of data to read. All values should
be in hexadecimal format. No more than 255 bytes may be read in this way.
A Cyclone unit may only use this command after it has performed its “START”
command.
DOS error returns are provided so they may be tested in .BAT files. See
Section 12 - CYCLONE ERROR CODES for a complete list of Cyclone error
codes.
6.1.5Sample Batch File
Here is an example of a way to call the CYCLONEMAX_LAUNCH utility and
test its error code return in a simple batch file. Sample batch files are given for
both Windows NT/2000/2003/Vista and Windows 95/98/ME/XP.
CYCLONE MAX
Windows NT/2000/XP/Vista:
CYCLONE_LAUNCH test.cfg
if errorlevel 1 goto bad
goto good
:bad
ECHO BAD BAD BAD BAD BAD BAD BAD BAD
:good
ECHO done
Windows 95/98/ME:
CYCLONE_LAUNCH test.cfg
Cyclone MAX User Manual49
CYCLONE MAX
if errorlevel 1 goto bad
goto good
:bad
ECHO BAD BAD BAD BAD BAD BAD BAD BAD
:good
ECHO done
6.2Automated .DLL Control Of The Cyclone
Another automated means of controlling a Cyclone MAX unit is via a Windows
.DLL. The .DLL allows a host application to connect to a Cyclone MAX and
control stand-alone programming operations. Included with the Cyclone MAX
is a .DLL which allows control of a single Cyclone MAX. Example code and
documentation is included which demonstrates use of the .DLL with a
Microsoft Visual C/C++ application, a Microsoft Visual C# application, and a
Borland Delphi application, although the .DLL is not limited to these
development environments. Any application which can load and use a .DLL
can be used for automated control of a single Cyclone unit.
DLL Information, Interface Code, and Examples
Documentation on how to use the DLL can be found in the “Cyclone
Automated Control SDK User’s Manual”, which is included in .pdf format with
the Cyclone MAX. The documented interface routines are available in the
CYCLONE_CONTROL.DLL library included in the software install. This .DLL
is callable from almost any 32-bit Windows development environment. The
method of calling the .DLL varies for different compilers, so .DLL interface
code and sample applications are provided for each of the following
compilers:
Microsoft Visual C++ 5.0+ - Visual MFC Application
Microsoft Visual C# 2005 – Visual Application
Borland Delphi 2.0+ (Pascal) - Visual Application
The sample applications come with project and workspaces defined for ease
of use. Just open the project/workspace in your compiler and you will be able
to build the sample application without any modifications.
50Cyclone MAX User Manual
Figure 6-1: Cyclone Automated Control SDK Example Program
6.3Control Of Multiple Cyclone Units
CYCLONE MAX
The utilities included with the Cyclone allow the unit to be updated and
controlled in an automated fashion. The user can change the image in the
Cyclone and execute the programming images resident on the unit under
control from a host computer, or without a computer at all. These utilities/
drivers focus on controlling a single Cyclone unit.
However, it may also be desirable to control multiple Cyclone units
simultaneously from a host PC. Since the Cyclone is a self-contained
computer system, including all programming algorithms, data, and processing
power necessary for programming, the host PC only needs to provide minimal
control information. This means that an enormous number of Cyclone units
may be controlled from a single PC.
P&E offers the Professional and Enterprise editions of the Cyclone
Automated Control SDK separately. These editions update the Cyclone
Launch software as well as the DLL to allow control of multiple Cyclone units
simultaneously. In addition, they include support for automated programming
of dynamic data and management of multiple programming images.
This SDK (software development kit) supports both the Cyclone PRO and the
Cyclone MAX programmers, meaning that any supported Freescale devices
can be programmed in parallel, even if they are different devices with different
Cyclone MAX User Manual51
CYCLONE MAX
data. More information may be found at www.pemicro.com.
6.4Serial And Ethernet Protocol Specifications
All of P&E’s automated control utilities and DLLs work via the serial port as
well as the Ethernet and USB ports. Occasionally a customer will need
access to the underlying protocol used by the P&E utilities. A specification for
the serial and ethernet protocols used to control the Cyclone MAX are
available as part of the Enterprise Edition of P&E’s Cyclone Automated
Control Package. This is useful for embedded or non-Windows platform
control of the Cyclone Programmer.
52Cyclone MAX User Manual
CYCLONE MAX
7PC-HOSTED DEBUG/PROGRAMMING SOFTWARE
Software options for interactively programming and debugging Power
Architecture BDM (MPC5xx/8xx), Qorivva (MPC55xx/56xx), ColdFire
(MCF52xx/53xx/54xx), and ARM (MAC7xxx) MCUs from the PC are sold
separately by P&E Microcomputer Systems (www.pemicro.com). Descriptions
of the functionality of some of these applications are listed below.
7.1Freescale Codewarrior
7.1.1Connecting the Cyclone MAX through CodeWarrior
Customers using the Freescale CodeWarrior Development Studio (version
5.7 and above) will now have the capability to interface to target hardware
using the Cyclone MAX. In order to configure CodeWarrior to do so, the user
can select the Preferences option from the Edit menu. This brings up the
following dialog box:
Figure 7-1: IDE Preferences Dialog
and the user can then select and configure one of Cyclone MAX's Serial,
USB, or Ethernet ports.
Cyclone MAX User Manual53
CYCLONE MAX
Figure 7-2: Codewarrior Cyclone MAX Ethernet Configuration
The image above displays the configuration settings for the Ethernet port of
the Cyclone MAX. The user can set the IP number, and the BDM Frequency
Speed to interface to the target. The higher this value is, the slower the BDM
Frequency will be, and it is recommended that for slower targets a higher
value be selected. For greater detail on the BDM Frequency Speed please
refer to the CodeWarrior Help documentation.
54Cyclone MAX User Manual
CYCLONE MAX
Figure 7-3: Codewarrior Cyclone MAX USB Port Configuration
The image above displays the configuration settings for the USB port of the
Cyclone MAX. The user can select one of multiple Cyclone devices which are
connected to the PC, in case more than one Cyclone MAX is attached via the
USB port.
Cyclone MAX User Manual55
CYCLONE MAX
Figure 7-4: Codewarrior Cyclone MAX USB Port Configuration
The image above displays the configuration settings for the USB port of the
Cyclone MAX. The user can select the COM port to which the Cyclone MAX is
attached.
7.1.2CodeWarrior Hardware Diagnostics
If the user wishes to test the Cyclone MAX connected to their PC, they can
use the Hardware Diagnostics selection from the Tools menu. This allows the
user to run hardware diagnostics and memory tests to ensure proper
operation of all devices. For more information on the hardware diagnostic tool,
please refer to the CodeWarrior Help documentation.
56Cyclone MAX User Manual
CYCLONE MAX
Figure 7-5: Codewarrior Hardware Diagnostics
7.2P&E Microcomputer Systems’ Software
7.2.1In-Circuit Debugger
The ICD In-Circuit Debugger uses the Cyclone MAX to control the target
devices. Separate ICD software is required for each of the Power Architecture
BDM (MPC5xx/8xx), Qorivva (MPC55xx/56xx), ColdFire (MCF52xx/53xx/
54xx), and ARM (MAC7xxx) architectures. With the ICD In-Circuit Debugger
you can load code into the on-chip RAM, run code out of RAM or FLASH
(already programmed by the In-Circuit Programmer), and set many software
breakpoints and a single hardware (in FLASH) breakpoint. The main
advantage of using the ICD is that your application runs in real-time at the full
bus speed of the processor.
Cyclone MAX User Manual57
CYCLONE MAX
Figure 7-1: ICDCFZ Debugger Screen Snapshot
Debugger features include:
•Full-speed in-circuit emulation
•Breakpoints with counters on the Nth execution
•Variables window showing multiple data types
•Real-time execution as well as multiple tracing modes
•Startup and Macro files for automating the debug process
•Context-sensitive help for all commands
•Support for symbolic register files
•Full source-level debugging
7.2.2In-Circuit Programmer
The PROG In-Circuit Programmer is a general-purpose programmer which
allows the user to program a Power Architecture BDM (MPC5xx/8xx), Qorivva
(MPC55xx/56xx), ColdFire (MCF52xx/53xx/54xx), and ARM (MAC7xxx)
device with on-chip EEPROM/FLASH, either from an object file (S-record), or
58Cyclone MAX User Manual
byte by byte.
CYCLONE MAX
Figure 7-2: PROGCFZ Programmer Screen Snapshot
7.2.2.1Command Line Programmer
CPROG is a command line programmer that allows quick turn-around time for
programming target MCUs. The user may create a script file to instruct the
software to execute specific commands in sequence. The CPROG software is
normally included with P&E’s PROG software. Please refer to CPROG
documentation for more information.
7.2.3P&E Microcomputer Systems PKG Software Packages
P&E’s software packages contain the WinIDE integrated development
environment, which pulls together an assembler, in-circuit simulator, flash
memory programmer, and in-circuit debugger.
Cyclone MAX User Manual59
CYCLONE MAX
7.2.4Latest Updates - P&E Software
The most recent updates of P&E’s software products can be requested, after
a brief registration, at:
http://www.pemicro.com/SRS/main_screen_user.cfm.
60Cyclone MAX User Manual
CYCLONE MAX
8ETHERNET PORT CONFIGURATION
This chapter describes the mechanism used by the Cyclone MAX device to
transact data over an Ethernet network. It primarily focuses on the User
Datagram Protocol (UDP), which is a popular method for sending data over a
network when the speed of a data transaction is of more concern than the
guarantee of its delivery. The Cyclone takes advantage of the UDP protocol’s
penchant for speed, and adds an extra layer of logic to guarantee the delivery
of UDP packets in order to offer a best-of-both-worlds solution.
Note:Users who are familiar with ethernet protocol may wish to skip ahead to
Section 8.6 - Cyclone IP Setup Utility User Interface (ConfigureIP).
8.1Network Architecture
Before delving into the innards of Ethernet message passing, it is prudent to
briefly describe the different network architectures in use today, and how they
pertain to the operation of the Cyclone MAX. Computers are, of course,
connected to one another through intermediary devices in order to form
networks. There are several classes of these intermediary devices, but they
generally fall into one of the following three groups:
Hubs
At the most basic level, computers are connected to one another through
a Hub. A Hub is a device with several ports that are used to connect
multiple computers together. It is a repeater device – a Hub simply copies
incoming data on one of its ports as data outgoing on the other ports. In
this manner, if there are four computers connected through a Hub, and if
the first computer is sending data to the second computer, then the third
and the fourth computers will also receive an identical copy of the data.
Hubs are usually used to set up a small Local Area Network (LAN), which
may have on the order of 10 to 20 computers.
Switches
The aforementioned types of process, where the data is simply replicated
onto every available port, quickly becomes inefficient for larger sized
networks. For this reason, a larger sized LAN employs the usage of
Switches instead of Hubs. A Switch is essentially a smart Hub, in that it
limits the input and output of data to the two transacting computers.
Routers
Larger networks, such as Wide Area Networks (WANs), or the Internet for
Cyclone MAX User Manual61
CYCLONE MAX
that matter, us progressively more sophisticated devices to transact data.
At the core of these devices is the Router, which functions as a switch
between networks.
The Cyclone performs irrespective of the connection mechanisms, with one
very important caveat: it needs to be set up with the appropriate network
parameters for the underlying network architectures.
8.2Network Parameters
A typical network becomes operational not after the physical connections
have been established, but after network parameters in the form of IP
(Internet Protocol) numbers have been assigned to the individual computers.
An IP number is unique string that consists of four numbers ranting between 0
and 255, separated by dots, e.g., 192.168.1.2. Every computer that is on a
network needs to have a unique IP number. The computer uses this IP
number to identify itself on the network, and also to address the recipient of its
data.
Assignation of this IP number is sufficient information to transact data on a
simple network connected by a hub. On a more complex network, however,
routing information becomes important. The routing information consist of two
more IP numbers. The first of these is called the Subnet Mask, and is used to
determine whether or not the destination resides on the same subnet (i.e.,
doesn’t need to be forwarded to another network). The other IP number is the
Gateway Address, which is the address of the computer that handles
forwarding and receiving of packets to and from other networks.
Before first use, the Cyclone needs to be programmed with a unique IP
number, the Subnet Mask IP number, and also the default Gateway’s IP
number. This can be done via the USB or the Serial port, and is described in
greater detail in Section 8.7 - Configuring Via The Cyclone IP
Configuration Utility to configure the Cyclone MAX” section of this manual.
8.3Internet Protocol
Once the network has been established, and the IP numbers have been
assigned, data can be transacted over a network with one of several
protocols. By far the most prevalent protocol is the Transmission Control
Protocol (TCP), which runs on top of the Internet Protocol in what is
collectively known as the TCP/IP protocol. The TCP/IP protocol was
developed by the Department of Defense to connect different computers from
62Cyclone MAX User Manual
CYCLONE MAX
different vendors by a “network of networks,” which as become what is known
as the Internet today.
The primary purpose of the TCP/IP protocol was to prevent a complete
network outage in the case of a nuclear attack, by automatically rerouting data
traffic through the functioning part of the network. As such, the TCP/IP
mechanism guaranteed delivery of data packets by introducing a system of
acknowledgments and sequence numbers for the data packets. This
mechanism, which good for transacting large amounts of data (such as email
or file transfers), is unsuitable in the real-time type environment in which the
Cyclone operates. Because the Cyclone needs to transact data as quickly as
possible to the target, it takes advantage of TCP/IP’s alternative, the UDP/IP
protocol.
Unlike TCP/IP, the UDP/IP protocol is a connectionless, single-packet
protocol that sends short data packets at the expense of not guaranteeing
their delivery. This makes the UDP/IP protocol efficient in real-time
applications such as broadcasting video over the Internet, where the
occasional loss of a frame of data is not going to hamper the overall viewing
experience. Left unmodified, the UDP/IP, with its lack of guarantees for packet
delivery, would be unusable in an environment where the delivery of a single
byte of data needs to be guaranteed. The Cyclone firmware adds
mechanisms to the UDP/IP protocol, without affecting its underlying efficiency,
to guarantee delivery of data packets.
8.4Connecting the Cyclone Device
There are two methods for establishing a connection between a Cyclone and
a PC with an Ethernet cable. The most basic method is to connect the
Cyclone directly to a PC, via a cross-over Ethernet cable. However, the more
common method is to place the Cyclone and the PC on the same network
through a Hub.
8.4.1Connecting the Cyclone to the PC over a network
The Cyclone was intended for use on a network of multiple computers (and
other Cyclones). There are many possible network configurations, and to
describe them all is beyond the scope of this document. However, most
configurations are a modification of a basic theme, which is that of connecting
one or more PCs through a Hub to one or more Cyclones. In order to connect
these devices to the Hub, you will need to use the provided straight-through
Ethernet cable. The straight-through cable, which is the “standard” Ethernet
Cyclone MAX User Manual63
CYCLONE MAX
cable, is used to connect devices of different types together, such as a PC to
a Hub, or a Hub to a Cyclone. At this point it once again becomes necessary
to program the Cyclone with valid IP numbers, the process for which is
described in greater detail in the following section. However, it is important for
the Cyclone and the PCs to have matching Subnet and Gateway IP numbers,
and for each to have a unique IP number on the network. An example of a
setting for above is as follows:
IP Number Gateway IPSubnet Mask
PC1 192.168.100.1 192.168.100.3 255.255.255.0
PC2 192.168.100.2 192.168.100.3 255.255.255.0
CYCLONE 192.168.100.4 192.168.100.3 255.255.255.0
Gateway 192.168.100.3 192.168.100.3 255.255.255.0
It is important to briefly touch upon the underlying network architecture, which
can be a 10Mb (Megabit), 100Mb, 10/100Mb, half-duplex, or a full duplex
connection. The details of the underlying network architecture are beyond the
scope of this document, but it is sufficient to note that most modern network
cards, as well as the Cyclone device, have the capability to configure
themselves for the underlying network through the Auto-negotiation
mechanism. Auto-negotiation is performed as soon as a network cable is
connected to the device, and it sets the operating parameters of the device to
match those of the network.
8.4.2Connecting Cyclone-to-PC via an Ethernet cable
In order to connect the Cyclone to a PC directly via an Ethernet cable, you
need to use what is known as a cross-over cable. A cross-over cable, which is
not provided by P&E, is normally used to connect two similar devices such as
a PC to a PC, or a Hub to a Hub. It is a cable that has its receive and transmit
wires crossed over so that the similar devices can effectively communicate
with one another.
With this configuration, it is still important to assign IP numbers to both the PC
and the Cyclone device. Although at first glance it may not seem necessary to
assign a Gateway address in this configuration, the Cyclone was designed to
operate on a network of more than two computers, and therefore it needs to
be programmed with a Gateway address.
64Cyclone MAX User Manual
CYCLONE MAX
Assuming the desktop’s IP number to be 192.168.100.1, this is an example of
the three IP numbers that would need to be programmed into the Cyclone:
IP Number Gateway IP Subnet Mask
PC 192.168.100.1 none 255.255.255.0
CYCLONE 192.168.100.2 192.168.100.1255.255.255.0
8.5Cyclone IP Setup Via LCD Menu
For instructions on how to configure the Cyclone MAX using the LCD Menu,
please see Section 5.2 - Operation Procedure via LCD Menu.
8.6Cyclone IP Setup Utility User Interface (ConfigureIP)
Before the Cyclone device transacts data on an Ethernet network, it will need
to be configured with the relevant network parameters. The application that
provides this capability is the Cyclone IP Setup Utility (ConfigureIP), which
can be found as part of the distribution software.
This utility is used to configure the Cyclone MAX with network parameters,
and also to update the firmware of the Cyclone MAX.
Figure 8-1: IPSetup.exe Default Screen
Cyclone MAX User Manual65
CYCLONE MAX
(1) Drop-down Box 1
There are three options available in this drop-down box, of which
“Ethernet Port” is displayed. The other options are “Serial Port” and “USB
Port”. Changing to any one of the three Ports will list the devices which are
found over that specific Port.
(2) Drop-down Box 2
Once one of the three (Serial, USB, or Ethernet) communication
interfaces has been selected in the first drop-down box, a list of all
available Cyclone devices over that interface will be displayed for
selection.
(3) Close Button
The “Close” button is active only when a device has been opened for
access. Once a device has been opened for access, it needs to be closed
before another device can be opened for access.
(4) Open Button
The “Open” button opens a device for access. This is a required step
before changing the parameters on the selected device. Once a device
has been selected through the second drop-down box and is opened for
access, its information will be displayed at the bottom of the dialog box.
(5) Refresh List
Will refresh the dialog boxes by searching for devices which are currently
connected via the Serial or USB interfaces, or are found on the network.
(6) Cyclone IP Number
This is the IP number which will be associated with the Cyclone MAX. It
needs to be a unique IP number which can be accessible on the network.
(7) Cyclone Device Name
This is a label which can be used to identify the Cyclone MAX by name,
e.g., “John’s Cyclone” or “Manufacturing Floor.”
(8) MAC Address
This is the Media Access Control address, the unique number of an
Ethernet device on the network. This is programmed by P&E and cannot
be modified.
(9) Cyclone Device Type
This displays the type of Cyclone hardware.
66Cyclone MAX User Manual
CYCLONE MAX
(10) Gateway IP Number
The IP number of a gateway on the network.
(11) Subnet Mask
The subnet mask of the network.
(12) Firmware Version
A read-only field which returns information pertaining to the build date and
firmware version of the Cyclone MAX device.
(13) FPGA Version
A read-only field which returns the hardware version of the FPGA.
(14) Program Cyclone Parameters
This button saves the information as it appears in the "Reconfigure IP
Numbers" area onto the Cyclone device.
8.7Configuring Via The Cyclone IP Configuration Utility
Before the Cyclone MAX is ready to communicate over an Ethernet network,
it will need to be configured with the relevant network parameters. The
application that provides this capability is the Cyclone IP Configuration Utility,
and is provided as part of the standard Cyclone MAX software distribution.
In order to update the network parameters, perform the following steps:
1. Connect a Cyclone MAX to the PC via a serial or a USB cable, and
make sure that it is powered before launching the Cyclone
Configuration Utility. The Cyclone MAX Configuration Utility starts
up with the following screen:
Cyclone MAX User Manual67
CYCLONE MAX
Figure 8-2: Cyclone IP Configuration Utility - Initial Screen
2. Assuming that the Cyclone MAX is connected to the COM1 serial
port of the PC, switch from “Ethernet Port” to “Serial Port”, at which
point the second drop-down box will display COM1. Click “Open” to
get a dialog box similar to the following:
Figure 8-3: Cyclone IP Configuration Utility - Continue Setup
68Cyclone MAX User Manual
CYCLONE MAX
3. The Cyclone MAX now needs to be programmed with IP numbers for the
network on which it will operate. The Cyclone IP Number field must contain a
unique IP number.
8.8Serial And Ethernet Protocol Specifications
All of the P&E utilities included with the Cyclone MAX will work via the
Ethernet port, as well as the serial and USB ports. These utilities allow
configuration and control of the Cyclone programmer. Occasionally a
customer will need access to the underlying protocol used by P&E utilities to
configure and control the Cyclone programmer. A specification for the serial
and ethernet protocols used to control the Cyclone MAX is available as part of
the Enterprise Edition of P&E’s Cyclone Automated Control Package. This is
useful for embedded or non-Windows platform control of the Cyclone
Programmer.
Cyclone MAX User Manual69
CYCLONE MAX
9SERIAL PORT CONFIGURATION
The Serial Port of the Cyclone MAX can be connected to any standard PC
Serial Port. It should be noted that some terminal programs, such as the
HyperTerm program are not designed to function with the Cyclone MAX. The
Cyclone MAX operates at a fixed baud rate of 115200 Baud, 8 Data bits, No
Parity, and 1 Stop Bit.
All of the P&E utilities included with the Cyclone MAX will work via the serial
port, as well as the Ethernet and USB ports. These utilities allow configuration
and control of the Cyclone programmer. Occasionally a customer will need
access to the underlying protocol used by P&E utilities to configure and
control the Cyclone programmer. A specification for the serial and ethernet
protocols used to control the Cyclone MAX is available as part of the
Enterprise Edition of P&E’s Cyclone Automated Control Package. This is
useful for embedded or non-Windows platform control of the Cyclone
Programmer.
70Cyclone MAX User Manual
10USB PORT CONFIGURATION
The Cyclone MAX can be connected to the USB port of a PC, or to a USB
HUB through a standard USB cable. Cyclone MAX supports USB 1.1.
CYCLONE MAX
Cyclone MAX User Manual71
CYCLONE MAX
11AUTOMATIC SERIAL NUMBER MECHANISM
When producing a microcontroller- or microprocessor-based product, it is
often useful to program a unique serial number into the permanent memory
(FLASH) of the product.
P&E has developed a serial number mechanism to automate this process.
Each time you issue a serialization command in the programming software,
the current serial number is programmed at a specified address. In addition,
the serial number is incremented to the next available serial number and
saved for future serialized programming operations.
The Cyclone MAX adopts this automatic serial number mechanism for its
stand-alone operations.
11.1Understanding Serialization
The automatic serial number mechanism supports serial numbers from 1 to
16 bytes in length. Each byte of a serial number ranges between a lower and
an upper bound. This approach allows the individual bytes of the serial
number to have distinct properties. Some of the forms these properties can
take are:
Type
ConstantConstantConstant
Binary00FF
ASCII Printable207E
ASCII Numeric3039
ASCII Upper Case Letter415A
ASCII Lower Case Letter617A
OtherXXYY
Lower Bound (hex)Upper Bound (hex)
Each serial number and its properties are stored in a separate file. Any file
name can be used for the serial number file, however the extension .ser is
normally appended because it makes it simpler locate the file.
A free utility called Serialize has been developed to make it easy to create,
visualize, edit, and maintain these serial number files. The Serialize utility can
be downloaded from the FAQs, Manuals, & Downloads tab of the Cyclone
MAX product page, at: www.pemicro.com/max.
72Cyclone MAX User Manual
11.2Serialize Utility
This section is a modified excerpt from P&E’s Serialize Help File and explains
the Serialize utility in detail.
CYCLONE MAX
Figure 11-4: Serialize Main Screen
11.2.1Serial Number File
This edit box shows the currently selected Serial Number File, or else
indicates "None Selected". If you try to select a nonexistent file, the selection
will revert to "None Selected". On startup the edit box, by default, shows the
filename that was in effect the last time the QUIT button was clicked. You can
select a new Serial Number File in the following ways:
•Single Click - Lets you directly edit the filename in the edit box.
Pressing Enter will check for the existence of the file. If not found, the
selected file gets set to "None Selected". If the file exists, the serial
number and its properties are displayed on screen.
•Double Click or …Click - Opens a standard file browser and lets you
Cyclone MAX User Manual73
CYCLONE MAX
choose from existing files by disk, directory, name, and extension.
11.2.2Number of Bytes in Serial Number
The up and down arrows let you add or delete bytes for the serial number,
max=10 hex (16 base ten), min=1.
•Up Arrow Click - Adds new bytes to the Serial Number. Each byte
added appears as a new column in the serial number representation.
Added bytes are input as Binary Bytes, i.e. the upper bound is FF and
the lower bound is 00.
•Down Arrow Click - Deletes bytes from the right end of the Serial
Number. Any previously entered byte properties are lost.
11.2.3Count Sequence
This window lets you count up or down through the sequencing of the serial
number. The serial number is allowed to wrap over the top of the highest
serial number or below the lowest serial number. Note that in P&E
programmers, the serial number can only count up and any attempt to
overflow will cause an error.
•Up Arrow Click - Counts the serial number up.
•Down Arrow Click - Counts the serial number down.
11.2.4Serial Number Bytes as Hex
There is one display column for each byte in the serial number shown as
printable ASCII characters. Non-printable ASCII characters are indicated by
the small solid block graphic.
•Up Arrow Click - Counts the serial number up.
•Down Arrow Click - Counts the serial number down.
11.2.5Hex Upper Bounds
There is one display column for each upper bound of the byte in the serial
number in hex.
•Up Arrow Click - Increases the upper bound by one with a maximum
of FF Hex.
•Down Arrow Click - Decreases the upper bound by one with a
minimum of the current serial number byte value.
74Cyclone MAX User Manual
•Double Click on Hex - Selects or deselects the byte column. Selected
shown in yellow. The serial number byte in this column may then be
modified using the buttons at the bottom of the Serialize utility. Please
refer to Section 11.2.11 - BINARY, NUMERIC, CONSTANT, ALPHA
UPPER, ALPHA LOWER, and PRINTABLE.
11.2.6Hex Lower Bounds
There is one display column for each byte of the lower bound of the serial
number in hex.
•Up Arrow Click - Increases the lower bound by one with a maximum
of the current serial number byte value.
•Down Arrow Click - Decreases the lower bound by one with a
minimum of 00 Hex.
11.2.7NEW
Instructs the program to start editing a NEW (as yet un-named) serial number
file. It will throw away the information for any serial number currently being
edited unless that information has been saved (Save Button). The new serial
number is initialized with one (1) byte of binary.
CYCLONE MAX
11.2.8SAVE
Instructs the program to save the current serial number being edited into the
file name and path shown in the Serial Number File window. If a file name has
not been provided, i.e. the window shows None Selected, then an error is
displayed in a red window on the screen. If this happens, type in a filename in
the window and click Save again.
11.2.9HELP
Opens the Serialize help system (serialize.hlp file, i.e. this file) for perusal.
11.2.10QUIT
Turns off the Serialize Program and saves any setup information in the file
Serialize.ini. This file will initialize the setup information the next time the
program is started. Xing out of the program (top right of screen) does not save
the setup info.
11.2.11BINARY, NUMERIC, CONSTANT, ALPHA UPPER, ALPHA LOWER, and
Cyclone MAX User Manual75
CYCLONE MAX
PRINTABLE
These buttons are used to set the properties of selected (colored yellow)
bytes of the Serial Number. Individual bytes whose properties you wish to
modify are selected or deselected by double-clicking in the Hex Upper
Bounds box in the column that corresponds with the values for a particular
byte.
11.3Serialize Utility Example
This example shows:
1. Currently editing file C:\Example.ser
2. Number of bytes in the serial number is 10 Hex (= 16 base ten)
3. Starting address is 0000000 Hex
4. Next Serial number is AAA-P&E-9999 in ASCII
a. First 3 bytes are Upper Case Alphabetic ASCII (AAA)
b. Next 5 bytes are Constants (-P&E-)
c. Last 4 bytes are Numeric ASCII (9999)
5. This provides for a maximum of 6,760,000 (26x26x26x10x10x10x10)
serial numbers from AAA-P&E-0000 to ZZZ-P&E-9999.
6. The last 4 bytes of the serial number are selected (colored yellow) so
that their properties can be changed using the forced selected byte
buttons on the bottom of the screen.
11.4Using Serial Number File
The command to invoke the serial number file in P&E’s interactive
programming software is “CS Choose Serial File”. The command to actually
program the serial number to target and automatically increment the serial
number afterward is “PS Program Serial Number”.
P&E’s command line software uses the same commands in a command line
fashion to invoke the serial number file, initiate its programming, and
increment:
CS serial_number_file.ser
PS
76Cyclone MAX User Manual
CYCLONE MAX
11.5Serial Number Handling in Cyclone MAX
The Cyclone MAX’s firmware implements the automatic serial number
mechanism. The same serial number files are used with the Cyclone Image
Creation Utility, and the same commands are used to specify the serial
number file and initiate serial number programming and incrementation. The
serial number data structure is saved in the SAP image. Once a serial number
is programmed, the Cyclone MAX firmware automatically increments the
serial number and stores it in the Cyclone MAX’s flash for internal images or
external CompactFlash for external SAP images.
The CS and PS commands are not present in the Cyclone Image Creation
Utility until a valid programming algorithm is specified.
To complement the Cyclone’s usage in production environments, the Cyclone
MAX supports multiple serial number structures for each programming
algorithm block. Each SAP image may contain multiple programming
algorithms for every memory module it needs to program, and each
programming algorithm block may contain multiple serial number structures.
The SAP image sequence below illustrates this briefly:
CM algorithm_file_1
SS object_code_1
EN
PM
VC
CS serial_file1.ser
PS
CS serial_file2.ser
PS
CS serial_file_3.ser
PS
CM algorithm_file_2
SS object_code_2
EN
PM
VC
Cyclone MAX User Manual77
CYCLONE MAX
CS serial_file4.ser
PS
CS serial_file5.ser
PS
78Cyclone MAX User Manual
12CYCLONE ERROR CODES
The Cyclone will indicate errors using the following codes. Please contact
P&E if you are unsure of the specific meaning of an error code.
12.1Debug Mode Communication Errors
$0001: No target response
$0002: Invalid target response
$0003: Wait for target response canceled
$0004: Wait for target response failed
$0005: Error detecting communication speed
$0006: Failed to unsecure target
$0007: Error entering debug mode
$0008: Error entering debug mode while target is secured
$0009: Error entering debug mode for verification
$000A: Error writing a block of data to target
$000B: Error enabling or disabling module
$000C: Error in performing timing test
$000D: MON08 target had an invalid reset
CYCLONE MAX
12.2SAP Image Handling Errors
$0011: SAP image ID is greater than total number of images
$0012: Error during SAP image validation
$0013: SAP operation was not configured
$0014: SAP image storage was not initialized
$0015: SAP image transfer error, invalid data length
$0016: SAP image transfer error, invalid start address
$0017: SAP image transfer error while writing to storage
$0018: Error writing serial number structure storage