Cart New Account Login

HomeAbout usProductsSupportForumsBlogCustomer Service
 
In-Circuit Flash Programming
PEmicro has been providing non-volatile memory programming solutions since
producing the industry's first general purpose EPROM programmer in 1981.

1) Overview
2) Programming Flash During Product Development
3) Programming Flash During Production/Manufacturing/Development

1. Overview
PEmicro offers flash programming solutions that are designed to program target memory in-circuit. This includes both internal memory on a Freescale processor and external flash connected to the processor's address/data bus. These solutions give the user the option of mounting the processor or memory device on the final printed circuit board before programming it.

The programming itself is accomplished via a simple header on the board that is connected to certain pins on the processor. PEmicro's programming hardware connects to this header to allow program, test, and debug of the target microcontroller and any memory which is attached to it. The example below shows a PC-controlled CYCLONE stand-alone programmer. that is connected to a device under test:

Cyclone Pro with Target


PEmicro's robust and inexpensive programming solutions are tailored to the main stages of product creation: 1) development and 2) production/manufacturing.

Our tools for flash programming during the product development stage are designed to be:

  • Easy to use
  • Robust
  • Inexpensive
Our production and manufacturing flash programming tools are:
  • Fully automatable and controllable from other software
  • Contain a superset of the product development stage tools
  • Capable of high download speeds
  • Electrically resilient to static
  • Cost-effective
Return To Top

2. Programming Flash\Eeprom During Product Development

During product development, engineers will often program the same target processor many times with different versions of code. The engineer may want to interactively access the memory, protect it, unprotect it, erase it, view it, modify the contents, etc. However, it may also be useful to program the target automatically with a single click of the mouse or keyboard. Both methods are supported by PEmicro's development tools.

Two PEmicro products are used to program the target: flash programming software (PROG), and a hardware interface connecting the PC to the target processor. PEmicro sells each of these items separately.

Hardware Interface
PEmicro offers several different target interfaces according to the user's requirements.

Hardware Interfaces

Flash Programming Software (PROGxxZ)
The Flash programming software allows the user to erase, program, and verify either internal processor flash or external flash connected on the processor's address/data bus. The flash programmer comes with a host of programming algorithms for different memory configurations. The current list of supported flash memories can be seen on our Flash Programming Algorithms download page. New configurations are put up regularly on PEmicro's website for download by our customers. P&E also allows users to request custom algorithms for memory configurations which we don't already support. PEmicro creates these algorithms at no cost to the customer.

The PROGxxZ flash programming software package includes two programming applications. The first is an interactive programmer, which features a variety of commands that can be used to query and modify the memory that is resident in the target. Many device-specific features are supported in addition to the standard programming commands (e.g., block lock/unlock). An s-record object file can be selected and programmed into the memory of the target. An example PROGxxZ display is shown below:


PROG12Z


The second programmer application in the PROGxxZ software package is a command-line flash programmer. It is similar in capability to the PROG flash programmer, but instead of taking commands from the user it takes them from a pre-written script file. In this way, once the user writes a script to define how programming should proceed, from then on only a single click is needed to launch what can be a multi-step programming procedure. An example script file is shown here:

RE                                 ;Reset the MCU
CM C:\PEMICRO\9B32_32K.12P 8000    ;Enable 68HC912B32 Flash at address 8000
EM                                 ;Erase the module
BM                                 ;Blank Check the module
SS C:\PEMICRO\TEST.S19             ;Specify the S19 to use
PM                                 ;Program the module with the S19
VM                                 ;Verify the module again


A different version of PROGxxZ is required for each processor architecture (68HC08, 68HC12, ColdFire, etc.). Please view the product matrix for specific part numbers, and the product listings for more detailed information. The license for PROGxxZ is a single user license and as such multiple developers/workstations need to purchase additional licenses.

Return To Top

3. Programming Flash\Eeprom During Production/Manufacturing/Development

PEmicro's tools for production programming also allow for high speed programming of target flash. They feature the same reliability and cost effective nature as the development tools, however they are also specifically designed to be resilient in the production environment. In addition, these tools can be integrated into or called from other test and development applications. We feel that the CYCLONE and CYCLONE FX stand-alone programmers are tools that no test, development, or production engineer should be without.


The CYCLONE and CYCLONE FX are production programming solutions that can support devices from many ARM manufacturers, and many NXP 8-./16-/32-bit architectres. architectures. The CYCLONE FX models add several powerful features, including enmhanced security, faster speed, larger internal memory, expandable memory, and expansion ports.

Cyclones - Stand-Alone Configuration

Cyclone stand-alone programmers are designed to be loaded with an image which will later be programmed into the target microcontroller. This means that large volumes of data do not have to be transferred from the PC. Instead, they only need to take one step from the Cyclone to the target. The programming image contains the data to be programmed, the device-specific programming algorithm, and the steps to be taken during programming and verification. The Cyclone stores the programming image in its internal flash so that it will be retained even without power. The programming process may be initiated from a host computer, or manually by an operator (with no computer required). New programming images may be downloaded into the Cyclone either manually or automatically via PEmicro command line utilities.


Stand-Alone Programming Mode - PC Controlled

In this mode, an image has already been programmed into the Cyclone. The PC launches the programming process with a simple command packet. As part of the command packet, dynamic data such as a serial number may be provided to be added to the fixed image being programmed into the target. Flash programming occurs directly from the Cyclone to the target. The result of the programming process is sent back to the host computer.

Cyclone Launch


PEmicro provides the following mechanisms to automatically launch the programming process and query the result:
  • A command line executable with settable script file (Serial, USB, Ethernet)
  • A dynamically linked library (DLL) for use with any PC application (Serial, USB, Ethernet)
  • A published serial protocol for directly controlling Cyclone prgrammers (serial)
These mechanisms enable multiple Cyclone units to be controlled from a PC at the same time:
Cyclone Pro/Max Multiple

Stand-Alone Programming Mode - Human Controlled

When not connected to a PC, the Cyclone will still operate as a stand-alone programmer. The latest revision of the Cyclone features an LCD menu for configuration and stand-alone operation. The touchscreen is used to navigate the menu, giving you full control over the Cyclone. On older revisions of Cyclone, the buttons may be used to perform programming operations and navigate the menu. The LEDs display the status of the programming operation. This is ideal for short programming runs or field updates where having a PC is not practical.




Interactive Hardware Interface Mode

In this mode, P&E (and third-party) software on the PC uses the Cyclone as a hardware interface to communicate with and control the target microcontroller. This mode is primarily used to allow programming and debug of a microcontroller during the development stage. The user can assemble or compile code, download and debug it using the Cyclone, and then return to editing the code. Cyclones include interactive debug and development software forsupported architectures.

The PC-hosted flash programming software allows the user to erase, program, and verify both internal processor flash and external flash connected on the processor's address/data bus. The flash programmer comes with host of programming algorithms for different memory configurations. The current list of supported flash memories can be seen on our Flash Programming Algorithms page. New configurations are added to this page regularly for PEmicro's customers to download. PEmicro also allows users to request custom algorithms for memory configurations that we don't already support. PEmicro builds these algorithms at no cost to the customer.

The PROGxxZ flash programming software package comes with two programming applications. The first is an interactive programmer, which features a variety of commands that can be used to query and modify the memory that is resident in the target. Many device-specific features are supported in addition to the standard programming commands (e.g., block lock/unlock). An s-record object file can be selected and programmed into the memory of the target. An example PROGxxZ display is shown here:


PROG12Z


The second programmer application in the PROGxxZ software package, the command line flash programmer. This application is similar in capability to the PROG flash programmer but instead of taking commands from the user it takes them from a pre-written script file. In this way the user can define how programming should proceed by writing a script, and from then on only a single click is needed to launch what may be a multi-step programming procedure. An example script file is shown here:

RE                                 ;Reset the MCU
CM C:\PEMICRO\9B32_32K.12P 8000    ;Enable 68HC912B32 Flash at address 8000
EM                                 ;Erase the module
BM                                 ;Blank Check the module
SS C:\PEMICRO\TEST.S19             ;Specify the S19 to use
PM                                 ;Program the module with the S19
VM                                 ;Verify the module again


Return To Top
 
.
©2004 P&E Microcomputer Systems

© 2017 P&E Microcomputer Systems Inc.
Website Terms of Use and Sales Agreement