Skip to content

Cyclone Control Console

For Cyclone LC, Cyclone FX, Cyclone MultiChannel

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 functionality very similar 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.

Startup

  1. Connect all Cyclone units to the PC via RS232, USB, Ethernet, or (if supported) Wi-Fi. Any combination 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.

  2. 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.

  3. Power up the PC, all Cyclone units, and all target systems that require external power.

  4. Run the CycloneControlConsole software from the command prompt.

Command-Line Parameters

The command-line utility supports the following visible commands.

Note for Cyclone MultiChannel users

The -launch, -launchimage, -preparechannels, -selectimage, -specifyoverlaydata, and -specifyoverlaystring commands allow the Cyclone MultiChannel user to add a [channels] parameter to specify which programming channels to act on. The commands will otherwise act on any Active channels.

Cyclone Connection

-listcyclones

Shows a list of autodetected Cyclones.

-cyclone=[identifier]

Opens a Cyclone or a comma-delimited list of Cyclones. Use * to open all detected Cyclones. Available identifiers include Cyclone name, port number, and IP address.

Image Launch and Dynamic Data

-listimages

Shows the list of images on the open Cyclones. If no Cyclones are open, the command lists images on all detected Cyclones.

-selectimage=[image name or #]

Selects a local Cyclone programming image for execution/launch.

-selectcloudimage=[image name or cloud image id]

Selects a PEcloud image for execution/launch.

-specifyoverlaydata=[cyclone number],[address],[data]

Specifies overlay data as a set of hexadecimal bytes. [cyclone number] is the index of the connected Cyclone in the order in which it was opened. [address] is the starting memory address. [data] is the comma-delimited set of hexadecimal bytes. No more than 255 bytes may be programmed this way.

The data specified will replace the data contained in the programming image, whether those locations are blank or not. If the original locations are not blank, and if the VC or VV commands exist in the programming image, the VC or VV commands will fail since the original data were replaced with these overlay data. But the VM command verifies against the overlay data.

The -launchimage or -launch command must be issued together with this command. It does not matter whether -specifyoverlaydata or -specifyoverlaystring is issued before or after the launch command, since each command has its priority assigned to make sure they are executed accordingly.

-specifyoverlaystring=[cyclone number],[address],[string]

Specifies overlay data as an ASCII string. [cyclone number] is the index of the connected Cyclone in the order in which it was opened. [address] is the starting memory address. [string] is the data in string format. No more than 255 bytes may be programmed this way.

The data specified will replace the data contained in the programming image, whether the locations are blank or not. If the original locations are not blank, and if the VC or VV commands exist in the programming image, the VC or VV commands will fail since the original data were replaced with these overlay data. But the VM command verifies against the overlay data.

The -launchimage or -launch command must be issued together with this command. It does not matter whether -specifyoverlaydata or -specifyoverlaystring is issued before or after the launch command, since each command has its priority assigned to make sure they are executed accordingly.

-launchimage=[image name or #]

Launches a specific programming image, by name or number, on the open Cyclones.

-launch

Launches the currently selected programming image.

Image Load and Verification

-eraseallinternalimages

Erases all internal images from the open Cyclones.

-eraseallexternalimages

Erases all external images from the open Cyclones.

-eraseimage=[image name or #]

Erases a specific image, by name or number, from the open Cyclones.

-addimageinternal=[filename]

Adds a specific programming image to the internal memory of the Cyclones. [filename] is the path and filename of the image to add.

-addimageexternal=[filename]

Adds a specific programming image to the external memory of the Cyclones. [filename] is the path and filename of the image to add.

-compareimagewithfile=[image name or #],[image file name]

Compares an image in the Cyclones with the specified image file.

-listcloudimages

Shows the list of PEcloud images available to the Cyclone.

-provisioncyclone=[provisioning pin]

Provisions the Cyclone specified by -cyclone to a PEcloud Virtual Factory using the 8-digit pin from the PEcloud website.

-deprovisioncyclone

De-provisions the Cyclone specified by -cyclone from a PEcloud Virtual Factory.

MultiChannel Programmer

The following commands apply to PEmicro's Cyclone MultiChannel Programmers.

COMMANDCHANNELS PARAMETER FOR MULTICHANNEL PROGRAMMING

The user should also be aware that, only when using Cyclone MultiChannel programmers, console commands such as those that execute programming or launch images will act on Active channels unless the [commandchannels] parameter is added. This parameter must be placed right before the = sign; if there is no = sign then the parameter would not be valid for that command.

Example: CycloneControlConsole.exe -cyclone=USB1 -launchimage[11,12]=1 Changes the selected images for channels 11 and 12 to image 1, regardless of which channels are currently Active. Does not change channel status.

If the parameter is not used then all Active channels are used. Users can also use the -setactivechannels command below to set channels to Active; channels not set to Active become Not Active.

-setactivechannels=[channel(s)]

Sets the Active channel list on MultiChannel Cyclones. Separate multiple channels with commas, for example -setactivechannels=11,12,13,14.

-preparechannels

Prepares the currently selected Active channels on a Cyclone MultiChannel for a later programming launch. This command stores and validates the channel-selected images on the channel hardware, but it does not start target programming.

This command is optional. The Cyclone MultiChannel automatically performs the same preparation when programming is launched with -launch or -launchimage. Use -preparechannels when you want to do channel preparation during configuration time, so the first launch does not spend additional time configuring the channel hardware.

For Cyclone MultiChannel programmers, the optional [channels] parameter may be added to prepare a specific set of channels, for example -preparechannels[31,32]. If no channel list is specified, the command acts on the Active channels.

-listchannels

Shows a list of active and available channels on MultiChannel Cyclones.

General Settings

-setlocalmachineipnumber=[x.x.x.x]

Sets the IP address of the PC network adapter to use.

-connecttowifinetwork=[cyclone number],"[SSID]","[Password]"

Connects the Cyclone to a WiFi network. If a parameter has quotation marks around it, these are required for the command to be accepted.

-scanwifinetworks=[cyclone number]

Scans and lists networks detected by the Cyclone.

-setnetworkparameters=[cyclone number],[DHCP],[ipAddress],[netMask],[netGateway],[dnsAddress],[connType]

Sets network parameters. DHCP can be 0 to set static addressing or 1 for dynamic addressing. connType can be 0 to modify Ethernet or 1 to modify WiFi.

-enableandrestartwifi=[cyclone number]

Starts or restarts WiFi on the Cyclone.

-turnoffwifi=[cyclone number]

Disables WiFi on the Cyclone.

-erasestoredwifinetworks=[cyclone number]

Causes the Cyclone to forget all stored WiFi networks.

-disconnectandforget=[cyclone number]

Disconnects the Cyclone from the current WiFi network and removes that network from stored memory.

-haswifi=[cyclone number]

Checks whether the Cyclone supports WiFi.

-setproperty=[category],[image name or #],[property],[value]

Sets a property value. Refer to the SDK header files for valid category and property names.

-showproperties=[category],[image name or #]

Shows all properties in a category. Leave the value after = blank to show the category list.

-getproperty=[category],[image name or #],[property]

Gets a property value.

Object Management

-listserialfiles

Lists Serial Files in the Cyclone.

-deleteserialfile=[object ID or display index]

Deletes a Serial File from the Cyclone. The file can be deleted by object ID or by display index.

COMMANDS THAT REQUIRE PROCRYPTION SECURITY SUPPORT

The following command-line parameters require a Cyclone with Procryption Security. Note that PEcloud provides this feature by default.

-listencryptionkeys

Lists Encryption Key Files in the Cyclone.

-addencryptionkey=[file path]

Adds an Encryption Key File to the Cyclone. The file is encrypted with the Cyclone-specific RSA public key.

-deleteencryptionkey=[object ID or display index]

Deletes an Encryption Key File from the Cyclone. The file can be deleted by object ID or by display index. -listencryptionkeys returns a numbered list of ImageKeys; the display index corresponds to these numbers.

Other

-help

Displays a list of command-line parameters.

-enabledebugout=[filename]

Outputs debug information from the DLL to a debug file.

-timeoutms=[time in ms]

Sets the communications timeout to Cyclones in milliseconds. The default is 5500 ms.

-firmwareupdate=[mode]

Sets firmware update mode to auto, dontupdate, or forceupdate. The default mode is auto.

-listallpossibleerrorcodes

Gets the list of possible error codes from the Cyclone, SDK, and Console.

-resetcyclone

Resets the connected Cyclones.

Examples

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

Please refer to this blog post which demonstrates many common Cyclone programming operations which can easily be performed with the Cyclone Control Console application.

The commands should be separated by a space. Every command starts with a “-” character, arguments follow the “=” character.

Typical Usage

CycloneControlConsole.exe -cyclone=10.0.1.1 -launchimage=1

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.

CycloneControlConsole.exe -cyclone=USB1 -launchimage=1

This example connects to a single Cyclone enumerated on USB1 and executes its first image.

Controlling Multiple Cyclones

CycloneControlConsole.exe -cyclone=USB1,10.0.1.2,10.0.1.3 -launchimage=2

This example connects to three separate Cyclone units. 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.

CycloneControlConsole.exe -cyclone=CycloneFX_1,CycloneFX_2 -launchimage=1 -launchimage=2

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.

Image Management – Modifying External Images

CycloneControlConsole.exe -cyclone=USB1 -eraseallexternalimages -addimageexternal=c:\images\externalImage1.SAP

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.

Image Management – Modifying Images on Two Cyclones in Parallel

CycloneControlConsole.exe -cyclone=USB1,USB2 -eraseallinternalimages -addimageinternal=c:\images\Image1.SAP

In this example, two Cyclone units connected via USB have their images erased and a new image is added to both Cyclone units. This type of command should only be executed when images need to be updated.

Overlay of Dynamic Data

CycloneControlConsole.exe -cyclone=USB1 -specifyoverlaydata=1,1080,80,69,77,73,67,82,79 -launchimage=1

This example demonstrates the overlaying of dynamic data for programming. The Cyclone is connected via the USB port. Any stale data is cleared and a new set of dynamic data is passed to the Cyclone. In this case, 7 bytes of data is overlaid onto your s-record starting at address 0x1080. Then image #1 is executed.

MultiChannel Programming - Set Active Channels and List Channels

C:\PEMicro\cyclone\cycloneControl>cyclonecontrolconsole.exe -cyclone=usb1 -setactivechannels=31,32,33,34 -listchannels

Cyclone Control Console - Version 10.02.00.00  

Opening Cyclones ...  
  Handle 0001 : Cyclone usb1(MCP_PEM533113) opened successfully.  
Channel info on Cyclone usb1  

Channels selected as active:  
  31 : [Active    ][OK       ] Image=KE04_Blinky_ON  
  32 : [Active    ][OK       ] Image=KE04_Blinky_900000  
  33 : [Active    ][OK       ] Image=KE04_Blinky_ON  
  34 : [Active    ][OK       ] Image=KE04_Blinky_900000  

Channels detected but not selected as active:  
  11 : [Not Active][OK       ] Image=KE04_Blinky_ON  
  12 : [Not Active][OK       ] Image=KE04_Blinky_900000  
  13 : [Not Active][OK       ] Image=KE04_Blinky_ON  
  14 : [Not Active][OK       ] Image=KE04_Blinky_900000  


Final Result : Success.  

The users sets channels 31, 32, 33, and 34 as Active channels and the lists channels to confirm. Note that any channels not specified as Active become Not Active.

MultiChannel Programming - List Images on Specified Cyclone

C:\PEMicro\cyclone\cycloneControl>cyclonecontrolconsole.exe -cyclone=usb1 -listimages

Cyclone Control Console - Version 10.02.00.00  

Opening Cyclones ...  
  Handle 0001 : Cyclone usb1(MCP_PEM533113) opened successfully.  

Images on Cyclone usb1  
   Image 1  (SAP-Internal) : Renesas EK-RA4M3 200  
   Image 2  (SAP-Internal) : KE04_Blinky_900000  
   Image 3  (SAP-Internal) : KE04_Blinky_ON  
   Image 4  (SAP-Internal) : MCP_1064_Power_10MHz  

Final Result : Success. 

The user lists all of the images on the Cyclone connected via USB1.

MultiChannel Programming - Select Image for Active Channels on Cyclone MultiChannel

C:\PEMicro\cyclone\cycloneControl>cyclonecontrolconsole.exe -cyclone=usb1 -selectimage=KE04_Blinky_900000

Cyclone Control Console - Version 10.02.00.00  

Opening Cyclones ...  
  Handle 0001 : Cyclone usb1(MCP_PEM533113) opened successfully.  

Select Image KE04_Blinky_900000 for execution  
  Cyclone usb1: Selecting Image KE04_Blinky_900000' (Image 2)  
    Image selected successfully  

Final Result : Success.  

>List Channels to Check Results

C:\PEMicro\cyclone\cycloneControl>cyclonecontrolconsole.exe -cyclone=usb1 -listchannels

Cyclone Control Console - Version 10.02.00.00  

Opening Cyclones ...  
  Handle 0001 : Cyclone usb1(MCP_PEM533113) opened successfully.  
Channel info on Cyclone usb1  

Channels selected as active:  
  31 : [Active    ][OK       ] Image=KE04_Blinky_900000  
  32 : [Active    ][OK       ] Image=KE04_Blinky_900000  
  33 : [Active    ][OK       ] Image=KE04_Blinky_900000  
  34 : [Active    ][OK       ] Image=KE04_Blinky_900000  

Channels detected but not selected as active:  
  11 : [Not Active][OK       ] Image=KE04_Blinky_ON  
  12 : [Not Active][OK       ] Image=KE04_Blinky_900000  
  13 : [Not Active][OK       ] Image=KE04_Blinky_ON  
  14 : [Not Active][OK       ] Image=KE04_Blinky_900000  


Final Result : Success.  

The user selects KE04_Blink_900000 as the image to be programmed for any Active Channels. It becomes the selected image for Channels 31, 32, 33, and 34, which were Active. (It remains the selected image for Channels 12 and 14 because those channels already had KE04_Blink_900000 selected).

MultiChannel Programming - Select Image on Specific Channels

C:\PEMicro\cyclone\cycloneControl>cyclonecontrolconsole.exe -cyclone=usb1 -selectimage[11,12]=KE04_Blinky_ON

Cyclone Control Console - Version 10.02.00.00  

Opening Cyclones ...  
  Handle 0001 : Cyclone usb1(MCP_PEM533113) opened successfully.  

Select Image KE04_Blinky_ON for execution  
  Cyclone usb1: Selecting Image KE04_Blinky_ON' (Image 3)  
    Image selected successfully  

Final Result : Success.  

>List Channels to Check Results

C:\PEMicro\cyclone\cycloneControl>cyclonecontrolconsole.exe -cyclone=usb1 -listchannels

Cyclone Control Console - Version 10.02.00.00  

Opening Cyclones ...  
  Handle 0001 : Cyclone usb1(MCP_PEM533113) opened successfully.  
Channel info on Cyclone usb1  

Channels selected as active:  
  31 : [Active    ][OK       ] Image=KE04_Blinky_900000  
  32 : [Active    ][OK       ] Image=KE04_Blinky_900000  
  33 : [Active    ][OK       ] Image=KE04_Blinky_900000  
  34 : [Active    ][OK       ] Image=KE04_Blinky_900000  

Channels detected but not selected as active:  
  11 : [Not Active][OK       ] Image=KE04_Blinky_ON  
  12 : [Not Active][OK       ] Image=KE04_Blinky_ON  
  13 : [Not Active][OK       ] Image=KE04_Blinky_ON  
  14 : [Not Active][OK       ] Image=KE04_Blinky_900000  

Final Result : Success. 

The user selects KE04_Blinky_ON as the selected image for channels 11 and 12 by specifying those exact channels as a parameter to the -selectimage command.