PEmicro - P&E Microcomputer Systems: Over 30 years as an Industry leader in Embedded Systems Development Tools, debug probes, and production programmers
Cart New Account Login

HomeAbout usProductsSupportForumsBlogCustomer Service


by Kevin Perreault


PEmicro is releasing a new generation of automated control software, the Cyclone Control Suite, to support PC based control of our popular CYCLONE and CYCLONE FX stand-alone programmers.

The suite provides comprehensive control of one or more Cyclones from the PC via the following components: the Cyclone Control GUI application, the Cyclone Control Console application, and via custom PC applications built using the Cyclone Control SDK. Ways to control the Cyclone include programming launch, recovering results, managing images resident on a Cyclone, adding unique programming data for each target, as well as recovering descriptive errors.

Read more...



by Johnny Ng


PEmicro’s product line of Cyclone stand-alone programmers provides a fast, robust, and automated solution for production-scale programming of microprocessors. However, production facilities may desire an even higher level of automation than the single-button touch capability that is offered by the Cyclone. PEmicro offers several means of automating control, including a console application, Ethernet/Serial communications, or the Cyclone Control SDK included in PEmicro's new Cyclone Control Suite. In this article, we discuss automated control using the Cyclone Control SDK and the unprecedented level of power and flexibility that it offers.

Read more...


by Esteban Gonzalez


As part of the Cyclone Control Suite, PEmicro includes a graphical application that gives the users access to all the functions of the latest Cyclone Control.

This new application replaces the previous Image Manager Utility and Cyclone Config IP Utility. It maintains the image control and network setup abilities while increasing the utility’s access to all Cyclone control and management tasks. The GUI allows the user to add and remove images, access Cyclone and image settings and properties, remote access to a Cyclone display, and add additional licenses to the Cyclone.

Read more...



by Peter Truong


PEmicro is pleased to introduce our Cyclone Trade-in Program which is a simple upgrade path to trade-in an old or non-functional Cyclone unit for a discount on a new CYCLONE or CYCLONE FX programmer.

Read more...


by Johnny Ng


Migrating from the Cyclone PRO (already discontinued) and Cyclone MAX to the Cyclone Universal and Cyclone Universal FX is extremely easy. The Universal programmers are close to drop-in replacements for the PRO and MAX, albeit more powerful. Learn what to look out for when making the transition.

Read more...


by Kevin Meyer


The JTAG specification introduced daisy chaining of MCUs in order to reduce the number of headers required to debug and program multiple MCUs. JTAG daisy chaining allows multiple MCU’s (and other JTAG compatible hardware, such as FPGAs) to share a single debug header. PEmicro currently supports daisy chaining of ARM-Cortex MCUs via our Cyclone programmers and Multilink debug probes. The same is true for most PEmicro software, including our Eclipse plugin GDB Server, and our Cyclone automation and control packages. Read more...


by Zahar Raskin


As members of the Embedded Tools Alliance, PEmicro and SOMNIUM share a focus on producing tools of the highest quality that are proven to work together and do exactly what's required, so that the customer can concentrate on their development work. SOMNIUM DRT products are 100% industry compatible, with unique benefits for developers working with ARM® Cortex® devices from Microchip, STMicroelectronics and NXP, with support for others (including Nordic Semiconductor) coming soon. Developers using DRT can reach the market faster, with higher performance, greater energy efficiency and more profitable designs. Read more...


by Mikhail Andreev


PEMicro is pleased to announce the release of a new expansion plugin for PEmicro's Eclipse GDB Server. With this release, PEmicro has added extensive new device support for a wide variety of ARM device manufacturers. Support now includes devices from NXP, Atmel, Cypress, Infineon, Maxim, Nordic, Silicon Labs, STMicro, Texas Instruments, and Toshiba. For a complete listing of supported devices, see PEmicro's supported ARM devices page.. Read more...


by Edison Tam and Peter Truong


PEmicro offers three USB Multilink debug probes, each with different features or device support. In this video, Edison Tam offers a brief overview of our Multilinks to help users decide which Multilink would be best suited to their project. Read more...


by Huajun Liu


PEmicro has just released a new version of the Cyclone Image Creation Utility that allows the user to retrieve the configuration for a Stand Alone Programming (SAP) image directly from a previously saved image. Once the image configuration settings have been retrieved from an image file, the user can then regenerate the image, or modify the settings and generate a new file, or even use those settings with other .s19 files to generate a SAP image with different source but the same configuration. Read more...


by Zahar Raskin


NXP has launched the MCUXpresso Integrated Development Environment for LPC and Kinetis microcontrollers with PEmicro’s GDB Server fully integrated. This provides advanced debug capabilities via PEmicro’s Multilink, Cyclone, and embedded OpenSDA debug interfaces including: hardware breakpoints, watchpoints, real-time variables, semihosting, FreeRTOS awareness, the ability to attach to a running target, the ability to provide target power, remote debug, and more. Read more...


by Keith McNeil


PEmicro's CYCLONE and CYCLONE FX programmers represent our effort to bring next-gen technology to the popular Cyclone platform. Some of the many improvements we were able to incorporate include better usability (via the 4.3" color touchscreen display), enhanced security, larger storage, and faster communications. The first of these new programmers launched in November 2015, and we now offer two models at each of the CYCLONE and CYCLONE FX levels - one that supports ARM devices plus many other NXP devices, and a more economical option that supports ARM devices only. Read more...


by Johnny Ng


In addition to supporting the flash that resides in many different microcontrollers, PEmicro supports flash connected to an MCU via the SPI, I2C, and Address/Data bus interfaces. Depending on how the flash device is connected to the MCU, the programming algorithm may need to be set up to properly configure the external address, data, and bus control pins of the MCU. If you are not sure if you selected the right algorithm for your flash memory, please also read this blog post on selecting a flash algorithm. Read more...




PEmicro is exhibiting at EmbeddedWorld 2017 in Nuremberg, Germany (Hall 4, Booth 123). We have been developing some exciting technologies that can save time and money during both product development and product manufacturing and will be demonstrating these powerful new features for our GDB Server for ARM devices and our CYCLONE FX programmers. Read more...


by Gerardo Ravago


There comes a time when an embedded application becomes complex enough that it requires an operating system. This may be because of a need for rich driver libraries, or a sophisticated task scheduling engine. In either case, a developer needs an equally sophisticated debugger to provide invaluable context information of their application. To that end, PEmicro introduced OS-aware debugging in its GDB Server for ARM devices. Initial support is available now for FreeRTOS, with further OS modules to be developed. PEmicro's GDB Server for ARM devices is available for download at no cost and works with PEmicro Multilink, Cyclone, and OpenSDA hardware interfaces. Read more...


by London, UK


Today a number of industry leading companies in the embedded tools industry announce a new milestone in embedded system development - the Embedded Tools Alliance (ETA). The embedded developers' toolbox is complex and involves many components: IDE (Integrated Development Environment), compilers, debuggers, trace tools, test tools, debug and flash programming hardware, target operating system, target middleware and training. Read more...


by Juan See


The ability to view variables and memory while a target ARM device is running has been added to PEmicro’s GDB Server Plug-in for ARM devices. This Eclipse plugin can be installed in any Eclipse-based IDE and supports the debug of ARM microcontrollers via PEmicro’s Multilink, Cyclone, and OpenSDA debug hardware. The “Real Time Expressions” view, which is part of the plugin, is similar to the normal expressions view, except that it works while the part is running.

Read more...


by Mikhail Andreev


PEmicro’s GDB Server can be installed directly into an Eclipse based IDE from an update site on PEmicro’s website. This adds the ability to debug via PEmicro’s Multilink, Cyclone, and OpenSDA hardware interfaces via the standard GDB debugger. Features include flash programming, breakpoints, watchpoints, trim, memory preservation, real-time variables, semi-hosting, and more. PEmicro periodically updates the plugins on its website with new device support, new features, and bug fixes.

Read more...


by Esteban Gonzalez


The Cyclone FX has the capability to automatically select and launch a programming image based upon a scanned barcode. This can generate an error if more than one image corresponds to the barcode or no images correspond to the barcode. The CYCLONE FX includes a way to quickly gain insight into the issue. A log file is created every time the barcode scanner operates and it details the scanned barcode as well as the analysis process used to select the appropriate programming image.

Read more...


by Julie Perreault


Different targets require a different power schemes that depend on the design of the target board, target voltages, and even the device architecture. PEmicro has designed their CYCLONE and CYCLONE FX to optionally power a target before, during, and after programming. Power can be sourced at many voltage levels from the Cyclone itself or sourced by an external power supply and switched by the Cyclone.

Read more...


by Kevin Perreault


The CYCLONE and CYCLONE FX programmers from PEmicro have large 4.3” touchscreens which allow the user to see the Cyclone’s current status, select programming images, configure settings, and more. However, sometimes the Cyclone may be either at a remote location or physically inaccessible. For example, Cyclone programmers are often mounted within enclosed test fixtures and sometimes even have the screens physically removed to save space. In any of these cases, the touchscreen can also be accessed remotely, via Ethernet and USB.

Read more...


by Edison Tam


PEmicro is excited to announce that we have recently added debug and flash programming support for a number of new ARM processor families:

Read more...


by Takao Yamada


PEmicro has just released pipelined programming algorithms for a variety of Power Architecture devices. These new pipelined algorithms can be huge time-savers for those who program Power Architecture devices either in development or on their manufacturing lines, as they result in 50% to 100% faster programming times than using non-pipelined algorithms.

Read more...


by Esteban Gonzalez


Automatic selection and launch of a specific flash programming image based on a scanned barcode can improve the speed and accuracy of production programming, especially when there is a varied product mix being programmed. Barcode scanning improves accuracy by making the process of selecting a programming image fast, automatic, and less vulnerable to user error. PEmicro's CYCLONE FX programmers have the ability to use a barcode scanner, connected via the Cyclone's host USB port, to initiate programming. When a barcode is scanned, the Cyclone selects a specific programming image based on the barcode and programs the target board accordingly.

Read more...




PEmicro has announced the release of support for macOS in PEmicro’s Eclipse GDB Server. PEmicro offers a downloadable GDB server plug-in for Eclipse-based 3rd party IDE’s including those by NXP, Atollic, and Somnium. It also features full support for PEmicro's Multilink debug probes and Cyclone production programmers, plus NXP’s openSDA series of debuggers and programmers. Apple® users are now able to take advantage of PEmicro's versatile hardware solutions using NXP’s software tools and PEmicro’s GDB server in their preferred operating system.

Read more...




PEmicro has announced the release of a new Multilink development tool and a new Cyclone manufacturing tool, both focused specifically on ARM Cortex devices.

Read more...




PEmicro has announced the addition of support for Renesas' RH850 devices to PEmicro's diverse line of embedded systems tools.

Renesas' RH850 is a family of high-performance, low power automotive microcontrollers. PEmicro's powerful Cyclone for Renesas stand-alone programmer now supports these and many other families of Renesas devices.

Current users of compatible PEmicro products can update their product firmware to add support for these devices. The corresponding programming algorithms can be downloaded from PEmicro's online support center.





PEmicro has announced the addition of support Nordic Semiconductor's nRF52 devices to PEmicro's diverse line of embedded systems tools.

Read more...




PEmicro announced the ability to add usage restrictions to programming images created for the Cyclone FX stand alone programmer. These usage restrictions include the ability to limit programming to a specific date range and also to set a maximum number of programming operations which can occur. The effect of this is that the user can limit the duration and amount of programming allowed by an image. This can be useful for protecting the IP contained within a programming image as well as making sure that programming images in production are not too far out of date. These restrictions persist even when the images are deleted/restored on a Cyclone unit's internal memory or SD card. Images are encoded in such a way as to deter tampering.

Read more...





PEmicro today updated the popular Cyclone Automated Control Package to support PEmicro's recently released Cyclone Universal and Cyclone Universal FX stand-alone production programmers.

The Automated Control Package features a Windows dynamic link library (DLL), command-line script application, and supporting documentation making it simple to create custom software applications that directly control Cyclone units. It also enables users to control multiple Cyclones with a single PC, modify stored images, manage multiple images, and program non-sequential dynamic data such as serial numbers. Example projects are provided in several popular development languages.

The Cyclone Automated Control Package is available in Professional and Enterprise versions to suit both small and large production scales. The Enterprise edition includes documentation describing the RS-232 and Ethernet protocols. A Basic version is available for no cost.

More information is available on the Cyclone Automated Control Package product page.





PEmicro is now shipping Rev. C of the Cyclone for ARM devices, which represents an evolution in both features and value from the older Rev. B model. PEmicro's Cyclones have set the standard for powerful, versatile production programming and debug. The Cyclone for ARM devices was designed to offer the very best of the Cyclone platform with a focus on enhanced security, extremely fast performance, test, and expandability.

Read more...




PEmicro is now shipping the Cyclone Universal FX, which is the flagship model of PEmicro's next-generation Cyclone programmers. PEmicro's Cyclones have set the standard for powerful, versatile production programming and debug. The Cyclone Universal FX was designed to offer the very best of the Cyclone platform with a focus on enhanced security, extremely fast performance, test, and expandability.

Read more...




PEmicro is pleased to announce that support has been added to its products for files using version 3 and version 4 of the ELF/DWARF format. This is in addition to existing support for ELF/DWARF version 2 and includes both debug and object information handling. Support for 64-bit objects and structures within the ELF/DWARF files has also been added. Support for these additional file formats is available today in PEmicro's debug, flash programming, and test products.





PEmicro is now shipping the Cyclone Universal, which is the first of PEmicro's next-generation Cyclone programmers. PEmicro's Cyclones have set the standard for powerful, versatile production programming and debug. The Cyclone Universal was designed as the first in a next-generation Cyclone platform with a focus on security, performance, test, and expandability.

Read more...




PEmicro has further expanded its ARM® device support by today announcing support for Maxim MAX716xx processors. Users of PEmicro's Cyclone for ARM devices production programmer will be able to take advantage of this support to work with these Maxim ARM devices.

More about these devices, from Maxim's product page: "The MAX71617 is a low-power, single-phase energy measurement system-on-chip (SoC), and the MAX71637 is a low-power polyphase energy measurement SoC."

Users may visit pemicro.com/arm to check whether their specifc device is supported.

ARM and Cortex are registered trademarks of ARM Limited or its subsidiaries.





PEmicro has announced that its software products, which include flash/EEPROM programmers, in-circuit debuggers, interface library routines, and other embedded systems tools, are now officially compatible with the Windows 10 operating system.

Windows is a registered trademark of Microsoft Corporation.





PEmicro has further expanded its ARM® device support by today announcing support for Cypress' PSoC® 4 and Toshiba's TX00/TX03/TX04 processors. Users of PEmicro's Cyclone for ARM devices production programmer will be able to take advantage of this support to work with these Cypress and Toshiba ARM devices.

Cypress' PSoC® 4 are very low-power 32-bit ARM Cortex®-M0 devices that can integrate analog and digital ICs. Toshiba's TX00, TX03, and TX04 represent a selection of ARM® Cortex®-M devices that, collectively, offer high energy efficiency, high-precision analog functions, high code density, fast interrupt response times, and DSP extensions.

Users may visit pemicro.com/arm to check whether their specifc device is supported.

ARM and Cortex are registered trademarks of ARM Limited or its subsidiaries. PSoC is a registered trademark of Cypress Semiconductor Corporation.





Supported Architectures

  • Kinetis®
  • S32
  • LPCxxxx
  • ColdFire® V2/V3/V4
  • ColdFire+/V1
  • MPC5xx/8xx
  • Qorivva® (MPC5xxx, SPC5xxx)
  • DSC
  • MAC7xxx
  • S12Z
  • HC(S)12(X)
  • HCS08
  • HC08
  • RS08
  • ARM® Cortex® processors

BOSTON, MA – July 14, 2015 - Following their debut at the 2015 Freescale Technology Forum, PEmicro's soon-to-be-released Cyclone Universal and Cyclone Universal FX are now available to pre-order. Production quantitites of both new Cyclone programmers are expected to ship by Sept. 15 (subject to change). Those interested in placing a pre-order or simply reviewing the features of our next-generation production programming, test, and debug interfaces may do so at the Cyclones' PEmicro product page. These new Cyclones each support many architectures and offer impressive feature sets that may include:

  • Large internal memory: 1GB+ secure memory storage.
  • Focus on security: Internal memory protection & encryption, anti-tampering technology, tie images to specific Cyclones, programming count limits, date range limits, logging, etc.
  • Extremely fast target communications: 25mb/s+
  • Enhanced Interface: 4.3" Touch Screen, 1M touch Start Button.
  • External memory: SDHC port for external memory cards
  • Test Support: Images can run test code before programming
  • And more! Launch port, battery backed clock, provides and switches power to target, expanded architecture support, bar code scanner support, current & voltage measurement, etc.

Join Us On Facebook & Twitter

   
Like us on Facebook and follow us on Twitter for the latest news about the upcoming release of the Cyclone Universal & Cyclone Universal FX.

Click to pre-order, or to learn more about the Cyclone Universal & Cyclone Universal FX.

ARM and Cortex are registered trademarks of ARM Limited (or its subsidiaries).
Freescale, Qorivva, Kinetis, and ColdFire are registered trademarks of Freescale Semiconductor, Inc.





Supported Architectures

  • Kinetis®
  • S32
  • LPCxxxx
  • ColdFire® V2/V3/V4
  • ColdFire+/V1
  • MPC5xx/8xx
  • Qorivva® (MPC5xxx, SPC5xxx)
  • DSC
  • MAC7xxx
  • S12Z
  • HC(S)12(X)
  • HCS08
  • HC08
  • RS08
  • ARM® Cortex® processors

AUSTIN, TX – June 22, 2015 - PEmicro's Cyclones have set the standard for powerful, versatile production programming and debug. We have completely redesigned the Cyclone Platform with state of the art, high-speed technology. We have maintained compatibility with our existing product line while combining support for many target architectures in a single unit and focusing on outstanding security, performance, and features.

Join us at the Freescale® Technology Forum (FTF) in Austin, June 22-25. Come visit us at booth #617 for a chance to win one of two Cyclone Universal FX units, once they are released!

In addition to supporting more target architectures, these new Cyclones offer several improvements over their predecessors:

  • Large internal memory: 1GB+ secure memory storage.
  • Focus on security: Internal memory protection & encryption, anti-tampering technology, tie images to specific Cyclones, programming count limits, date range limits, logging, etc.
  • Extremely fast target communications: 25mb/s+
  • Enhanced Interface: 4.3" Touch Screen, 1M touch Start Button.
  • External memory: SDHC port for external memory cards
  • Test Support: Images can run test code before programming
  • And more! Launch port, battery backed clock, provides and switches power to target, expanded architecture support, bar code scanner support, current & voltage measurement, etc.

Join Us On Facebook & Twitter

   
Like us on Facebook and follow us on Twitter for the latest news about the upcoming release of the Cyclone Universal & Cyclone Universal FX.

Click to learn more about the Cyclone Universal & Cyclone Universal FX.

ARM and Cortex are registered trademarks of ARM Limited (or its subsidiaries).
Freescale, Qorivva, Kinetis, and ColdFire are registered trademarks of Freescale Semiconductor, Inc.





PEmicro is now providing serial SPI memory device programming algorithms for devices attached to ARM® Cortex-M microcontrollers. There are many reasons to use PEmicro’s algorithms for your programming requirements. Some of the more significant reasons are:

Read more...




PEmicro announced the release of Version 2.08 of its GDB Server for Kinetis® devices. The PEmicro GDB Server is available at no cost as an Eclipse plug-in or Windows GUI application. The latest version supports Windows 7/8 as well as Ubuntu Linux 14.04 and RHEL/CentOS 7.0.

Read more...




BOSTON – March 3, 2015 - PEmicro announced support for Atmel's SAMxx ARM devices. Users of PEmicro's Cyclone for ARM devices production programmer will now be able to take advantage of this support to work with Atmel's SAMxxx ARM devices. SAMxxx devices are low-power, energy-efficient microcontrollers that include ARM Cortex cores.






PEmicro has released Rev. C of it's popular, all-in-one USB Multilink Universal interface. The case color of the Rev. C interface has been updated from green to blue, however the functionality of the Multilink Universal remains the same.
Read more...




PEmicro has developed a new pipelined version of its flash programming engine for Kinetis and other ARM® Cortex™ devices with more than 4KB of RAM by leveraging some unique aspects of the architecture. This pipelining mechanism improves already fast programming rates by up to 50%.

Read more...




PEmicro announced the addition of several new features to its popular Cyclone MAX stand-alone/automated flash programmer.

High-Speed Kinetis Algorithms
In addition to the above, the Cyclone MAX installation software now includes a faster, more streamlined set of pipelined algorithms that improves the flash programming times of Kinetis devices.

Qorivva MPC574x Support
The Cyclone MAX now includes stand-alone programming and device support for Freescale's Qorivva MPC5748G cut 2 and MPC5746C devices with its popular Cyclone MAX production programmer.

User Control of MCU Reset
Version 7.84 of the Cyclone MAX software also provides the ability to hold the reset line low upon a target device power up, a feature that is especially useful for devices such as Freescale's Kinetis KE02 that implement a multiplexed reset line.

Cyclone MAX users may download the updated Cyclone MAX software from PEmicro's support center.





PEmicro announced the addition of support for Freescale's high-performance S12Z devices to its popular Cyclone PRO stand-alone/automated in-circuit programmer. Freescale's S12Z devices include the S12ZVC, S12ZVH, S12ZVL and S12ZVM families. This further expands the range of Freescale architectures that the Cyclone PRO is able to program, which includes HC(S)12(X), RS08, HCS08, HC08 and ColdFire+/V1 devices.

Cyclone PRO users may download the latest Cyclone PRO software, which includes updates for S12Z support, from PEmicro's support center.





PEmicro announced the addition of support for Freescale's MPC5xx/8xx devices devices to its high-speed Multilink Universal FX development interface. This addition enhances the all-in-one capabilities of the Multilink Universal FX - PEmicro's flagship Multilink interface - and solidifies PEmicro's future support for Freescale's MPC5xx/8xx architecture.

Multilink Universal FX users may download the updated Technical Summary (v.1.03) from PEmicro's support center.





PEmicro announced the addition of stand-alone programming support for Freescale's Qorivva MPC57xx devices to its popular Cyclone MAX production programmer. Version 7.81 of the Cyclone MAX software includes support for the following Qorivva devices:

Read more...




BOSTON – December. 23, 2013 - P&E Microcomputer Systems, Inc. a leading manufacturer of third-party tools for Freescale microprocessors, announced the release of a new UNIT Hardware Interface Library: UNITDSC, for Freescale's DSC processors. PEmicro's UNIT libraries consist of routines that interact with and control PEmicro's hardware interfaces. This allows users to create custom run-control and test applications. Standard UNIT licenses allow the applications to be used on up to 5 computers. PEmicro also offers Distributable versions of its UNIT software which can be used on an unlimited number of computers.

UNITDSC can be used to control Freescale's DSC devices with PEmicro's Multilink Universal and high-speed Multilink Universal FX development interfaces, as well as the Cyclone MAX production programmer.





PEmicro announced the release of combined MSD and DEBUG OpenSDA firmware applications. The latest collection of OpenSDA applications supports MSD, DEBUG and CDC virtual serial functionality without requiring one to switch back and forth between MSD and DEBUG applications. The latest OpenSDA collection includes applications for all Freescale Freedom and Tower OpenSDA-based evaluation platforms and can be used under Windows® 8.x/7/XP as well as Linux® and Mac OS® operating systems.

Read more...




PEmicro announced the release of its ICDS12ZZ in-circuit debugger software for Freescale's S12Z devices. S12Z MCUs are integrated, mixed-signal devices designed for efficiently developing automotive applications. ICDS12ZZ works in tandem with PEmicro hardware interfaces, such as the Multilink Universal or Multilink Universal FX to debug code in-circuit on Freescale S12Z devices. The ICDS12ZZ expands PEmicro's suite of S12Z software, which includes programming software and interface library routines, which allow custom software designs such as production line testers.





BOSTON – September 25, 2013 - P&E Microcomputer Systems announced support for a group of Renesas' RX family of devices in Rev. C of the Cyclone for Renesas® In-Circuit Flash Programmer. P&E has implemented support for Renesas' RX600 devices and will continue to add support for other RX devices in the near future. RX is a range of 32-bit Renesas microcontrollers that feature high performance and code efficiency while also offering low power consumption and new/enhanced peripherals. The latest version of P&E's Cyclone for Renesas adds RX to existing support for RL78, R8C, M16C and M16C/80, M32C, H8 and H8S/Tiny devices.

Renesas is a registered trademark of Renesas Electronics Corporation.





BOSTON – September 12, 2013 - P&E Microcomputer Systems announced the release of its PROGS12ZZ in-circuit flash programming software for Freescale's S12Z devices. S12Z MCUs are integrated, mixed-signal devices designed for efficiently developing automotive applications. PROGS12ZZ works in tandem with P&E hardware interfaces, such as the Multilink Universal, Multilink Universal FX, or Cyclone PRO, to program Freescale S12Z devices. These pairings represent a variety of economical, versatile, and powerful programming solutions.





BOSTON – August 2, 2013 - P&E Microcomputer Systems announced the release of Rev. C of its Cyclone for Renesas® In-Circuit Flash Programmer, which adds support for Renesas' RL78 devices. RL78 is a new family of Renesas microcontrollers that are compact, low-cost, and designed for extremely low power applications. Renesas offers RL78 devices that are tailored towards general purpose, lighting, automotive, and other applications. The latest version of P&E's Cyclone for Renesas adds RL78 to existing support for R8C, M16C and M16C/80, M32C, H8 and H8S/Tiny devices, and opens the path for future support of additional devices such as the RX family.

Renesas is a registered trademark of Renesas Electronics Corporation.





BOSTON – July 2, 2013 - P&E Microcomputer Systems has released its new PROGDSC flash programming software. PROGDSC is Windows-based in-circuit flash programming software for Freescale's DSC devices, and includes the CPROGDSC command-line programmer for scripted automated programming. Those who wish to use the software may download the full version from a link on the product page, where they will also find a link for requesting a license for the software free of charge.

PROGDSC communicates with target devices through one of P&E's compatible hardware interfaces. The Multilink Universal and high-speed Multilink Universal FX are development interfaces, while the Cyclone MAX is one of P&E's flagship Cyclone stand-alone production programmers: it's made to withstand the rigors of a production environment, can be used manually or fully automated, and is the ideal solution when programming speed is crucial. 





BOSTON - May 17, 2013 - P&E Microcomputer Systems announced the newest addition to their line of powerful Cyclone automated/stand-alone programmers: the Cyclone for ARM® devices. The Cyclone for ARM devices is a production-ready programmer with support for ARM devices from Freescale (Kinetis K-series & L-series) , STMicroelectronics (STM32), NXP (LPC1xxx) , and Texas Instruments (Stellaris™ LM3S/LM4).

The Cyclone's on-board memory and intuitive setup software make it easy to configure the programmer and load programming images. Configuration and operation are extemely flexible, with Ethernet, USB, and Serial communications options. Cyclone operations can be fully automated, or programming tasks can be accomplushed manually. The LCD menu and buttons offer complete stand-alone functionality. P&E maintains a frequently updated library of programming algorithms for compatible devices on the P&E support page and will continously be adding support for additional architectures.

ARM is a registered trademark of ARM Ltd. or its subsidiaries.
Texas Instruments is a registered trademark and Stellaris is a trademark of Texas Instruments Incorporated.
Kinetis is a registered trademark of Freescale Semiconductor, Inc.
NXP is a registered trademark of NXP Semiconductors.
STMicroelectronics is a registered trademark of STMicroelectronics, Inc.





BOSTON – December. 17, 2012 - P&E Microcomputer Systems, Inc. a leading manufacturer of third-party tools for Freescale microprocessor, announced the release of  two new UNIT Hardware Interface Libraries: UNITACMP for ARM® Cortex™ processors,  and UNITS12Z  for Freescale's S12Z processors. P&E's UNIT libraries consist of routines that interact with and control P&E's hardware interfaces. This allows users to create custom run-control and test applications. Standard UNIT licenses allow the applications to be used on up to 5 computers. P&E also offers Distributable versions of its UNIT software which can be used on an unlimited number of computers. 

UNITACMP can be used to control ARM Cortex devices with P&E's Multilink Universal and Multilink Universal FX development interfaces, Tracelink trace-capture debug interface, and Cyclone MAX production programmer. 

UNITS12Z  can be used to control S12Z devices with P&E's Multilink Universal and Multilink Universal FX development interfaces, and Cyclone PRO production programmer. Support for Tracelink trace-capture debug interface will be added in the near future. 

ARM is a registered trademark and Cortex a trademark of ARM, Limited.

 





BOSTON – December. 3, 2012 - Atollic® announced support for P&E Microcomputer Systems' Multilink Universal and high-speed Multilink Universal FX interfaces in the newly released version of their TrueSTUDIO® development environment. TrueSTUDIO, a premier C/C++ development tool for 32-bit microcontrollers including Freescale's Kinetis® devices, now works seamlessly with P&E's popular all-in-one interfaces and Freescale's OpenSDA interfaces.

The Multilink Universal is a popular, value-oriented debug interface that works with all Kinetis devices, including the new L-Series, as well as many other Freescale architectures. The Multilink Universal FX adds high-speed communications and other enhancements, including the ability to supply power to the target. OpenSDA is a low-cost debug/programming interface embedded in certain Freescale evaluation boards.

Atollic and TrueSTUDIO are registered trademarks of Atollic. Kinetis is a registered trademark of Freescale, Inc. 




kinetisBOSTON – November 21, 2012 - P&E Microcomputer Systems Inc., a leading developer of third-party tools for Freescale microcontrollers, has announced the addition of support for Kinetis L-Series and SWD communications to the Cyclone MAX programmer. This joins our existing all-in-one Multilinks and the Tracelink trace-capture interface which already fully support the L-Series and SWD. All of these interfaces ship with 10 and 20-pin mini-cables to connect to all varieties of Kinetis processors. Existing Cyclone MAX customers can enable SWD support with the purchase of an inexpensive adapter. P&E's interfaces now support the L-Series from development right through to high-volume production progamming. 

Kinetis is a registered trademark of Freescale Semiconductor, Inc.

 





BOSTON – November. 21, 2012 - P&E Microcomputer Systems announced the addition of the GDB Server for Kinetis® devices to its industry-leading roster of tools for Freescale devices. P&E's support for Freescale's Kinetis microcontrollers now includes the ability to use GNU GDB tools with P&E's lineup of Kinetis-compatible hardware interfaces. These include the all-in-one Multilink Universal development interface and its high-speed counterpart, the Multilink Universal FX, as well as the production-ready Cyclone MAX automated programmer and debug interface. The GDB Server for Kinetis devices also supports the OpenSDA and OSJTAG embedded debug circuitry incorporated into many of Freescale's Tower and Freedom development boards.

Users are invited to read more information and download a trial version of P&E's GDB Server for Kinetis devices.





Freedom boardBOSTON – Sept. 21, 2012 - With the recent launch of Freescale's Freedom platform for Kinetis KL25 microcontrollers, P&E Microcomputer Systems Inc., a leading developer of third-party tools for Freescale microcontrollers, is pleased to announce that it is hosting an OpenSDA resource page to provide device drivers, firmware updates, and additional information to users of the FRDM-KL25Z evaluation board. OpenSDA is the open standard which the Freedom platform uses to enable USB-based serial and debug communications. P&E's OpenSDA resource page is available at pemicro.com/opensda.

P&E is a key OpenSDA partner who developed much of the software which resides on the Freedom board, including mass storage and debug applications. The mass storage device (MSD) is a bootloader which allows programming and other applications to be loaded quickly. P&E's debug application provides JTAG/SWD debug and virtual serial interfaces and is broadly supported by several popular toolchains, including Freescale's CodeWarrior and software by IAR and Keil.





BOSTON – Aug. 27, 2012 - P&E Microcomputer Systems has announced the release of its latest Hardware Interface Drivers, v.11. The updated drivers include preliminary support for the upcoming Windows 8 operating system, as well as support for OpenSDA hardware. P&E maintains a resource page for OpenSDA firmware and drivers at pemicro.com/opensda.

P&E's latest Hardware Interface Drivers may be downloaded at:

pemicro.com/downloads/download_file.cfm?download_id=301.





 

BOSTON – Mar. 15, 2012 - P&E Microcomputer Systems Inc., a leading developer of third-party tools for Freescale microcontrollers, has announced the addition of support for Freescale DSCs (digital-signal controllers) to key P&E development and production programming interfaces. Freescale DSCs are designed to blend processing power with specific, optimized control loop capabilities. P&E's DSC-compatible products represent a range of feature sets and price points in order to accommodate projects of any scope and budget.

P&E's Cyclone MAX, a flagship Automated Programmer and Debug Interface that is designed to handle a variety of tasks, including low and high volume programming in demanding production environments, now offers support for the following Freescale DSC families: MC56F80xx, 56F82xx, MC56F83xx, and MC56F84xxx. In addition, the new Cyclone MAX firmware (v.7.70) streamlines the unit's LCD display and provides more user selected and customized information. 

The USB Multilink Universal and the high-speed USB Multilink Universal FX also support Freescale's MC56F80xx, 56F82xx, MC56F83xx, and MC56F84xxx DSC families as part of an "all-in-one" approach that includes support for many other Freescale MCU architectures. The USB Multilink Universal is P&E's entry-level all-in-one development interface, and the USB Multilink Universal FX features up to 10x faster download speed and the ability to supply target power, while remaining an excellent overall value.

All three of these DSC-compatible interfaces are natively supported by Freescale's Codewarrior 10.2. More information on the Cyclone MAX, USB Multilink Universal, USB Multilink Universal FX, and compatible software is available at www.pemicro.com.

 





BOSTON – Feb. 28th, 2012 - P&E Microcomputer Systems Inc., an industry trendsetter in hardware and software development tools for Freescale microcontrollers, is introducing a series of hardware and software development tools that support Freescale’s new S12ZVM device family. This support includes a sub-$1000 trace interface, low-cost development interfaces, debug and programming software, and production programming equipment.

P&E’s TraceLink is the first trace product on the market that allows developers to capture real-time external trace information from Freescale’s S12ZVM device family. Developers facing ever-increasing speed and complexity will benefit significantly from the insight that this feature provides into the real-time execution of their code. “The TraceLink brings the highest level of debug capability to Freescale’s new S12ZVM device family while maintaining an affordable, sub-$1000 price point” says Edison Tam, chief architect of the TraceLink product. “With a huge amount of on-board memory, the TraceLink can continuously record processor events without having to stop or disturb the running application which is extremely important to our customers.”

“We are excited to work closely with P&E Microcomputer Systems on the new TraceLink development tool. This product allows developers to capture real-time external trace information from the S12ZVM device as it runs.” Said Steve Pancoast, vice president of Freescale’s Automotive, Industrial & Multi-market Product Solutions group.  “Given the large amount of trace storage, the TraceLink can continuously record processor events without having to stop or disturb the running application, which is extremely important to many of our customers. Equally significant, this industry-turning product will be available at competitive pricing.” 

The S12ZVM family of devices is also supported by the Multilink Universal and Multilink Universal FX development interfaces, and by the Cyclone PRO flash-programming interface offered by P&E Microcomputer Systems. The Multilink Universal and Multilink Universal FX are ideal for design and development, while the advanced production features of the Cyclone PRO is irreplaceable in a fast-paced manufacturing environment. The Cyclone is designed to provide the highest level of flexibility, and features an on-board LCD, Ethernet/USB/Serial interface support, and internal memory capable of storing multiple FLASH images for different manufacturing applications. 

Media Contact:
Keith McNeil
P&E Microcomputer Systems, Inc.
(617) 923-0053 xt 713
keith.mcneil (at) pemicro.com


 





P&E continues to expand on its line of all-in-one interfaces with the launch of the high-speed USB Multilink Universal FX. Like P&E's original all-in-one interface, the USB Multilink Universal, the new USB Multilink Universal FX supports a varirety of Freescale MCUs, including: Kinetis, Qorivva 55xx/56xx, ColdFire V1/ColdFire+ V1, ColdFire V2-4, HC(S)12(X), HCS08, RS08, Power Architecture PX Series, and DSC. However the new FX interface can download at speeds up to 10x faster and can provide power to the target processor, among other enhancements.

The new USB Multilink Universal FX is natively supported by recent versions of CodeWarrior®, current P&E software applications, and toolchains from many Freescale partners including Keil and Cosmic.

More information about the USB Multilink Universal FX is available on the product page at P&E's website.

 





    P&E presented its new USB Multilink Universal, an ALL-IN-ONE development interface, at the recent Freescale Momentum conference. The revolutionary ALL-IN-ONE interface concept was very well received by conference attendees. USB Multilink Universal is a single interface that supports Freescale’s HCS08, RS08, HC(S)12(X), Coldfire V1/+V1/V2-V4, Qorivva MPC55xx/56xx, and Kinetis ARM microcontrollers. Thus, it eliminates the need to purchase different hardware interfaces to support specific devices that belong to those MCU families.

    P&E also previewed two upcoming products: the USB Multilink Universal FX and Tracelink. The USB Multilink Universal FX is an enhanced, very high-speed version of the USB Multilink Universal. The Tracelink interface will support trace capture for 32 bit Freescale device architectures.

New! Follow us on Twitter at twitter.com/pemicro!  





P&E has released its groundbreaking new USB Multilink Universal all-in-one interface. The USB Multilink Universal is an economical, reliable USB-to-target interface that uses multiple headers to support Freescale's HCS08, RS08, HC(S)12(X), ColdFire V1/+V1 & V2-4, Qorivva MPC55xx/56xx, and Kinetis ARM microcontrollers. The USB Multilink Universal includes multiple ribbon cables to allow connections to the various supported devices. The USB Multilink Universal's case simply flips open for easy access to the headers.

It is supported by P&E software, in addition to Freescale's Codewarrior and software from other third party vendors. A configuration utility is available on P&E's website which allows configuration of the USB Multilink Universal for use with older software packages.

P&E is also developing the USB Multilink Universal FX, an enhanced, high-speed version of the USB Multilink Universal interface. 





For users of our Cyclone for Renesas stand-alone programmer, we've made our library of programming algorithms for supported Renesas devices available for download here. As always, if you do not see the algorithm you need for a supported device, you can use this link to request a custom algorithm. The Cyclone for Renesas currently supports the H8, R8C, and M16C families.  





Freescale offers certain development boards with an integrated debug circuit based on Open Source BDM. The Open Source BDM circuit design is an open source, community-driven design. It has been published on Freescale's website, and full documentation can be found in the Community Forums.

P&E Microcomputer Systems has released a free utility that allows the user to upgrade the firmware on the current JM60-OSBDM development board design. The utility may be downloaded at: www.pemicro.com/osbdm

P&E's USB Multilink (part# USB-ML-12E) hardware interface is required to perform this firmware update.  The process of updating the firmware via this utility is very simple. Please follow these steps:

1. Plug the USB Multilink into the 6-pin BDM header for a JM60 device in the OSBDM design.

2. Click the "Select" button to browse for the firmware file that you would like to download to the OSBDM design.

3. Click the "Update Firmware" button to complete the firmware update.

 

New! Follow us on Twitter at twitter.com/pemicro!





This video provides a brief comparison of the features of two popular P&E hardware interfaces, the USB BDM Multilink and the Cyclone PRO. This overview is intended to help users determine which interface is best suited for their project. More information about each interface can be found on the USB-ML-12 and Cyclone PRO product pages.





P&E is pleased to announce that 64-bit Windows support has arrived, including support for Windows 7. P&E software has been upgraded to work under Windows 7 (and other Windows 64-bit operating systems) by using the latest version of our drivers - P&E Hardware Interface Drivers 10. There is no need to worry about P&E software compatibility if you're migrating to a Windows 64-bit OS at home or in the office. 

Read more...




We're pleased to announce the release of our latest device drivers. This update includes support for Microsoft Windows XP, Vista, and Windows 7 Operating Systems for both 32-bit and 64-bit architectures, as well as some minor bug fixes.

To get started using the drivers:

  1.     Download P&E Hardware Interface Drivers 10
  2.     Run the file drivers_10_install.exe. If you have an older version of our drivers installed, the setup will automatically perform the update.

NOTE: The latest drivers no longer include support for Windows 98 and ME, but P&E will continue to make our older drivers available. Support for PCI devices (e.g., BDM Lightning) and Parallel port devices has been removed for Windows Vista and later, as well as all 64-bit operating systems.

P&E drivers allow P&E applications to communicate with P&E hardware via the parallel port, PCI bus, Ethernet, Serial, and USB.





null
P&E Microcomputer Systems INSIDER
Since 1980, P&E Microcomputer Systems has been providing industry leading hardware and software development tools for the microcontroller industry.

November 2009

IN THIS ISSUE
P&E Launches Cyclone Programmer For Renesas Devices
FEATURES
FAQs
Get Help
Buy at P&E
RESOURCES
P&E Website
P&E Launches Cyclone Programmer For Renesas Devices
The power of P&E's Cyclone programmers is now available for Renesas! P&E's Cyclone for Renesas is a flexible, affordable in-circuit flash programming solution for Renesas devices that excels in a demanding production environment. After configuration, operation is as simple as one touch.

The Cyclone for Renesas includes these features:

Support is currently available for the R8C, M16C, and H8 families. A complete listing of supported devices is available here. Please contact us for information about support for other devices.


LCD Menu Display
LCD Menu Display The Cyclone for Renesas includes an extremely useful LCD Menu Display that greatly enhances the Cyclone's stand-alone capabilities. The LCD Menu Display allows the user to:
  • Configure the Cyclone without a PC
  • Quickly view and select from multiple programming images
  • Easily perform programming operations in stand-alone mode
  • Get direct feedback about programming results

Multiple Image Support
No need to swap programming images! The internal memory of the Cyclone for Renesas manages multiple images. Load several different programming images onto the Cyclone and choose between them using either the PC software or the LCD Menu on the unit itself. The Cyclone's memory can also be expanded with optional CompactFlash activation. Multiple Cyclone Images

Control Multiple Cyclones
Control Multiple Cyclones Automation can yield a big increase in productivity. P&E includes software with the Cyclone for Renesas that allows the user to automate control of a single Cyclone via a command-line executable or a .dll.

NOW AVAILABLE - P&E has introduced the Cyclone Automated Control Package, which allows users to manage multiple Cyclones simultaneously. Any supported devices can be programmed in parallel, even if they are different devices with different data.

Please visit P&E's website for information on the Cyclone Automated Control Package (available separately).


Optional CompactFlash Support
Expand the memory of your Cyclone for Renesas with P&E's new Compact Flash support. Store more images and larger images while adding flexibility and efficiency by reducing your need to be connected to the PC.

P&E's new CompactFlash Activation License activates the Manage Images Utility on the Cyclone interface so that it can be used with CompactFlash cards.

CompactFlash







This video gives a demonstration of how to load a programming image onto a CompactFlash card in the expansion port of P&E's Cyclone products. CompactFlash activation is a powerful feature that lets users expand the memory and versatility of their Cyclone:

 





Overview

PEmicro’s Cyclone PRO/MAX Stand Alone Programmers offer an impressive array of capabilities such as in-circuit flash programming, stand-alone programming, and as much as 7MB internal non-volatile memory for storing programming images. And now this memory space can be expanded via optional software which enables the Cyclones’ CompactFlash interface. The expanded storage feature simplifies management of Stand-Alone Programming images. This Expert’s Corner explains how to take advantage of the CompactFlash card feature to facilitate the Stand-Alone Programming process.

Read more...




P&E engineer Edison Tam demonstrates how to program Freescale's QE128 with P&E's Cyclone PRO stand-alone automated programmer, and gives an overview of the development and production capabilities of the Cyclone PRO. To learn more, please visit the Cyclone PRO product page:

 

Read more...




P&E Microcomputer Systems has expanded its line of UNIT Library Interface Routines by adding a new version that supports Freescale's RS08 microcontroller family. P&E's UNIT Libraries allow the user to create custom Windows applications that can fully control an RS08 processor using either P&E's Cyclone PRO (Rev. C) or USB-ML-12 (Rev. C)  interfaces. It also supports P&E's DEMO9RS08LA8, DEMO9RS08LE4, and DEMO9RS08KB12 development boards, available through Freescale.

The UNIT libraries are frequently used to build custom production line testers. The libraries allow applications to peek and poke memory, peripherals, and other resources of the processor by using P&E interfaces to access the debug port. With these abilities, the application can perform tests of the target hardware, calculate target calibration data, or simply control the target using debug mode. 

More information about P&E's UNIT Interface Library Routines for the RS08 can be found at P&E's website.

 





PEmicro's flash programming software PROG12Z now supports the Freescale MC9S12XE family of microcontrollers. 

The MC9S12XE family of microcontrollers comes with unique flash memory called D-Flash that can be allocated for Emulated EEPROM (EEE)  which mimics the small sector size and endurance of real eeprom. Before you can program the D-Flash or EEE, the D-Flash must be configured with the "Full Partition" command PROG12Z. This article discusses how to program the D-Flash of MC9S12XE100 using PROG12Z. The P-Flash does not support the allocation of EEE and therefore does not require partitioning.

Overview

The size of the D-Flash on the MC9S12XE can be up to 32KB or 128 sectors of 256 bytes each. You can allocate up to 4KB or 16 pages of 256 bytes each  to be used for EEE. Please see Freescale application note AN3490 for a more detailed overview of the EEE implementation. There are two  parameters that control how the software configures the memory: DFPART and ERPART.

DFPART = Number of D-Flash sectors reserved as User D-flash (128 total)

ERPART = Number of pages reserved for EEE (16 total)

The two parameters are required to meet two size conditions to be valid:

1. (128-DFPART) / ERPART >= 8

2. (128-DFPART) >= 12 if ERPART==1

The following table shows how the flash memory can be allocated towards D-Flash and EEE. The arrows indicate that any number in that range is a valid amount of sectors for D-Flash. DFPART and ERPART are in hexadecimal notation.

Programming

Open Prog12z and connect to the target board. After entering background mode, the software will prompt you for an algorithm. There are two seperate algorithms for D-Flash and EEE. The D-Flash algorithm is "Freescale_9S12XEP100_1x16xmax16k_max32k_Linear_User_Dflash.12P". The EEE algorithm is "Freescale_9S12XEP100_1x16xmax2k_max4K_EEPROM_linear_1k_page.12P".

Lets choose the algorithm for D-Flash. After selecting your S19 file and before programming, execute the Full Partition (FP) command. The software will prompt you to enter a value in hexadecimal that is the combination of DFPART and ERPART parameters. 

Examples:

"8000" - Enables 128 sectors (32 KB) of D-Flash and 0 pages of EEE 

"200C" - Enables 32 sectors (8 KB) of D-Flash and 12 pages (3 KB) of EEE

"100C" - Enables 16 sectors (4 KB) of D-Flash and 12 pages (3 KB) of EEE

"0010" - Enables 0 sectors of D-Flash and 16 pages (4 KB) of EEE 

When you want to program the EEE, you should choose the algorithm for EEE. You do not need to run the Full Partition command again unless you want to change the memory configuration. Note that setting up the memory configuration using the FP command will erase all the contents of both D-Flash and EEE.  If you get the error message "Started. Error during .12P specified function.", you have entered an invalid value.

Reading

The D-Flash begins at 0x100000. If all your memory is allocated towards D-Flash only, execute the Upload Module (UM) command to dump the memory to a S19 file. UM reads the entire flash regardless of how it was partitioned. If there is D-Flash and EEE, execute the Upload Range (UR) command instead. For example, if there is 8 KB of D-Flash, then upload the range 0x100000 to 0x101FFF.

 





 Systems that use memory-mapped external flash require special considerations from a programming perspective. Because there are so many variables, questions about external flash are among the most common types of technical support inquiries that we receive. In this article, we provide an overview of how the PEmicro PROG software handles external flash and offer some tips to help debug a system.  The examples in this article relate to Freescale ColdFire devices, but the concepts can be applied to most microprocessor systems.


Hardware connections
The following is the minimum set of signals required to access a memory-mapped external flash:

A[X:0] – Address signals
D[Y:0] – Data signals
CS – Chip Select
WE or R/W – Write Enable
OE – Output Enable

How PROG works
PEmicro’s PROG software forces the processor into background (or "debug") mode, where it gains full access to the processor’s resources. The flash programming algorithm is then loaded into the processor’s RAM. The algorithm contains all of the routines necessary to erase and program the external flash.

PROG always moves the external flash so that it begins at address 0 for programming. If your own memory map is different, PROG will need to account for this with the correct base address

Accessing the external flash
The PROG software uses the processor to access the external flash. This means that from the processor’s perspective, it must be able to read and write to the external flash. Usually, this is all handled by the processor’s external bus interface. Most of the external flash algorithms provided by PEmicro assume that this configuration is already handled by the user.

For example, most processors automatically start up with CS0 as the global chip select. The processor uses this chip select for all external memory accesses until it is reconfigured by the user. Likewise, the processor checks certain signals during bootup to determine the width of the data bus on CS0.

Extra initialization
Depending on the processor and external flash used, there may be some extra initialization that is not automatically performed by the processor on bootup, but is necessary before flash programming can take place. Users may perform this extra initialization by adding commands to the beginning of the algorithm itself. The algorithms may be edited with a simple text editor such as Notepad. Refer to the PROG help file for more detailed information on these commands.

Some examples:

1) Processor’s internal SRAM needs to be enabled, because it is disabled at bootup
NO_ON_CHIP_RAM
CONTROL=80000001/0C05/             ;set up rambar to place ram at $80000000

2) Processor has a software watchdog that needs to be disabled
WRITE_WORD=0000/40140000/          ;kill extra sw watchdog

3) External bus interface is not properly configured after bootup
WRITE_WORD=0000/40000080/       ;CSAR0 - CS0 at address 0
WRITE_LONG=00000101/40000084/       ;CSMR0 - Enable CS0
WRITE_WORD=3D80/4000008A/       ;CSCR0 16-bit data bus

Troubleshooting
- Make sure you are using the correct algorithm. Please refer to this previous blog post for more information about algorithm selection.
- Double check hardware connections between the processor and the external flash.
- Check if the processor is actually able to access the external flash. The PROG software has a command called “Show Module” which will attempt to read the contents of the flash. If the data is displayed as XX, then the processor was unable to read the external flash.
-  If the hardware connections are good but the processor’s external bus configuration needs tweaking, a debugger will allow you to check the processor’s settings on bootup to make sure they match up with the external flash.





P&E has updated its Cyclone PRO Image Creation Utility to provide a way for users to set a custom trim frequency for HCS08, RS08, and CFV1 devices that have an internal reference clock. To use this feature, the user must first select a programming algorithm, because not all devices have the same maximum and minimum internal reference clock frequencies.

Once the programming algorithm has been selected, the utility will determine the allowed frequency range from which the user can choose. The user also has the option of enabling or disabling this feature. When it is enabled, the user can input a desired frequency. If the user does not enable this feature and input a frequency, or if this feature is disabled, the utility will simply select the default trim frequency as specified in the device reference manual.

Please note that this feature is only effective if the "PT ; Program Trim" command is included in the programming sequence. This custom trim feature in the updated Cyclone PRO Image Creation Utility is similar to the one available in CodeWarrior for Microcontrollers (RS08/HC(S)08/ColdFire V1).

To download the latest updates, please visit our Cyclone PRO product page.

 

 





Did you know that P&E offers full chip simulation for all 8-bit Freescale devices? This powerful tool allows you to jump start device evaluation and firmware development because you can start writing code without having access to the actual device. All aspects of 8-bit devices from the CPU to the external I/O can be analyzed in a full-chip simulator.

Because of the importance that external I/O plays in development of any embedded system, P&E's full chip simulator gives the user access to all onboard modules via a combination of input/output GUIs and commands. The user can simulate sending and receiving data to and from modules such as SCI, SPI, IIC, ADC and PGA. At the same time the user can also simulate analog inputs on bi-directional I/O ports, which can be used to trigger keyboard interrupt events if the KBI module is properly configured. Availability of  the modules mentioned above depends the actual device.

Currently, all P&E full chip simulators are available through fully licensed and evaluation versions of Freescale Codewarrior IDE. However, P&E plans to release a stand-alone product which will include simulation for 8-bit Freescale devices.

Below is a code snippet that can be used to perform an SCI transmission. Once the transmission takes place, it can be observed in the SCI output buffer window:

SCI_SAMPLE:      

       mov   #$00,SCI1BDH       ; Baud Rate = 9600
       mov   #$1A,SCI1BDL       ; Baud Rate = 9600
       mov   #$40,SCI1C1         ; Enable the SCI peripheral
       mov   #$08,SCI1C2         ; Enable the SCI transmitter

HERE: 

       brclr 7,SCI1S1,HERE       ; wait until xmitter is ready.
       sta   SCI1D                   ; Xmit it our serial port

To display the output of the SCI module in a separate window, use the SCDO command.

For a complete list of supported modules and instructions, please refer to the Debugger_HC08.pdf file, which can be found in the [Codewarrior Installation Directory]HelpPDF folder on your PC.

 





PEmicro’s PROG programming software will sometimes prompt the user to enter a “Base Address”. In this article, we discuss what the base address is and why it exists.

On most 8-bit and 16-bit processors, the internal flash/eeprom is located at fixed address locations. If this is the case, the associated programming algorithm will NOT prompt the user for a base address, since the address is fixed and already known.

On 32-bit processors and any systems using external flash, the address of the flash may be configured to reside anywhere within the processor’s address space. The developer will decide on an appropriate memory map early in the design process.

For these situations where the flash can be relocated, the PROG software will always move the flash so that it begins at address 0.  However, the developer may not have an object file that matches this new memory mapping. To account for this, the “Base Address” (specified by the user) is subtracted from all addresses in the object file prior to programming.

Below is an example of how the developer’s memory map may differ from the one in PROG. Although the external flash is located at different addresses, it refers to the same physical memory. Here, the user would specify a base address of FFC00000.

The base address should always be the starting address of flash in the developer’s memory map, and not the “first” address where data exists (although in most cases they are the same!)





Today's tip concerns P&E's Cyclone automated programmers. With the release of the Cyclone Automated Control Package, users have been inquiring if there is a way to automate the creation of stand-alone images. Fortunately, with the standard Cyclone PRO/MAX installations, users already have command-line executables that can accomplish this task.

For each architecture there is a corresponding CSAPXXXX.EXE application that can be used to create a stand-alone image file. For example, to create an image for the Coldfire V2/V3/V4 devices, the user would use CSAPBDMCFZ.EXE. For this blog, we will demonstrate how to create a stand-alone image for a 9S08QE128 device by using CSAPHCS08Z.EXE.

Begin by creating a stand-alone configuration file. You can create a configuration file by configuring the programming sequence in the Cyclone Image Creation Utility and then saving it thorugh File ->Save Cyclone Configuration. You can also create a configuration file by using a text editor, typing in the commands, and saving it as a .CFG file. A typical configuration file might use the following sequence:

CM  C:pemicrocyclone_proAlgorithmsHCS089S08QE128.S8P
SS   C: esthcs089S08QE128.S19
EM  ;Erase Module
BM  ;Blank Check Module
PT  ;Program Trim
PM  ;Program Module
VM  ;Verify Module
VC  ;Verify Checksum

In this example, we will save the .CFG file as "9S08QE128.CFG" in c:. With the configuration file created, we can now create a stand-alone image or .SAP file by using the command prompt. In the command prompt, we can invoke the configuration script file as follows:

c:pemicrocyclone_procsaphcs08z.exe "c:9S08QE128.cfg" imagefile "c:9s08qe128.sap" imagecontent "9S08QE128_1_26_2009"

The first parameter, "c:9S08QE128.cfg", specifies the location of the input configuration file.

The second parameter, imagefile  "c:9s08qe128.sap", specifies the name and output location of the .SAP file.

The last parameter, imagecontent "9S08QE128_1_26_2009", specifies the image description.

You can use the '?' character option to cause the utility to wait and display the result of the configuration in the CSAP window. You can also use the '!' character option to cause the utility to wat and display the result only if the file failed to generate.

After invoking the configuration script in the command prompt, the file 9S08qe128.sap is generated in the C: directory. The 9s08qe128.sap file can now be loaded into the Cyclone PRO/MAX by using the Cyclone Automated Control Package or the Cyclone Manage Images Utility.

 

 

 

 

 

 

 

 

 





P&E's Cyclone PRO makes it very simple to program both the Flash and EEPROM on your HC(S)12(X) device.  There is a unique algorithm for each device and the type of memory, so the first step is to determine the correct algorithm for your setup.  A list of all of our algorithms is located here.  If you need help indentifying the correct algorithm, please refer to our previous post, Choosing The Right Programming Algorithm.

The following is a demonstration of how to program the 9S12DP256B microcontroller with P&E's Cyclone PRO,  first in Interactive and then in Stand-Alone mode. 

The 9S12DP256B has 4KB of EEPROM and 256KB (4 blocks of 64KB) Flash, so the algorithm files that you are need are:

Freescale_9S12DP256B_1x16x2k_4k_EEPROM.12P - Internal EEPROM algortihm

Freescale_9S12DP256B_1x16x128k_256k_Linear_16k_page.12P - Internal Flash algorithm

You can place your code for EEPROM and Flash in seperate S-Record files or combine it into one.  The P&E programming software will ignore any addresses in the S-Record that are out of memory range.  Note that Freescale's Codewarrior Develoopment Kit automatically outputs an S-Record file and PHY file that contain both the Flash and EEPROM code.  You can load the PHY file directly with either algorithm for programming.

INTERACTIVE MODE

When using the Cyclone PRO in Interactive Mode, open up the CyclonePro_PROG12Z Flash programming software and connect to the target board. 

1. Load Freescale_9S12DP256B_1x16x2k_4k_EEPROM.12P with the "CM" command.
2. Specify S-record that you want to program with the "SS" command. 
3. Erase the EEPROM with the "EM" command.
4. Program the EEPROM with the "PM" command
5. Verify the EEPROM with the "VM" command       
6. Load Freescale_9S12DP256B_1x16x128k_256k_Linear_16k_page.12P with the "CM" command
7. Erase the Flash with the "EM" command.
8. Program the Flash with the "PM" command
9. Verify the Flash with the "VM" command       

 

STANDALONE MODE

If you're using the Cyclone in Stand-Alone mode you'll need to configure the following programming sequence in the Cyclone PRO Image Creation Utility.  If you don't have this utility, you can download the software here

CM Freescale_9S12DP256B_1x16x2k_4k_EEPROM.12P
SS DP256.PHY
EM
PM
VM
CM Freescale_9S12DP256B_1x16x128k_256k_Linear_16k_page.12P
EM
PM
VM





When you need to convert between object file formats, download one of P&E's free, C language development kits.  These kits include a full GNU compiler toolchain, including Binutils OBJCOPY.

Download PKGPPCNEXUS Starter Edition
http://www.pemicro.com/downloads/download_file.cfm?download_id=194

Download PKGCFZ_PRO Starter Edition
http://www.pemicro.com/downloads/download_file.cfm?download_id=180

P&E's ICD In-circuit Debugger and PROG Flash Programmer software, included with the Starter Editions, natively supports several object file formats, including s-record and ELF.  Soon, P&E software will natively support Intel Hexadecimal files.

After installing one of the Starter Editions, run OBJCOPY from the Windows command-line.  The program is located in the gnuin subdirectory within the installation directory.  View the help screen for OBJCOPY from the command-line by typing  "powerpc-eabispe-objcopy" or "m68k-elf-objcopy".  You will see a list of all program options.  To determine which formats are available with OBJCOPY, take note of the final lines of the help screen.  You will use these format names, BFD names, when running OBJCOPY.

To convert a file, use the  "-O" option followed by the name of the desired output format.  The input format may be specified with the "-I" option, though this is often unnecessary.   For example, to convert the object data in a COFF file "file1.coff" to an s-record file "file1.srec":

m68k-elf-objcopy -I coff-m68k -O srec file1.coff file1.srec

or

powerpc-eabispe-objcopy -I aixcoff-rs6000 -O srec file1.coff file1.srec

If you are looking for greater control of file conversion, look at the options on the OBJCOPY help screen.  For example, with powerpc-eabispe-objcopy you may specify s-record length, force S3 records, and manipulate the linker sections in object files.





When using PEmicro's PROG family of programming software, it's necessary to specify the correct programming algorithm to match your hardware setup. Because PEmicro provides thousands of different programming algorithms this can seem like a duanting task. In this article we discuss how to quickly determine the programming algorithm that correctly matches a specific hardware setup.

1) Obtain the latest Programming Algorithms
PEmicro's Programming Algorithms are being constantly updated to support new devices. For convenience, all of our algorithms are located here. These algorithms are grouped according to the processor family being used.

2) Internal or External Flash/EEPROM?
Internal Flash/EEPROM is memory that resides inside the processor itself. Although most modern processors contain at least some internal Flash/EEPROM, there are some specific devices (Freescale MCF5474) that do not contain any nonvolatile storage. External Flash is a separate integrated circuit component that is externally connected to the processor. In general, external Flash is used for higher end 32-bit applications that require increased memory capacity.

3a) Internal Flash/EEPROM Algorithm Selection
Once you have identified the processor that you are working with, it is generally straightforward to identify the correct programming algorithm. All of PEmicro's internal Flash/EEPROM algorithms contain the processor part number in the filename. In certain cases, there are separate algorithms for programming the Flash and the EEPROM. This information is also present in the algorithm filename itself. All the algorithms for the processors in the same architecture end in the same file extension.

Examples:

9S08GB60.S8P - Freescale MC9S08GB60 internal Flash

9S08SG4_PRESERVE.S8P - Freescale MC9S08SG4 internal Flash, preserve the factory trim values at 0xFFAE-0xFFAF

Freescale_912D60A_All_Flash_and_EEPROM.12P - MC912D60A internal Flash and EEPROM

Freescale_MC9S12DP256_1x16x128k_256k_Linear_16k_page.12P - MC9S12DP256 internal Flash
Freescale_MC9S12DP256_1x16x2k_4k_EEPROM.12P - MC9S12DP256 internal EEPROM

Freescale_MC9S12A256_1x16x128k_256k_Linear_16k_page_PLL.12P - MC9S12DP256 internal Flash, enable PLL to increase bus frequency on the MCU for faster programming speeds

Freescale_MPC5604B_1x32x128k.PCP - MPC5604B internal Flash 

Freescale_MC56F84543_1x16x32k_pflash.dsp - DSC 56F84543 internal p-flash 

 

HD64F2110B.H8P - Renesas HD64F2110B Internal Flash 


3b) External Flash Algorithm Selection

 

PEmicro's external Flash Algorithms use the following naming convention:
Manufacturer_PartNumber_NumDevices x DataBusWidth x NumRows.FileExtension

Manufacturer = Manufacturer of the external Flash device
PartNumber = Manufacturer Part Number
NumDevices = Number of these external Flash devices used in parallel. Devices are typically used in parallel to support a wider data bus. As an example, imagine that an external Flash device only supports a 16-bit data bus. By using two of these devices in parallel, a 32-bit data bus can be supported.
DataBusWidth = The data bus width of EACH external Flash device. Certain devices support multiple data bus widths.
NumRows = The number of rows in each Flash device. Each row contains DataBusWidth bits. NumRows multiplied by DataBusWidth results in the total size of the Flash memory.
FileExtension = The file extension is unique for each processor family.

Examples:

ST_29W128FH_1x8x16meg.CFP - A single STMicroelectronics 29W128FH device, configured for 8-bit data bus. Total size = 8 bits (1 byte) x 16Meg = 16 MB
ST_29W128FH_1x16x8meg.CFP - A single STMicroelectronics 29W128FH device, configured for 16-bit data bus. Total size = 16 bits (2 bytes) x 8Meg = 16 MB
ST_29W128FH_2x8x16meg.CFP - Two STMicroelectronics 29W128FH devices, each configured for 8-bit data bus. The result is a 16-bit wide data bus. Total size = 2 x 8 bits (1 byte) x 16Meg = 32 MB

4) Device not supported?

This page can be used to request a specific Flash Programming algorithm if you do not find what you are looking for. Use this form if your device is not supported or if the existing algorithms do not match your setup correctly (e.g., if you are not using the default chip select). This service is provided by PEmicro free of charge.





Did you know that the Freescale Codewarrior IDE includes an option that allows you to program flash with more flexibility? This option is called “Expert Mode."

Expert Mode provides a set of general interface functions which are used to control the erasing, verifying, programming and viewing of modules to be programmed and provides the flexibility of choosing your own flash programming algorithm and program/erase ranges in your module within the IDE.

To access this feature, follow these steps:

  1. Start the Freescale CodeWarrior IDE
  2. Create your project or use an existing one.
  3. Make sure the connection type is set to “P&E Multilink/Cyclone Pro” and your target is connected.
  4. Start the Debug session and interface with the target.
  5. Inside the real-time debugger, navigate to “MultilinkCyclonePro” ==> “Start Expert Mode Programmer…” and select this option.

This will allow you to access features that are normally available to you in P&E's PROG flash programming software. This option is available in CodeWarrior 6.2 for the HCS08 and RS08 architecture and allows the Cyclone PRO to be used for interactive programming.

To find full documentation of our software for your device, please visit:

http://www.pemicro.com/support/downloads_find.cfm

and select the specific PROG that you are using.





BOSTON, MA - P&E announced the launch of CompactFlash support for its Cyclone PRO, Cyclone MAX, and Cyclone for Renesas products. This support is available in the form of a CompactFlash Activation License - a license key which activates software included with the Cyclones. This enables the appropriate software to make use of the CompactFlash card port of P&E's Cyclone devices.

Use of the CompactFlash interface allows for programming of larger datasets, and for the storage of multiple programming images on the CompactFlash card. It also enables faster, easier, and more flexible programming of data during field updates or on production runs.

More information is available on the CompactFlash Activation License product page at www.pemicro.com.

 





Cyclone ACP, Rev. C NOTE: The Cyclone Automated Control Package has been replaced by the Cyclone Control Suite, included with next generation CYCLONE and CYCLONE FX programmers. The Classic Cyclone Automated Control Package will remain available but not updated.

PEmicro’s product line of Cyclone stand-alone programmers provides a fast, robust, and automated solution for production-scale programming of microprocessors. However, production facilities may desire an even higher level of automation than the single-button touch capability that is offered by the Cyclone. PEmicro offers several means of automating control, including a command-line executable, UDP/Serial communications, or the .DLL included in PEmicro's new Cyclone Automated Control Software Package. In this article, we discuss automated control using the automated control package and the unprecedented level of power and flexibility that it offers.





Did you ever wonder how to power cycle your device to force it into Background Debug Mode? Are you trying to eliminate an external power supply from your manufacturing setup? You can accomplish either task by using a Cyclone PRO. Using the Cyclone PRO's internal power generation mechanism, you can control power for any HC08/HCS08/RS08/HC(S)12 device.

In fact, controlling the power through a Cyclone PRO is crucial for HCS08/RS08 device applications which may not have a dedicated RESET pin. This is because power cycling the device is necessary in order to fully automate the FLASH programming procedure.

To configure a Cyclone PRO to provide power to pin 6 of the BDM header, set power jumpers 2, 3 and 4 on the side of the Cyclone unit. To provide power to pin 15 of the 16-pin MON08 header, set power jumpers 1, 2 and 3. Once the power jumpers are set, select "Provide Power to Target" from the Connection Assistant and/or Cyclone Image Creation Utility and the Cyclone PRO will take care of the rest. You can choose between 5V, 3V and 2V levels.


The Cyclone PRO is also able to toggle power for most high-power/high-voltage devices. The internal electromechanical relays can handle power supplies with a maximum switched current of 1A and a maximum switched voltage of up to 30VDC. In order to automate power cycling with an external power supply, insert it into the Cyclone's "Target Power In" jack. Use the power cord that's included in the Cyclone PRO kit to connect the output of the Cyclone's "Target Power Out" jack to the power input of your board. Then be sure to set power jumper 5 on the side of the Cyclone unit, leaving jumpers 1, 2, 3 and 4 un-populated.

To learn more about Cylcone power management options, please download our Cyclone PRO User's Manual.





ICDPPCNEXUS, P&E’s in-circuit debugger for the MPC55xx/MPC56xx processors, uses reset scripts to properly initialize the device when it comes out of reset. When these devices power on normally, the Boot Assist Module (BAM) automatically performs a default startup initialization.

However, if the processor is forced into debug mode, the BAM does not execute. Because of this, many of the processor’s resources, such as internal FLASH and internal SRAM, are not available until a proper reset initialization is manually executed. The ICDPPCNEXUS debugger uses reset script files to specify the exact initialization that should be performed immediately after the processor is reset and debug mode is entered.

ICDPPCNEXUS includes a set of these reset script files which initialize the processors with a standard configuration. These files have a .mac extension and can be viewed/edited with a standard ASCII editor such as Windows Notepad. Let’s take a look at some of these script files in more detail:

These commands set up an entry in the MMU to map the internal SRAM to begin at address 0x4000_0000. This is accomplished by writing to the MMU Assist Registers (MAS0 – MAS3) and then executing the “tlbwe” instruction. This type of setup is typically repeated for internal FLASH and peripheral modules.

Fatal errors can occur if an interrupt is triggered and the interrupt vector address points to an invalid memory region. The above commands configure vector addresses to point to the beginning of SRAM, which is a valid address.

This command initializes SRAM from 0x4000_0000 to 0x4000_FFFF by writing random data to this entire memory region.

The last example above is device specific. The SWT watchdog is disabled by writing a 0xFF00_000A to address 0xFFF3_8000. The core watchdog is also disabled by writing a 0 to SPR 340.





Today's tip concerns P&E's Cyclone automated programmers. We've noticed that on rare occasions some users have observed that although a "PT" (program trim) command has been specified in the SAP programming sequence, the trim value is not programmed.

By working closely with Cyclone users, we've discovered that the issue is not that the Cyclone receives the command and fails to program the trim value to the target, but rather the PT operation was accidentally pre-empted by the user. How could this happen if the operation is configured in the Cyclone and all a user needs to do is wait for the operations to finish? The problem lies in the "wait for the operations to finish" portion of the sequence.

A stand-alone operation typically uses the following sequence:

CM algorithm_file

SS user_srecord

EM

BM

PM

VM

VC

PT

with PT being the last command in the sequence.

In a labor-intensive manual production environment, it is possible that a user may mistakenly terminate the sequence when he sees the "verification" LED or LCD display, thus ending the operation prematurely,  when in fact there is one more "PT" command yet to be executed.

To remedy this potential issue we recommend a slightly modified SAP sequence, which will not affect anything under normal conditions, but will help prevent human error. The sequence is as follows:

CM algorithm_file

SS user_srecord

EM

BM

PT

PM

VM

VC

As you can see, the "PT" command now occurs before the verifications begins. By putting the "PT" command ahead of the "PM" command, it also becomes an extra check for the trim value... if a valid trim value is not calculated, the Cyclone will not program the target.

 

 

 





One of the most valuable features of P&E's Cyclone PRO and Cyclone MAX is the stand-alone mode, which allows users to program their boards without the need for a host PC.  The purpose of this post is to visually show our newest users how to quickly configure their unit for production line programming.

1. Make sure you are using the latest Cyclone PRO/MAX installation software. If you are using an older SAP Configuration utility, you should uninstall it before installing the latest version. Reboot your PC after the install is completed.

2. Open the Cyclone Image Creation Utility. Create your programming script by double clicking on the commands under the "Programming Sequence" panel or use the Launch Script Wizard. After completing the stand-alone configuration, click 'Store Image to Disk' to save the current configuration onto your hard drive as a .SAP file. Save each programming script you create as a different .SAP file.

Image Creation Utility

3. Open the Cyclone Manage Images Utility.  Choose the appropriate port and click open. Press Add to bring up the Add Image to Internal Memory dialog box. Select the .SAP file that was previously saved. Repeat this until all your SAP files have been added. Then press Commit Changes. Click "Yes" on the confirmation dialog box. The images will then be loaded onto your Cyclone PRO/MAX.

Manage Images Utility

4. The stored images will appear on the "Images currently on the Cyclone" panel.

Manage Images Utility 2

View FAQ 110 for download links to the Cyclone PRO and Cyclone MAX software.

This process can also be automated with our Cyclone Automated Control Package.





In a previous post, we showed how to use PKGPPCNEXUS and  PKGCFZ_PRO to display the contents of an ELF/DWARF file using Readelf.  In this post, we look at the Readelf output and explain its description of your object code. 

We will use this example Readelf output to illustrate the kinds of information that Readelf provides.

The first item of interest is labeled "Entry point address". This is the address of the first instruction executed after reset. Your compiler or linker determines this value. The PEmicro debugger optionally uses the entry point address to execute your target application.

The "Section Headers" portion lists all of your linker sections that made it to your ELF/DWARF file. The ".debug_info" section is where ICD looks for the debugging information entries. Note that not all of these sections contribute to the application memory map.

The portions titled "Program Headers" and "Section to Segment mapping" describe the application memory map. ICD and PROG use the program headers to determine where to place object code on your target. Check that a linker section is included in the final memory map by examining the section to segment mapping. Note that the first entry in the program headers corresponds to the first entry in the section to segment mapping.

From the program headers, you can gather the following information about the memory map:
Type - Only LOAD types contribute to the final memory image
VirtAddr - load time location of code
MemSiz - number of bytes that the code segment occupies in the final memory image

PEmicro's PROG and ICD software support an uncommon feature of the GNU compiler.  GCC uses both the program header VirtAddr and PhysAddr fields, the former for run time address and the latter for load time address.  For more information on this useful feature, please refer to this document.





When using either a Cyclone PRO or a Cyclone MAX, customers often ask whether programming a target through Ethernet is faster than USB or vice versa.  While it's certainly true that the transfer time of data from the PC to the Cyclone occurs faster over an Ethernet link, the actual programming time is bottlenecked by the BDM Shift Frequency.

BDM Shift Frequency refers to the rate at which signals are handshaked (shifted) from one of the interface ports of a Cyclone unit to the Background Debug port of the target unit.  This handshake can occur synchronously or asynchronously, the former requiring the presence of a clock source (note that some ColdFire devices such as the MCF5272 require a synchronous interface), and may also require a power cycle sequence as part of entry into background mode, which is performed automatically by the Cyclone PRO.

BDM Shift Frequency directly reflects the operating clock frequency of the device.  For example, a ColdFire processor operating at 200 MHz will support a much faster BDM Shift Frequency than the same processor would if operated at a slower speed of 50 MHz.  Because processors can be configured to operate at different frequencies given an identical clock source, we take advantage of this and programmatically put the processor into a faster gear when possible by configuring the appropriate PLL entries from our programming algorithm.  

How fast can the BDM Shift Frequency be?  The answer isn't uniform across all processors and can be found in each processor’s specific user’s manual.  However, the rule of thumb is to use a value which is at most one-fifth of the bus clock frequency of the device, while keeping in mind all pertinent signal integrity issues and using proper cable length for connection to devices which operate faster than 100 MHz (see earlier post regarding cable length).

In short, whether using Ethernet or USB, or even in Stand-alone mode, all programming times are ultimately bounded by the BDM Shift Frequency that you select.  It often pays to experiment to identify the fastest BDM Shift frequency, given the guidelines above, and to select the rate for the fastest programming times.





P&E offers an easy and reliable way to control a Cyclone PRO via the built-in RS232 protocol. If you would like to follow along with our example, please pre-program your Cyclone PRO with a stand-alone image and configure your RS232 host device to operate at an 115200 baud rate, 8 data bits, no parity and 1 stop bit mode. You are now ready to enjoy the flexibility of controlling your Cyclone PRO by sending it a pre-defined set of byte strings. These commands cover full range of Cyclone PRO functionality, beginning with Executing All Commands of an Image (Same as Pressing the "Start" button) and ending with Dynamically Programming Data to Target.

In order to ensure that a given command reaches the Cyclone PRO without getting corrupted, each command is concluded by a CRC8 byte. Below is the command structure that should be followed every time the RS232 command is sent: [LENGTH] [COMMAND TYPE] [COMMAND ID] [PARAMETERS] [CRC8]. The user should calculate CRC8 and append it to all commands that are sent from a host system to a Cyclone PRO.

Let's go through a step-by-step example of CRC8 calculation for Execute All command:

The command consists of 4 bytes that include the CRC of $88: $03 $18 $11 $88.

Given an array of pre-calculated CRC values of:

const    crc8tab : array[0..255] of WORD = (
            $00,$07,$0E,$09,$1C,$1B,$12,$15,$38,$3F,$36,$31,$24,$23,$2A,$2D,
            $70,$77,$7E,$79,$6C,$6B,$62,$65,$48,$4F,$46,$41,$54,$53,$5A,$5D,
            $E0,$E7,$EE,$E9,$FC,$FB,$F2,$F5,$D8,$DF,$D6,$D1,$C4,$C3,$CA,$CD,
            $90,$97,$9E,$99,$8C,$8B,$82,$85,$A8,$AF,$A6,$A1,$B4,$B3,$BA,$BD,
            $C7,$C0,$C9,$CE,$DB,$DC,$D5,$D2,$FF,$F8,$F1,$F6,$E3,$E4,$ED,$EA,
            $B7,$B0,$B9,$BE,$AB,$AC,$A5,$A2,$8F,$88,$81,$86,$93,$94,$9D,$9A,
            $27,$20,$29,$2E,$3B,$3C,$35,$32,$1F,$18,$11,$16,$03,$04,$0D,$0A,
            $57,$50,$59,$5E,$4B,$4C,$45,$42,$6F,$68,$61,$66,$73,$74,$7D,$7A,
            $89,$8E,$87,$80,$95,$92,$9B,$9C,$B1,$B6,$BF,$B8,$AD,$AA,$A3,$A4,
            $F9,$FE,$F7,$F0,$E5,$E2,$EB,$EC,$C1,$C6,$CF,$C8,$DD,$DA,$D3,$D4,
            $69,$6E,$67,$60,$75,$72,$7B,$7C,$51,$56,$5F,$58,$4D,$4A,$43,$44,
            $19,$1E,$17,$10,$05,$02,$0B,$0C,$21,$26,$2F,$28,$3D,$3A,$33,$34,
            $4E,$49,$40,$47,$52,$55,$5C,$5B,$76,$71,$78,$7F,$6A,$6D,$64,$63,
            $3E,$39,$30,$37,$22,$25,$2C,$2B,$06,$01,$08,$0F,$1A,$1D,$14,$13,
            $AE,$A9,$A0,$A7,$B2,$B5,$BC,$BB,$96,$91,$98,$9F,$8A,$8D,$84,$83,
            $DE,$D9,$D0,$D7,$C2,$C5,$CC,$CB,$E6,$E1,$E8,$EF,$FA,$FD,$F4,$F3);

the following function should be executed with the initial CRC variable initialized to 0.

procedure ArrayCRC8(const a: array of byte; const len : byte; var crc: byte);
var
  i : byte;
begin
     for i := 0 to (len-1) do
         crc := crc8tab[crc xor a[i]];
end;

The first byte in the command representing its length should be omitted from CRC calculation.

Step 1: 0 xor $18 = $18. Retrieve CRC value from 24th location in our lookup table

                                 crc8tab[$18] = $48

Step 2: $48 xor $11 = $59. Retrieve CRC value from 89th location in our lookup table

                                    crc8tab[$59] = $88

Append the calculated CRC8 value of $88 to the end of your command to validate the correctness of the transmission.

 

 

 

 

 





Did you know you can safeguard data while erasing your Flash/EEPROM module during programming? PEmicro has added a “preserve range” function that can be used in a programming algorithm to preserve memory ranges. The function looks at the range to be preserved, saves it, and restores it after the Flash/EEPROM has been erased. The user can easily preserve code segments stored in flash with a couple of modifications to the header of the programming algorithm.

A flash programming algorithm is a text file which describes how a particular flash block is to be programmed. The algorithm contains a configuration section as well as some s-record data which implements the programming process. User's commonly will modify the configuration section to change the behavior of the programming algorithm, such as to add ranges of data to preserve.

Flash algorithms describe flash blocks as having either a fixed address (common for internal flash on a microcontroller) or a variable address (common for flash chips external to a microprocessor). Algorithms which do not have a fixed address for the flash will prompt the user for the base address of the flash at the time of programming. In either case, the algorithm can be used to specify ranges of flash to preserve relative to the start of the flash block.

For an algorithm with a fixed address for the flash block, the following line will indicate the flash block location:

NO_BASE_ADDRESS=NNNNNNNN/     ; NNNNNNNN is a Hexadecimal value indicating the start of flash

Do not modify the NO_BASE_ADDRESS line! You are simply going to add some lines after it which indicate that you wish to preserve certain ranges relative to the base address. The configuration line(s) you should add directly after the NO_BASE_ADDRESS line should have the following format (very strictly formatted - no spaces allowed and include all forward slashes):

PRESERVE_RANGE=SSSSSSSS/EEEEEEEE/     ; SSSSSSSS is the starting offset, EEEEEEEE is ending offset

Adding this line would preserve the following memory range : NNNNNNNN+SSSSSSSS to NNNNNNNN+EEEEEEEE.

Example:

If there was an algorithm which was designed to program a flash block with address range $4000-$FFFF, you would see the following configuration in the flash algorithm:

NO_BASE_ADDRESS=00004000/         ;Fixed at $4000
ADDR_RANGE=00000000/0000BFFF/00/FFFFFFC0/FFFFFE00/     ; $4000-$FFFF

 

Do not modify these lines! If you wanted to preserve a certain memory range, you would specify it after the line with the NO_BASE_ADDRESS command (which sets the base address) and before the lines with ADDR_RANGE. If you wanted to preserve the memory from address $F000-$F001, you would add the bolded line as follows:

NO_BASE_ADDRESS=00004000/         ;Fixed at $4000
PRESERVE_RANGE=0000B000/0000B001/ ; Preserve $0000F000-$0000F001
ADDR_RANGE=00000000/0000BFFF/00/FFFFFFC0/FFFFFE00/ ; $4000-$FFFF

Note that the preserve_range command requires the offset from the base address of your memory. If you add $4000 to $B000 and $B001, you have $F000 and $F001.

In addition, this functionality does not limit the user to preserving only 1 range or one address. The function can be called several times in the algorithm if several ranges and/or addresses need to be preserved, or if the Flash/EEPROM is segmented into several fields or extended into pages.

Example:

For the flash block above (from $4000 to $FFFF), if the user wished to preserve addresses $5001, $5006 and ranges $CCAA-$CCBB and $D123-$DFFF, the following segment would be added to the algorithm:

NO_BASE_ADDRESS=00004000/         ;Fixed at $4000
PRESERVE_RANGE=00001001/00001001/ ; 5001-4000
PRESERVE_RANGE=00001006/00001006/ ; 5006-4000
PRESERVE_RANGE=00008CAA/00008CBB/ ; CCAA-4000/CCBB-4000
PRESERVE_RANGE=00009123/00009FFF/ ; D123-4000/DFFF-4000
ADDR_RANGE=00000000/0000BFFF/00/FFFFFFC0/FFFFFE00/ ; $4000-$FFFF

Example:

It is also possible to preserve several different segments across different pages of Flash/EEPROM. The user should know how to access each page of memory logically in the software. Let's look at the HCS08 AC128. The paged Flash memory can be accessed with the following ranges. This will typcially be described in the configuration section of the programming algorithm.

$08000-$0BFFF --> Page 0
$18000-$1BFFF --> Page 1
$28000-$2BFFF --> Page 2 
$38000-$3BFFF --> Page 3 
etc.

If the user wanted to preserve memory on page 0 from $08000-$08005 and on page 3 from $38000-$38005, he would add the following commands :

NO_BASE_ADDRESS=000020F0/         ;Fixed at $20F0
PRESERVE_RANGE=00005F10/00005F15/ ; Preserve $08000-$08005
PRESERVE_RANGE=00035F10/00035F15/ ; Preserve $38000-$38005
ADDR_RANGE=00000000/0000DF0F/00/FFFFFFC0/FFFFFE00/ ; $20F0-$FFFF

Note again that the offset $20F0 is added to the parameters of the command to calculate the correct paged memory ranges to preserve. Add $20F0 to $5F10 to get $08000 and add $20F0 to $35F10 to get $38000.  

The PROG software will report a checksum error and warn that the algorithm has been modified. This error can be ignored. If you wish to remove the warning, please use our command-line ADDCRC utility to update the checksum.

The Blank Check command will now fail because of the preserved data. Also note that the Verify Module command will ignore the addresses that are preserved when comparing memory against an S-record.

Any information which follows a semicolon (;) on a configuration line is a comment.

PEmicro can provide more a detailed specification of flash algorithm construction upon request.




The HC(S)12(X) microcontroller family uses a paged flash architecture to expand its addressable memory beyond the standard 64KB (or $0000 to $FFFF). Microcontrollers with this feature treat a 16KB block of memory from $8000 to $BFFF as a memory window.  This window allows multiple 16KB blocks to be switched into and out of program memory.  An 8-bit program page register (PPAGE) tells the microcontroller which block to read. 

The entire paged memory can be addressed in two different ways: logical or physical.  Logical addresses are treated as segments of 16KB separated by 48KB.  These segments (or pages) of memory occupy $8000 to $BFFF.  In addition to the page window, there are two fixed 16KB blocks from $4000 to $7FFF and $C000 to $FFFF.  These fixed locations are addressable in either range.  For example, the last page of the MC9S12DP512 is $3F8000 to $3FBFFF or $C000 to $FFFF.  Physical addresses treat the whole flash as one linear space in a 24-bit memory map.  For example, the physical address space of the MC9S12DP512 is $080000 to $0FFFFF. 

To program the flash with PEmicro's software, you need an S-record file that has physical addresses by definition.  If you have a logical file, you can use the Log2Phy tool to convert it to an S-record.  Select the microcontroller from the drop down box in Log2Phy.  Then load the s-record and type in the name of the output file.  Press the Convert button and the results of the conversion will appear in the box. The S-record file is saved to a file with the extension “.phy”.  If there are unconverted logical addresses, they are saved to a file with the extension “.s19.extra”.
   
The Log2Phy tool now supports all S12, S12X, S12XE, and S12P devices.

This is a screen capture of the Log2Phy tool showing the conversion of a logical file for the MC9S12DP512 to an S-record:


This is the assembly source with sample code:

; Device = MC9S12DP512

      org $8000               ;page 20 is the first page
      dw  $8000               ;physical address $80000
      org $BFFE
      dw  $BFFE               ;physical address $83FFE                

      org $228000             ;page 22
      dw  $228000             ;physical address $88000
      org $22BFFE
      dw  $22BFFE             ;physical address $8BFFE

      org $C000               ;3F is the last page
      dw  $C000               ;physical address $FC000
      org $FFFE
      dw  $FFFE               ;physical address $FFFFE
     
      org $0800               ;not in flash address space
      dw  $0800


           
This is the output of the Log2Phy tool which shows the results of the conversion:


12 Bytes Converted and 2 Bytes Un-Converted.
Original Logical Memory Usage Map
 BEGINING  ENDING   LENGTH
 00000800-00000801 00000002
 00008000-00008001 00000002
 0000BFFE-0000C001 00000004
 0000FFFE-0000FFFF 00000002
 00228000-00228001 00000002
 0022BFFE-0022BFFF 00000002
Un-Converted Logical Memory Usage Map
 BEGINING  ENDING   LENGTH
 00000800-00000801 00000002
Converted Physical Memory Usage Map
 BEGINING  ENDING   LENGTH
 00080000-00080001 00000002
 00083FFE-00083FFF 00000002
 00088000-00088001 00000002
 0008BFFE-0008BFFF 00000002
 000FC000-000FC001 00000002
 000FFFFE-000FFFFF 00000002

Converting Addresses from Logical to Physical

Page 20 and $8000 

Convert to binary: 

20 = 0010 0000  

8000 = 1000 0000 0000 0000 => drop 2 most significant bits (15 and 14) => 00 0000 0000 0000

Concatenate two binary values => 00100000 00000000000000

physical address = 00 1000 0000 0000 0000 0000 => $080000 

 

Page 3F and $C000 

Convert to binary: 

3F = 0011 1111  

C000 = 1100 0000 0000 0000 => drop 2 most significant bits (15 and 14) => 00 0000 0000 0000

Concatenate two binary values => 00111111 00000000000000

physical address = 00 1111 1100 0000 0000 0000 => $0FC000 





PEmicro has added a new Chip Select Diagnostic mode to its interactive flash programmers to allow the user to diagnose memory map configuration problems.

PEmicro’s flash programmers support an extensive array of external flash devices connected to the processor. PEmicro’s algorithms are designed to work by default when the flash device is connected to the boot chip select and no modification is needed to the reset configuration of the output enable and write enable lines. However, there are numerous ways in which the flash can be connected that may require changes to the default reset configuration of the processor’s chip select, write enable, and output enable operation.

When another configuration is used, the algorithm may require some modification to work.  This often involves writing to the chip select registers to change which chip select is used, to make certain chip selects read only or write only, or to change the base address of the chip select. PEmicro’s algorithms expect the flash to be located at a specific location in the memory map. This location is listed in the algorithm itself as a comment. An example can be seen here:

;begin_cs device=$00000000, length=$00800000, ram=$10000000

This line indicates that the flash must be configured to be in the memory map at address 0, and that the full range $00000000-$00800000 must be configured to address the flash. This is separate from the “Base Address” capability in the programmer user interface which makes the flash appear to be anywhere the user selects it (internally it physically resides at a specific location).

On many devices the boot chip select is enabled everywhere. If a configuration change is needed, there are many commands which allow the registers on the device to be written during startup. The WRITE_LONG, WRITE_WORD, and WRITE_BYTE commands are examples of commands which can be used to write to memory mapped registers. There are also commands on some architectures to allow the configuration of where the registers are located, such as the CONTROL command on the ColdFire architecture. Here is an example of initializing the CS1 chip select on a 5272 device instead of the default CS0 chip select (the boot chip select).

CONTROL=20000001/0C0F/           ;set mbar on with address $20000000
WRITE_LONG=00000000/20000040/    ;cs0 off
WRITE_LONG=00000201/20000048/    ;proc=5272 cs=CS1 16 bits, r/w
WRITE_LONG=00000078/2000004C/    ;proc=5272 cs=CS1 on

The question often comes up : How do I know my chip select configuration is correct?

PEmicro has added a diagnostic tool to it’s interactive flash programmers which allow the user to test the chip select configuration to make sure the chip select, write enable, and output enable signals have been properly configured. The utility may be chosen from the “ChipSelectsDiagnostic” selection on the main menu bar. A portion of the utility is shown here:

Chip Selects Diagnostics

The user will need a scope or a logic probe to see if the signals maintain the proper state during the test read and test write functions. Setting the chip select registers properly solves the majority of support questions PEmicro receives regarding external flash algorithms.

New flash algorithms may be requested on PEmicro’s Flash Programming Algorithms page.





Certain test procedures and production environments require the use of a cable longer than the typical 9-inch flat ribbon cable typically included with P&E hardware interfaces. Extending the cable length requires special considerations for signal integrity, crosstalk, and electromagnetic interference. Simply using a longer cable without understanding these topics will usually produce a setup that does not work reliably, if at all. Extending the ribbon cable should be the option only if you determine that you cannot make longer the length of the USB, Ethernet, or Serial cable that connects the P&E hardware interface to your PC. The cables for the communication ports already have some shielding.

If it is necessary to use a longer ribbon cable, P&E recommends using a shielded jacketed cable . This cable configuration is excellent at reducing crosstalk as well as minimizing electromagnetic interference from other devices. Further improvement can be obtained if the wires are also arranged in twisted pairs.

Shielded USB cables are inexpensive and easy to rework. The four wires provided can be used to create a cable for the standard 6-pin BDM header used by many Freescale microprocessors (such as the HCS08, RS08, CFV1, and HCS12). But this option won't work for other devices that require more debug pins.

In general, these guidelines should be followed for all cables between the target microprocessor and the P&E hardware interface:

  1. Use the shortest cable possible

     

  2. Use shielded cable configurations to reduce parasitic effects

     

  3. Lower the communication frequency. For the ColdFire or Qorivva architectures, the communication frequency is controlled by the BDM Debug Shift Frequency setting. For other architectures, the communication speed is only dependent on the processor's bus frequency. Reducing the bus frequency (ie. disabling the PLL) should improve results.
The debug signals for some ColdFire devices such as the MCF5272 and MCF5206 have to be synchronized before reaching the microprocessor. This additional requirement must be kept in mind.

 





For time-sensitive HCS08/RS08 applications the developer often needs to trim the internal reference clock in order to generate a desired bus frequency. P&E's HCS08 and RS08 Flash Programmers provide a command called “Program Trim” that allows developers to program a pre-calculated value to the non-volatile flash locations that are reserved for storing ICSTRM and ICSSC registers. These can then be loaded at run-time.


Here’s a demonstration of how the “Program Trim” command can be used to generate a bus frequency of 8 MHz on a 9S08QE128 microcontroller. For the 9S08QE128, the “Program Trim” command will generate a value that will trim the Internal Reference Clock to 31.25 KHz with an accuracy of up to +/- 0.2%. The command will then program the generated value to 0xFFAE and 0xFFAF. We will be working with an assembly file that configures the Internal Clock Source module and toggle Port A every 20 CPU cycles.


Configuration source file:

ROMSTART equ $2080
SOPT1           equ $1802
ICSC2            equ $0039
ICSTRM         equ $003A
ICSSC            equ $003B
PTAD            equ $0000
PTADD           equ $0001


     Org ROMSTART

Main:  
     lda SOPT1
     and #$7F
     sta SOPT1    ; Disable watchdog
     
     
     lda $FFAF
     sta ICSTRM   ; Load TRIM bits from Flash and store it into ICSTRM
     
     lda ICSSC    
     and #$FE
     ora $FFAE    ; Load FTRIM bit from flash and store it into ICSSC   
     sta ICSSC   
     
     lda ICSC2
     and #$3F    ; Set BDIV to Divide DCOOUT by 1
     sta ICSC2    ; FLL factor= 512, therefore 31.25Khz*512/1=16 MHz=DCOOUT
                      ; 16MHz/2=8MHz=Bus Frequency                   
     
     mov #$ff,PTADD  ; Set all PTAD pins as outputs
     mov #$ff,PTAD    ; Set all PTA outputs as high
   Bra Loop
    

Loop:
     mov #$00,PTAD ; 4 cycles
     nop
     nop
     nop
     nop
     nop
     nop
     mov #$ff,PTAD ; 4 cycles
     nop
     nop
     jmp loop ; 4 cycles
     
     
     Org $FFFE
     dw  Main ;Reset Vector

 

After saving the above source file section as "9S08QE128_Example.asm" and assembling it, we can use PROGHCS08 to program the generated 9S08QE128_Example.s19 file into flash. The programming sequence outlined below will program our generated .S19 and the pre-calculated trim value.

CM  ; Choose module 9S08QE128.S8P
SS    ; Specify our object file 9S08QE128_Example.S19
EM  ; Erase module
BM  ; Blank check module
PM  ; Program module
VM ; Verify module
PT  ; Program Trim Value


On a power-on reset, our 9S08QE128 target will disable the watchdog, load trim values from flash and store them into their corresponding ICS registers, set the bus frequency divider to 1, and toggle PTA pins every 20 cycles. With a bus frequency of 8MHz, if we were to put a scope on any of the PTA pins, we would expect to observe a signal with a 400 KHz frequency +/-0.2% accuracy.





P&E's Cyclone programmers are sophisticated and flexible tools designed for in-circuit flash programming.  Field service updates, an important part of a field system, often occur in places where there is no access to a PC or power outlet.  However, P&E's Cyclones are lightweight, compact programmers that have been designed to operate in stand-alone mode – i.e. they can be loaded with a programming image, detached from the PC, and then be controlled via the LCD menu and control buttons. This makes it simple to update the firmware of a field system, for example. In the field, the Cyclone unit may be powered by using a Cyclone_PowerPack, which is a lightweight and compact lithium ion battery.  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. Flash programming occurs directly from the Cyclone image to the target by a simple touch of the Start button. Once initiated, programming launches and the on-board LCD displays the current state of the programming process. The final result, which is displayed on the LCD screen and with highly visible LEDs, clearly indicates a successful programming result.





If you use the ELF/DWARF file format with PEmicro's Programming or Debugging software, download one of our free C development kits to view the information within the ELF/DWARF file.  Use Readelf to examine your application memory map, check your linker script, determine application size, view detailed debugging information, and more. 

We include the GNU Readelf utility with our C development kits, PKGPPCNEXUS for PowerPC 55xx and PKGCFZ_PRO for ColdFire.  These packages give you a complete set of development tools including the PEmicro ICD debugger, PROG Flash programming software, register viewing software, WinIDE editor, target specific project templates, and a GNU compiler toolchain. 

Download PKGPPCNEXUS Starter Edition
http://www.pemicro.com/downloads/download_file.cfm?download_id=194

Download PKGCFZ_PRO Starter Edition
http://www.pemicro.com/downloads/download_file.cfm?download_id=180

You can control Readelf and the entire compiler toolchain from WinIDE.  During compilation, you can automatically process the compiler output file with Readelf and dump the information to a text file.  Also, take advantage of Readelf with any target architecture - if you're not targeting ColdFire or PowerPC 55xx, you can install one of our free C development kits and use WinIDE as a stand-alone ELF/DWARF viewer.

FAQ 118:  How do I configure WinIDE to launch Readelf?
http://www.pemicro.com/faqs/faq_view.cfm?id=118

 

FAQ 91:  How do I use ICD to debug my C source code using the ELF/DWARF debug file format?
http://www.pemicro.com/faqs/faq_view.cfm?id=91

 

UPDATE: Learn more about the Readelf output here.

 





Did you know that P&E provides simulation for nearly the whole array of Freescale 8-bit microcontrollers (RS08/HCS08/HC08)? Simulation is  inexpensive and fast, and allows for a highly detailed look at the functionality of the simulated device. P&E Simulations include trace capabilities and are cycle-accurate (cycle accuracy allows for a low level, cycle-by-cycle analysis of the timing and general functionality of your code). Furthermore, simulation allows the seamless loading of code to the entire memory array of the processor, without the cumbersome flash burning that accompanies hardware development -- and byte by byte modification of the memory is allowed at any time.

     In addition to initial development, simulation can serve as a highly effective means of product evaluation. Evaluation of various devices via simulators can be relatively painless and inexpensive when compared to evaluating those same devices using actual hardware. In addition, our simulations are often published before the silicon is widely available, so simulation is also an excellent tool to help you stay on the cutting edge.

     Currently, P&E Simulations are available within the Codewarrior toolsuite. However, P&E will soon be releasing the Simulation Toolkit, which will include all simulations in one convenient package. Stay tuned to the P&E Newsflash for more updates on the release of this product.





DevelopmentP&E's UNIT Library Interface Routines for the 68HC16 now support the USB Multilink Interface for the 68HC16 architecture. The UNIT Library comes in the form of a DLL with example interface code for Microsoft Visual Studio as well as Borland Delphi. All the calls in the DLL are documented so that other development environments can also access the calls.

The UNIT library allows a customer to create a Windows application on the PC which directly controls the target 68HC16 processor via one of P&E's hardware interfaces (the CABLE1632 Parallel Port Interface and now additionally the USB Multilink Interface). Using the library, the Windows application can reset the 68HC16 processor, read/write memory, load code, step, run, and much more! The libary is perfect for creating test, update, and diagnostic applications.

Unit libraries are available for most all Freescale architectures. Details can be seen here.





When it comes to production programming, a lot of times one or more serial numbers are required.

P&E has developed a utility called SERIALIZE, which allows the generation of a .SER serial number description file. This graphical utility sets up a serial number which will increment according to the parameters set by the user.

For P&E interactive programmers (PROGx software), the .SER files are stored on the PC and updated every time a serial number is programmed to the target.

For Cyclone stand-alone operations, a similar mechanism has been implemented, except that the serial number structure is stored in the Cyclone's non-volatile internal FLASH memory. The .SER file is used to obtain the initial serial number. Below we'll describe how a user can take advantage of this feature in stand alone operations.

Assuming that a user only needs one serial number for his product, the following sequence of operations can be specified when he creates the SAP image:

CM Corresponding programming algorithm for his product

SS Corresponding object file for his product

EM

BM

PM

VM

CS Corresponding .SER file for his product created using the Serialize utility

PS

After storing the image on the Cyclone, a user can simply press the "START" button and watch the target be programmed with the serial number specified in the .SER file. Another press of the "START" button will program the target with the next serial number.

Multiple memory modules and multiple serial numbers can co-exist in one SAP image. The following are example scripts of two programming algorithms and three serial numbers:

CM Programming algorithm 1

SS Object file 1

EM

BM

PM

VM

CS .SER file 1

PS

CM Programming algorithm 2

SS Object file 2

EM

BM

PM

VM

CS .SER file 2

PS

CS .SER file 3

PS

Once the SAP image is stored in a Cyclone, pressing the "START" button will automatically carry out all the operations listed above in sequence. Memory module 1 will contain the serial number specified in the first .SER file. Memory module 2 will contain the serial number specified in the second .SER file, and the serial number specified by the third .SER file. Another press of the "START" button will automatically program the next serial numbers in the target.

This serialize mechanism may even be used when a user wants to program some static data to different locations without using the "PB" or "PW" commands - the user can simply create a .SER file with all constants.

Please refer to this post for more information on the Serialization utility.

 





develP&E offers a set of In-Circuit Debuggers that are packed with powerful scripting features. Whether you are stepping through a couple of lines of assembly code or debugging a C-level source, P&E's toolset can help you get the job done. P&E's In-Circuit Debuggers are designed with repeatable test and debugging procedures in mind. Therefore, the user can completely automate software tests by creating a macro script and saving the outcome in a log file. As a result, the user can avoid hours of repeatedly setting up software and firmware tests.

Here's a small demonstration of how the built in macro commands can be used to create and perform a repeatable firmware test on a 9S08AW60 processor. We'll be working with a simple assembly loop that's designed to toggle Port A every 20 CPU cycles. Please note that while the example below will be based on ICDHCS08 debugger, the same set of macro commands is present in all P&E debuggers. For a complete set of built-in macro features, please refer to the ICD COMMANDS section in the corresponding ICDxx.hlp file.

Source under test:

RAMSTART equ $70

     Org RAMSTART

Main:
     mov #$ff,$01 ; ptadd
     mov #$ff,$00 ; ptad
     
     lda #$ff
Loop:
     mov #$00,$00 ; 4 cycles
     nop
     nop
     nop
     nop
     nop
     nop
     mov #$ff,$00 ; 4 cycles
     nop
     nop
     jmp loop ; 4 cycles

The macro outlined below will load our loop_example.s19 and .map files. At the same time it will set the program counter, set the breakpoints, and initialize variables. As the code executes, it will also capture the contents of the desired registers as well as the contents of all on-screen windows. All information will in turn be stored in a log file for later comparison and analysis:

LF test_output.log  ; creates log file
HLOAD loop_example.s19  ; load an .s19 with a map file
PC Main  ; set program counter to point to the beginning of the
; code
VAR $00  ; add a variable to a variable window
VAR $01  ; add a variable to a variable window
GOTIL Loop  ; run through initialization part of the code to the loop
DUMP $00 $01  ; dump the contents of registers $00 to $01 into the log
; file
BR Loop  ; set a breakpoint at the beginning of the loop
GO ; run the code until it hits a breakpoint
SNAPSHOT ; captures the current data in all open windows and stores
; them in a log file.
LF ; close log file


To execute the above macro, enter “macro” in the command line (located on the bottom of the ICD status window). Browse to the location where your macro is saved and open the file. Please note that any built-in commands can also be executed individually. This gives the user the opportunity to perform a step-by-step test of the macro prior to starting the automated debugging procedure.





coldfire v2/3/4P&E has updated its ColdFire software products so that they no longer require use of the processor status (PST) pins on the debug connector. These pins are traditionally used to determine if the part is running in user mode or halted in debug mode. The default is still to use the PST pins for status, but this can be optionally disabled in the connection assistant. When disabled, the software will use the BDM communications pins to determine the processor status. This results in a slight slowdown in communication and download rates, but the advantage is that the target board no longer has to wire the PST signals to the debug connectors. This also alleviates some problems in the case where the customer application needs to make use of the alternate functions of the processor status pins instead of using them for debug.





P&E logoBOSTON, MA - In a continuation of its commitment to making the customer experience as helpful and comprehensive as possible, P&E has launched an enhanced, solutions-oriented website. Customers who come to P&E's website with a project in mind will now find a helpful interface designed to guide them through the process of finding the right tools for the job. This interface includes a reorganized resource page to help customers more quickly find the information they are seeking. The enhanced website also features P&E's News Stream, a blog designed to provide fresh and informative content for users, including news about new product features and tips, expert advice, and answers to frequently asked questions.    





Boston , MA— P&E Microcomputer Systems continues its commitment to programming automation and efficiency by announcing the release of an Automated Control Software Development Kit (SDK) for the Cyclone family of products.

The SDK features a dynamic link library (DLL) and supporting documentation which allow the user to create custom software applications that directly control P&E’s Cyclone PRO and MAX units. It also enables users to control multiple Cyclones with a single PC, modify stored images, manage multiple images, and program non-sequential dynamic data such as serial numbers.

The Cyclone Automated Control SDK is available in Professional and Enterprise versions to suit both small and large production scales. A Basic version with limited features is available for download at no cost.

More information is available on the P&E website on this link.





Boston, MA - P&E Microcomputer Systems announces that it has extended the support of its PowerPC Nexus tools to include Freescale’s new MPC56XX devices. This set of in-circuit debuggers, FLASH programmers, and hardware debug interfaces now supports both MPC55xx and MPC56xx devices, offering a comprehensive solution for Freescale’s advanced automotive microprocessors.





Boston, MA - P&E Microcomputer Systems announces the release of an upgraded version of the Professional ColdFire Development Package for the Cyclone MAX and ColdFire Multilink.  The package is already a powerful and inexpensive development suite for the Freescale ColdFire MCF52xx, MCF53xx, MCF54xx microcontroller families. These tools have now been extended to include support for the ColdFire V1.  The professional package supports the GCC toolchain compiler and GNU target template projects, specifically for the ColdFire V1, and additional GNU template projects for the ColdFire V2 (MCF52xx, MCF52xxx).





Boston, MA - P&E Microcomputer Systems now offers a rechargeable Power Pack for use with the Cyclone PRO and Cyclone MAX stand-alone programmers. When powered by a lithium ion long-runtime battery, a Cyclone unit is the perfect solution for field firmware updates that require portable, stand-alone programming. The Cyclone and PowerPack are lightweight, compact, and extremely portable.





Boston, MA - P&E Microcomputer Systems’ Cyclone MAX is an extremely flexible tool designed for in-circuit flash programming, debugging, and testing of Freescale microcontrollers.  The Cyclone MAX’s architecture support has now been extended to include the PowerPC Nexus family (MPC55xx).  Architectures already supported include the ColdFire (MCF5xxx), PowerPC (MPC5xx/8xx), and ARM (MAC7xxx).





Boston, MA - P&E Microcomputer Systems publishes an API in the form of UNIT Libraries that allow third-party developers to customize interactions with microcontrollers via Serial, USB, or Ethernet ports using P&E hardware interfaces. For example, the UNIT library can be used to build custom production line testers. P&E has now expanded its offerings to include UNIT Libraries for the ColdFire V1 architecture.





Boston, MA - P&E Microcomputer Systems announces the release of the DEMOJM development board, available through Freescale. The DEMOJM is a low-cost development system that supports Freescale MC9S08JM60 and MCF51JM128 64LQFP microcontrollers. It consists of a DEMOJM Base Board, a DC9S08JM60 Daughter Card and a DC51JM128 Daughter Card. P&E’s Embedded Multilink circuitry on the DEMOJM board allows the processor connected to the DEMOJM to be powered, debugged, and programmed via USB from a PC.





Boston, MA - The ColdFire V1 professional development packages are complete, powerful, and inexpensive development suites for Freescale ColdFire 51xx family microcontrollers, including the JM and QE families. The package is now available in either a C-level or ASM Development Suite. Packages include P&E's in-circuit debugger, flash programmer, development environment, assembler, register decoder. The C-level package also includes the GCC C Compiler.  A P&E debug interface is used to connect to a standard debug connector on target and provides the ability to debug in real time.





Boston, MA - P&E Microcomputer Systems announces the release of the DEMOQE128 development board, a low-cost development system designed for demonstrating, evaluating, and debugging the Freescale MC9S08QE128 and MCF51QE128 microcontrollers. P&E’s Multilink circuitry is embedded onto the DEMOQE128 board so that it can be powered, programmed, and debugged via USB from the PC. An optional BDM port is provided to allow use of an external BDM interface such as P&E’s Cyclone PRO automated programmer or USB Multilink.





P&E Microcomputer Systems is pleased to announce it is moving to a larger facility on Monday, Feb. 19th. The move will provide P&E with much needed office, laboratory, storage, and manufacturing space. The building was formerly a GE datacenter and is located on two separate power grids. It also features a backup generator, raised flooring, excellent communications infrastructure, modern amenities, and commands a nice view of the surrounding area. Our new address will be:

P&E Microcomputer Systems, Inc.
98 Galen St., 2nd Floor
Watertown, MA 02472-4502

P&E's phone and fax numbers are also changing:

New phone: 617-923-0053
New fax: 617-923-0808

P&E will be closed on Friday, February 16th in preparation for the move.





P&E has developed Linux-supported versions of many of our UNIT Library Interface Routines. For several years, P&E Microcomputer Systems has offered the UNIT SDK in order to allow users of P&E's hardware to create custom applications for testing and other designs. With the addition of Linux support for many of the UNIT products, P&E continues to expand the range of users who can take advantage of these powerful tools.

UNIT Library Interface Routines for Linux are available for:

  • HCS08
  • HC(S)12
  • 683xx
  • ColdFire
  • PowerPC
  • Power PC Nexus

For more information on UNIT software for Linux or Windows, please visit P&E's website.





Boston, Massachusetts - P&E has released a suite of development tools for Freescale's 68RS08 family of microcontrollers. With this launch, P&E now offers products to take an RS08 project from development to production, including the DEVRS08KA2 low-cost development board and P&E's popular Cyclone PRO.

In addition to the DEVRS08KA2 development board, P&E has also launched the ICDRS08 In-Circuit Debugger, PROG08 Flash/EEPROM Programmer, WinIDERS08 Development Envirionment, and a package which combines the USB-ML-12E USB Multilink BDM Interface with the RS08 debugger, programmer, and IDE. The package also includes an RS08 simulator and register files.

The RS08 family of microcontrollers are reduced-core versions of the S08 architecture, designed with a focus on very small and highly portable embedded devices.





Boston, Massachusetts - P&E Microcomputer Systems announces the release of the powerful but cost-effective $99 ColdFire MCF5213 Development Kit. This kit includes the DEV5213CF evaluation board, which features an embedded P&E USB to BDM interface. The embedded interface provides for easy debug and FLASH programming of the resident ColdFire MCF5213 processor. The resident MCF5213 device is a 32-bit ColdFire processor which incorporates 256KB of flash, 32KBytes of ram, ADC, QSPI, PWMs, timers, a PLL, I2c, QSPI, and more. The processor runs at a system clock speed of up to 80MHZ, with 76MIPS of performance.

The 64K Starter Edition of the P&E’s PKGCFZPRO software development package is also incorporated into the MCF5213 kit. This software suite provides user with the capability to compile, debug, and flash program up to 64KB of user C code. This software suite includes the P&E In-Circuit Debugger, Flash Programmer, and WinIDE integrated environment, with a built-in GCC Compiler. The 64K Starter Edition also includes a sample template project to give you a jump start on an interrupt driven firmware design.





Boston, Massachusetts - P&E has released a complete, powerful, and inexpensive C-level Windows-based development suite for Freescale PowerPC MPC55xx processors. The package includes P&E's in-circuit debugger, flash programmer, development environment, GCC C Compiler, assembler, register decoder, and USB-ML-PPCNEXUS hardware debug interface. The USB-ML-PPCNEXUS debug interface is a high speed USB 2.0 peripheral which connects to a standard Freescale MPC55xx debug connector and provides the ability to debug your target in real time.

P&E has also released a 64K-limited edition of the development suite which a available for download at no cost.

The development suite is currently available here : PowerPC MPC55xx C-Level Development Suite.





Boston, Massachusetts - P&E has released a complete, powerful, and inexpensive C-level Windows-based development suite for Freescale ColdFire MCF5xxx microcontrollers. The package includes P&E's in-circuit debugger, flash programmer, development environment, GCC C Compiler, assembler, register decoder, and USB-ML-CF hardware debug interface. The USB-ML-CF debug interface is a high speed USB 2.0 peripheral which connects to a standard Freescale ColdFire debug connector and provides the ability to debug your target in real time.

P&E has also released a 64K-limited edition of the development suite which is available for download at no cost.

More information on the development suite is currently available here : ColdFire C-Level Development Suite.




Whether you are porting your existing C code to the GNU compiler or creating an application from scratch, learning to use any new compiler and development environment can be time consuming. For those who are new to GCC, setting up compiler options, linker scripts, and target startup code takes even more time. And, if you have never developed a C application for an embedded system, then you might be working late a few nights this week. PKGCFZ PRO reduces your down time by simplifying all of these tasks. Follow the steps below to speed through the development process.

Continue reading this Expert's Corner...





Product testing is a critical yet often complex and expensive process. Taking advantage of embedded processors with on-chip debug capability has made it easier to complete a simple internal test of a product. The following explains how you can take advantage of these capabilities to create your own product test. We’ll examine these four areas to improve your testing process:

  1. Use of Debug Mode (BDM) to control processor operation
  2. Application of PEmicro’s DLLs on a PC to make test applications which control the processor and run tests via debug mode
  3. Using the Processor to test as much of the board hardware as possible
  4. Creating a test fixture to add more complex test capabilities

Continue reading this Expert's Corner...





Boston, Massachusetts— P&E Microcomputer Systems announced the availability of two new USB Multilink interface cables. The first is the USB-ML-PPCNEXUS, a JTAG/BDM interface for Freescale MPC55xx devices. The second is the USB-ML-16/32, a BDM interface for Freescale 68HC16/683xx devices. Both new interfaces connect from the USB port of a Windows-based PC to the target. P&E offers these new USB Multilink interfaces individually, or packaged with software (debugger, programmer, IDE) as part of a development kit.





Boston, Massachusetts - P&E Microcomputer Systems has expanded its offering of 68HC908 development kits, with the addition of five new kits. Each new kit features a development board with one of Freescale's 68HC908EY16, -GR8, -GZ60, -SR12, or -QY4 processors, and a standard MON08 header. The kits also include a USB-to-target MON08 interface (USB-ML-MON08) and P&E's PKG08SZ software package.

P&E also announced plans to offer development boards and kits featuring the -AP64, -GT16, -KX8, -MR8, -QC16 in the near future.





Boston, Massachusetts— Today saw the debut of P&E Microcomputer Systems' "P&E Insider" newsletter. The Insider is a monthly feature that shines a spotlight P&E's new and up and coming products. The newsletter also contains an Expert's Corner where P&E's senior staff offers a unique perspective on embedded systems issues. The first issue of P&E Insider features two of P&E's ColdFire products: the Cyclone MAX, P&E's production programmer for the ColdFire and PowerPC, and the USB-ML-CF, a BDM interface for ColdFire development. In addition, the Expert's Corner focuses on insights by P&E's president, Dr. David A. Perreault, concerning programming serial numbers.





Did you know that you can improve tracking of your products by placing serial numbers in flash during programming using P&E's FLASH/EEPROM programming products? There are commands in both the GUI (PROGxxZ) and command line (CPROGxxZ) versions of P&E's programming software for selecting a particular serial number file and for programming the next serial number. The serial number is incremented by one after it is programmed into your device. Complex serial numbers with up to 16 bytes are supported. Each byte of a serial number can be restricted to a range of values. This allows you to create such things as printable, numeric, upper case alphabetic, lower case alphabetic, and constant characters in your serial number.

Continue reading this Expert's Corner





P&E Microcomputer Systems, Inc. is pleased to annouce the release of the Cyclone MAX automated programmer and debug interface. The Cyclone MAX programs PowerPC (MPC5xx/8xx), ColdFire (MCF5xxx) and ARM (MAC71xx) devices, and operates either as a stand-alone unit, or connected to a PC. Like P&E's popular Cyclone PRO, the MAX allows the user to communicate using either Serial, USB, or Ethernet ports. P&E expects to add functionality to the Cyclone MAX, including the possibilty of support for new architectures, expandable storage, and a new visual interface.





Boston, Massachusetts— P&E Microcomputer Systems announces the launch of a PRO development suite for ColdFire 5xxx devices. With the PRO suite, P&E looks to expand on the success of its PKGCFZ, a popular, cost-effective Windows-based development suite for the Motorola/Freescale MCF5xxx microcontrollers. The PRO version now represents a comprehensive solution for developing with either the C language or assembly language. The GCC component of the PKGCFZ_PRO simplifies development:

  • Configure the compiler options within WinIDE
  • Run GCC directly from WinIDE and Windows - no complex UNIX shell is required
  • WinIDE builds your C application using a modifiable Windows batch file - no makefile is used.
  • Auto-create GCC initialization code and linker scripts for the ColdFire 527x/528x
  • Debug your C code using the ELF/DWARF(v. 2.0) file format
  • WinIDE highlights syntax errors in your C source code

PRO ColdFire packages are available in both parallel port and USB versions.





P&E Microcomputer Systems, Inc. announced the relocation of its operations to a larger facility in the vibrant Kenmore Square area of Boston. P&E's continued expansion of its range of products and services has prompted the move, in order to ensure that P&E's ability to innovate and provide support grows along with its rapidly expanding base of dedicated users.

P&E's new location:

656 Beacon St.
2nd Floor
Boston, MA 02215
USA

P&E's mailing address has not changed:

P.O. Box 2044
Woburn, MA 01888
USA





PEmicro. proudly annouces the release of a wide range of development boards and kits for the M68HC908. PEmicro is now offering affordably priced development boards for the M68HC908AB32, -GP32, -GZ16, -JL8, -MR32, and -QY4. These boards are available individually or as a set of all six. In addition, PEmicro is bundling the boards with the MON08 Multilink, USB-ML-MON08, or Cyclone PRO interfaces, providing the user with powerful yet inexpensive development solutions right out of the box.

The development boards feature:

  • Resident MC68HC908 Processor (AB32, GP32, GZ16, JL8, MR32, and QY4)
  • MON08 Debug header to allow debug and programming from the Cyclone Pro, MON08 Multilink, or USB MON08 Multilink
  • Full access to all processor pins, including port pins needed for Monitor Mode entry shortly after reset (wire wrap headers included)
  • PEmicro's asm/debug/programming software available at no-cost for download
  • Clock source may be from a PEmicro interface cable, on-board crystal (except QY4), or available to be driven by the user
  • Power may be provided by a PEmicro interface cable or by the user
  • Small size perfect for embedding into prototyping areas
  • Schematic enclosed
  • Board dimensions: 2.3" x 2.125"

PEmicro also offers the boards as part of development kits, which include one of the following MON08 interfaces:

  • MON08 Multilink - parallel-port-to-target MON08 interface
  • USB-ML-MON08 - USB-port-to-target MON08 interface
  • Cyclone PRO - includes USB, ethernet, & serial MON08/BDM communications, also functions as standalone programmer. PEmicro recommends the Cyclone PRO interface for development or production programming.




Boston, Massachusetts— P&E Microcomputer Systems continues to expand its offering of USB Multilink BDM Interfaces by proudly announcing the release of two new interfaces for the ColdFire and PowerPC families. The USB-ML-CF is a USB-port-to-target BDM interface for the ColdFire MCF52xx/53xx/54xx families of processors. P&E has also released the USB-ML-PPCBDM, which is a USB-port-to-target BDM interface for the 5xx/8xx families of PowerPC devices. Both new USB Multilink BDM interfaces feature:

  • USB interface from PC to Multilink for fast programming and debugging, with the ease and compatibility of the USB interface. Higher download rate is over 3x faster than P&E's parallel port cable. Wide target operating voltage of 1.80v-5.25v.

  • No separate power supply required - power is drawn from the USB interface (draws less than 1mA from the target)

As always, P&E is offering these powerful new tools at an affordable price. Please see the USB-ML-CF and USB-ML-PPCBDM product pages on P&E's website for more detail.P&E Microcomputer Systems, Inc., established in 1980 and located in Boston, MA, is an industry trendsetter in hardware and software development tools for Motorola / Freescale microcontrollers.





Boston, Massachusetts- P&E Microcomputer Systems, Inc. announces the launch of a completely redesigned website. PEmicro has continued to enhance online content and usability by adding a host of features.

Read more...




search in blog posts

Tags

Product pages
Cyclone (21)
Cyclone FX (23)
Multilink (11)
Multilink FX (7)
GDB Server (9)
Prog ACMP (3)
Interface Library Routines (3)


Manufacturer
ARM (20)
NXP (31)
Atmel (2)
Cypress (1)
Maxim (1)
Nordic Semiconductor (1)
Silicon Labs (1)
Toshiba (1)
Renesas (5)


Categories
Production Programming (36)
Debug (14)
Automated Control (7)
Miscellaneous (32)



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