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. Important configuration settings include: selection of the programming algorithm, target power settings, security settings, image restrictions, and most importantly the set of commands to erase and program the device. Figure 1 shows an example with a set of configuration selections.
NXP’s 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.
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.
Now that the CYCLONE and CYCLONE FX programmers are established, PEmicro will soon stop producing our older Cyclone models, such as the Cyclone PRO and Cyclone MAX. We recognize that many of our customers have been using these Cyclones for years and that these older Cyclones may be well established within their systems. Because of that, we sought to make it as simple as possible to replace the older Cyclones with the newer models, and we've produced a short guide to help explain the differences between them, as well as any steps our customers might need to make in order to transition smoothly.
We're here if you have any questions for us - please don't hesitate to ask. Also, in the coming weeks PEmicro will be publishing a blog post that takes a closer look at one of the aspects of transitioning to the newer Cyclones: programming image compatibility, including how to update your older programming images to the newest image format, if needed.
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.
In the case of flash memories connected to the address/data bus of an MCU, it can be difficult to understand when the chip select and/or other control pins are configured properly. Most often the issue is that the external flash memory Chip Enable (~CE), Output Enable (~OE), or Write Enable (WE) signals are not being driven properly. This blog post describes a way to look at these three signals to determine if they are being driven properly.
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.
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. Choosing the right components is enormously complex and prompts a huge number of questions, each of which takes time to answer, and also poses risk to the project's success:
Do they work on the same host OS? Which versions need to be used? How should they be configured? Do they interoperate correctly? Do they work together to produce an optimal result? Have they been validated? Has the combination of these components been validated or certified?
The embedded marketplace is fragmented with a huge number of suppliers. Some large vertically integrated companies try to offer every component required. This approach stagnates innovation, provides limited choice, and doesn't allow customers to choose best-in-class solutions to address their project's specific needs.
The Embedded Tools Alliance helps customers select the best components from a number of different suppliers, safe in the knowledge that the individual components are of the highest quality, proven to work together, and do exactly what's required so the customer can concentrate on their development work rather than fighting with a disparate set of legacy tools and environments.
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.
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.
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.