Cyclone Automated Control Package

 

cyclone_arm_RevC_newsletter

 

NOTE: For CYCLONE and CYCLONE FX programmers, the Cyclone Automated Control Package has been replaced by the Cyclone Control Suite. The Classic Cyclone Automated Control Package remains available but will not be updated.

 

The PEmicro product line of Cyclone single programmers offers a fast, robust and automated solution for programming microprocessors on a production scale. However, production plants may want an even higher degree of automation than the one-button touch function offered by the Cyclone. PEmicro offers several ways to automate the controller, including an executable command line file, UDP / Serial Communications or .DLL, which is included in the new software package for the PEmicro Cyclone automated controller. In this article, we discuss automated control using the automated control package and the unprecedented level of performance and flexibility that it offers.


1.) Introduction - control of a Cyclone via the PC

 

The new Cyclone Automated Control Package from PEmicro offers the developer a DLL (Dynamic Link Library) and supporting documentation so that custom software applications can control the Cyclone directly.

By storing the binary data information, algorithm information and settings directly in the FLASH memory of the Cyclone, programming processes can be started at the push of a button. With the DLL, however, we can send a command to the Cyclone via the PC to start the same programming sequence!

Using a PC to control the Cyclone improves the functionality of standalone programming, but also introduces new features that were previously unavailable. The following sections explain the functions of the Cyclone Automated Control Package and practical examples for use in your own production line.

 

 

2.) Setup - image creation


The first step is always to create the actual standalone image that will be stored on the Cyclone. These images contain the algorithm required for programming FLASH / EEPROM, the binary data actually to be programmed, the sequence of the programming processes and many user-defined cyclone settings. The PEmicro cyclone image creation utility allows the user to properly configure the standalone images.

 

PE_micro_Cyclone_Package_1

 

Above is a screenshot of the dialog box in the Cycloen Image Builder that the user can use to configure the standalone image. The field on the right shows the programming steps and the order in which these steps are carried out.

1.) First we choose the appropriate algorithm for our processor. In this example we use the FreescaleHC9S08GB60.

2.) Next, we specify the target object file that represents the binary data that should be programmed into the processor's FLASH memory. Here we use a Motorola S record file.

3.) As soon as the algorithm and the target object file are specified, we can start programming. Typically, the device is erased to ensure that it is empty, the destination is programmed, and it is checked whether the content has been written correctly.

 

PE_micro_Cyclone_Package_2

 

In addition to the programming sequence, there are also settings for the Cyclone that we can configure. In the screenshot above, we use the Cyclone PRO's power relays to provide the appropriate voltage to turn on our processor. This way we don't need a separate power supply for our target board, which simplifies our production line.

 

PE_micro_Cyclone_Package_3

 

Finally, we provide the image description so that we can easily identify the IM later. With the option "Save image to hard disk" we can save this image and its configuration as a .SAP file for future use.

 

3.) Using the DLL - simple example

 

PE_micro_Cyclone_Package_4

 

The code example above shows the most basic operation supported by the Cyclone Automated Control Package. Below are the steps we have taken:

Step 1: Contact the desired Cyclone by specifying its IP address. The handle of the Cyclone is returned and used to identify the Cyclone in all subsequent function calls.

Step 2: Send a command to the Cyclone to start the programming operations specified in Image 1. These processes were determined during the image creation.

Step 3: Wait for the Cyclone to finish programming before proceeding.

Step 4: Check for any errors during programming and send a message to the user.

Step 5: End the current session with the Cyclone.

 

4.) Use the DLL - advanced functions


Program the serial number

 

PE_micro_Cyclone_Package_5

 

Note: The following placeholder functions serve to simplify the example and are not provided by the automated control package:

get_serial_from_file

increment_serial_number

save_serial_back_to_file

The sample code above is an event handler written for an MFC visual application and executed every time the user presses a key. Here we instruct the Cyclone again to carry out the independent programming of the image saved on the Cyclone. Then we program a dynamic 2-byte serial number in the address 0x100 of the target processor. The serial number is then incremented and written back to a file for later use.

Although there are many different ways to program a serial number without having to use the automated control package, this code example can easily be changed to program dynamic data that is not sequential. For example, if we want to program the current date or a batch number, using the automated control package and writing your own custom application is by far the easiest and most automated way to accomplish this task.

 

Automatically update the image saved in the Cyclone

 

PE_micro_Cyclone_Package_6

 

This is a very simple example of how you can ensure that the image stored on a Cyclone is always up to date. A comparison is made between the image currently on the Cyclone and an image file in a specific location on the host PC. If there is a mismatch, we update the image. After that, we continue with the normal programming operations, as shown in the previous examples.

 

5.) Can I control multiple Cyclones?

So far we have discussed some applications of the Cyclone Automated Control Package with a single Cyclone unit. Because the host PC sends minimal control information to control each Cyclone, a single PC can actually control many Cyclone devices at the same time.

 

PE_micro_Cyclone_Package_7

 

Here we start programming 3 separate Cyclone units and wait for them to finish before continuing. We basically program 3 separate devices in parallel. This can easily be expanded to 10, 100 or even 1000 Cyclone units, which are controlled in parallel from a single host PC!

 

6.) More examples


Here are some other practical examples:

· QualityControl: Automatically records statistics about the number of devices that fail during programming.

· You are a developer and have just completed firmware development for a brand new product. Now you need to bring your manufacturing facility up to date, but it's halfway across the country. Optimize this process by writing a simple application that adds a new image to the Cyclone. Send it along with the new standalone Image SAP file and you're done.

· You use several Cyclone units to program your devices in parallel. Each Cyclone has 4 different images, one for each of your 4 different products. Write an application that allows the user to automatically select the correct image for the current production run.

 

7.) Conclusion

Regardless of whether you run small production runs in-house or program a large number of chips in a high-volume system, the Cyclone product family from PEmicro offers a powerful, yet cost-effective solution. With the advanced functions for parallel programming, image management and error tracking, which are provided with PEmicro's new Cyclone Automated Control Package, you can now fully automate your production programming process like never before.