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:
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.
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.
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.
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.
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.
BOSTON - December 14, 2016 - P&E Microcomputer Systems, Inc. has announced the release of support for macOS in P&E’s Eclipse GDB Server. P&E 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 P&E'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 P&E's versatile hardware solutions using NXP’s software tools and P&E’s GDB server in their preferred operating system.
"macOS" is a trademark and "Apple" is a registered trademark of Apple, Inc. "ARM" and "Cortex" are registered trademarks of ARM Limited or its subsidiaries.
P&E Microcomputer Systems, Inc. has announced the release of a new Multilink development tool and a new Cyclone manufacturing tool, both focused specfically on ARM Cortex devices.
The development tool is the Multilink ACP, which joins P&E's successful line of Multilink debug probes. The Multilink ACP features support for ARM Cortex devices only, which allows P&E to offer this new Multilink at a terrific value.The Multilink ACP supports a wide variety of ARM device manufacturers. A full list can be browsed at P&E's ARM device portal.
Cyclone ACP FX
The manufacturing tool is P&E's new Cyclone ACP FX production programmer. The Cyclone ACP FX is a flagship Cyclone FX programmer, but with a focus on ARM devices only. The Cyclone ACP FX features blazing programming speed, a huge internal memory,enhanced security features (such as the ability to add restrictions to specific programming images),
an SD port for expandable memory, and expansion ports that enable unique, valuable plug-ins such as a bar code scanner for programming.
P&E will be showing these new tools for ARM device development and production, along with other new P&E technology, at ARM Techcon in Santa Clara, CA on Oct. 25-27. P&E welcomes visitors and will be at booth #801.
BOSTON - October 17, 2016 - P&E Microcomputer Systems, Inc. has announced the addition of support Nordic Semiconductor's nRF52 devices to P&E's diverse line of embedded systems tools.
Nordic's nRF52 devices are ARM Cortex MCUs that include automotive-grade and Bluetooth low-energy microcontrollers. P&E offers a range of ARM-compatible solutions including Cyclone stand-alone programmers, Multilink debug probes, and flash programming software which now support nRF52 in addition to a wide range of other ARM Cortex devices.
Current users of compatible P&E products can update their product firmware to add support for these devices. The corresponding programming algorithms can be downloaded from P&E's online support center.
BOSTON – March 28, 2016 - P&E Microcomputer Systems 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. P&E'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.
Rev. C of the Cyclone for ARM devices supports ARM® Cortex® devices from many different manufacturers - click the graphic on the right for a full list of supported devices. An easy-to-use access panel opens to reveal JTAG/SWD headers. This new Rev. C Cyclone represents an even more outstanding value than its predecessor, given its rich feature set and affordable cost.
BOSTON – March 15, 2016 - P&E Microcomputer Systems is now shipping the Cyclone Universal FX, which is the flagship model of P&E's next-generation Cyclone programmers. P&E'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.
The Cyclone Universal FX combines support for many NXP 8-/16-/32-bit architectures with support for ARM® Cortex® devices from many different manufacturers. P&E has maintained compatibility with their existing product line while combining support for all of these target architectures into a single unit.
Cyclone Universal FX Features:
(Features in bold are key differentiators between the Cyclone Universal and Cyclone Universal FX
BOSTON – February 4, 2016 - P&E 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 P&E's debug, flash programming, and test products.
BOSTON – November 13, 2015 - P&E Microcomputer Systems is now shipping the Cyclone Universal, which is the first of P&E's next-generation Cyclone programmers. P&E'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.
The Cyclone Universal combines support for many NXP/Freescale 8-/16-/32-bit architectures with support for ARM® Cortex® devices from many different manufacturers. P&E has maintained compatibility with their existing product line while combining support for all of these target architectures into a single unit.
BOSTON, MA – July 14, 2015 - Following their debut at the 2015 Freescale Technology Forum, P&E'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' P&E 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.
AUSTIN, TX – June 22, 2015 - P&E'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.
BOSTON – August 27, 2014 - P&E Microcomputer Systems 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 - P&E's flagship Multilink interface - and solidifies P&E's future support for Freescale's MPC5xx/8xx architecture.
BOSTON – October 14, 2013 - P&E Microcomputer Systems 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 P&E hardware interfaces, such as the Multilink Universal or Multilink Universal FX to debug code in-circuit on Freescale S12Z devices. The ICDS12ZZ expands P&E's suite of S12Z software, which includes programming software and interface library routines, which allow custom software designs such as production line testers.
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.
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.
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.
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.
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.
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.
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.
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.
P&E is committed to ensuring a smooth transition to these newer operating sytems for our customers. Customers who have purchased P&E software within the last 12 months can contact us for a free ugprade. Customers who have purchased software between 12 and 24 months ago are eligible to upgrade by purchasing the latest version of the software at a 50% discount from the full price.
Unfortunately, due to OS and hardware driver limitations, P&E legacy products such as USB-ML-12 Rev. A, USB-ML-CF Rev A, the BDM Lightning Card and also parallel port versions of our programmers are not supported under Windows 7 and 64-bit systems. However, we are committed to supporting these products under 32-bit operating systems such as Windows 98/2000/XP/Vista by continuing to offer Version 9 of our P&E Hardware Interface Drivers. These can be downloaded from the Documentation and Downloads section of P&E's website, or directly at the following link:
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.
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.
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:
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:
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":
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.
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.
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
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.
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 P&E 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
P&E'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.
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.
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:
shortest cable possible
shielded cable configurations to reduce parasitic effects
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
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
sta SOPT1 ; Disable watchdog
sta ICSTRM ; Load TRIM bits from Flash and store it into ICSTRM
ora $FFAE ; Load FTRIM bit from flash and store it into ICSSC
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
mov #$00,PTAD ; 4 cycles
mov #$ff,PTAD ; 4 cycles
jmp loop ; 4 cycles
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.
If you use the ELF/DWARF file format with P&E'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 P&E ICD debugger, PROG Flash programming software, register viewing software, WinIDE editor, target specific project templates, and a GNU compiler toolchain.
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.
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.
P&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.
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:
; creates log file
; load an .s19 with a map file
; set program counter to point to the beginning of the
; add a variable to a variable window
; add a variable to a variable window
; run through initialization part of the code to the loop
; dump the contents of registers $00 to $01 into the log
; set a breakpoint at the beginning of the loop
; run the code until it hits a breakpoint
; captures the current data in all open windows and stores
; them in a log file.
; 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.
P&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 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.
- 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).
- 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.
- 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.
- 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
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.
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
RS08 family of microcontrollers are reduced-core versions of the S08
architecture, designed with a focus on very small and highly portable
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.
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.
- 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.
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.
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.
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.
also announced plans to offer development boards and kits featuring the
-AP64, -GT16, -KX8, -MR8, -QC16 in the near future.
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.
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
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. proudly annouces the release of a wide
range of development boards and kits for the M68HC908. P&E 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, P&E 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
access to all processor pins, including port pins needed for Monitor
Mode entry shortly after reset (wire wrap headers included)
P&E's asm/debug/programming software available at no-cost for download
Clock source may be from a P&E interface cable, on-board crystal (except QY4), or available to be driven by the user
Power may be provided by a P&E interface cable or by the user
Small size perfect for embedding into prototyping areas
Board dimensions: 2.3" x 2.125"
P&E also offers the boards as part of development kits, which include one of the following MON08 interfaces:
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:
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.