10 May 2011
Tools developers respond to growing popularity of Cortex-M based mcus
ARM's Cortex-M range of microcontroller cores has changed the market landscape. Not only has it provided a number of companies with a platform on which to develop differentiated products, it has also made 32bit performance available on a cost effective basis.
Mark Onions, director of channel marketing with ARM's system design division, said: "There are a lot of Cortex-M based devices meeting most application needs. The problem is these parts have so much functionality. While this is good, there is the problem of making sure the software can use all this performance."
Much of the problem comes from the need to include networking functionality. "CAN is relatively straightforward," Onions claimed, "while Ethernet can be problematic. USB Host, however, can be very difficult."
ARM bought mcu tool developer Keil in 2005. At the time, ceo Warren East said the mcu market was a critical growth area for ARM and that the acquisition would allow it to offer a 'more complete, more compelling solution' as applications shifted towards 32bit devices.
Keil's offering for Cortex-M based mcus is the MDK range. "This has been on the market for about four years," Onions noted. "It includes compilation tools which have been developed by ARM since the ARM architecture was started."
These tools have been blended with Keil's µVision integrated development environment to create a package designed specifically for mcu applications which is, in Keil's words, 'easy to learn and use, yet powerful enough for the most demanding embedded applications'.
At the top of the range is MDK-Pro, released in March 2011. "It's a development environment which supports any Cortex-M device, as well as ARM7 and 9 based parts," Onions added. It also has the full Keil RTX real time operating systems, including source code.
"Once the application has been written, developers can include middleware components to drive peripherals, then debug and analyse the software to optimise performance."
One of the major benefits claimed by Onions for the MDK portfolio is its integration. "Everything is in the box and everything works together. If you buy tools from different sources, putting them together can be like trying to solve a jigsaw puzzle when you don't have the picture. This product is developed by and supported by ARM."
Two main drivers are informing embedded software tool development: ease of use and time to market. "If everything works together," Onions claimed, "you don't get surprises. And it addresses time to market issues by letting you get a network up and running in a couple of minutes, put it into the application and optimise it. It's straightforward."
Growing complexity is a problem, particularly when compounded with time to market pressures. Onions said: "Some years ago, someone said a processor was a lump of sand without software. That's very true today, particularly in the embedded market."
Two factors combine here. Not only is the price of a powerful mcu around the $1 level, those using it may not have been designing for such a device before. "They want to get involved," said Onions, "but they don't have the expertise." He believes the support available from ARM and Keil is valuable.
Code coverage is another benefit claimed for MDK-Pro. "This is critical for formal verification and certification to standards such as ISO26262 and DO178-B," said Onions, "and µVision allows you to see in a window when instructions have executed."
The approach takes advantage of ARM's Embedded Trace Macrocell, or ETM. "If you single step through the code, you see each instruction is annotated," said Onions. "The tools give an insight into the status of the application and its execution history. You can see if start up routines have executed without using a debugger. The ETM provides information about each instruction executed."
Coming at the problem from the device developer's point of view is Freescale, which has recently launched the KwikStik development tool for its Kinetis range of Cortex-M4 based mcus. Complementing Freescale's Tower System, KwikStik is said to provide an additional toolset option in a small form factor.
Danny Basler, an mcu product marketer in the company's industrial and multimarket group, said: "This is the second in a series of development tools for the Kinetis range and has two major benefits: high end tools in a small footprint device; and low cost. It's a first in this sector of the market."
KwikStik combines a J-Link debug probe, low power touchsensing, a segmented lcd user interface and a suite of development and run time software. It can be used as a standalone battery operated tool for development using the on board Kinetis K40 mcu; as an additional tool with the Tower system; or as a J-Link debugger.
Basler said Freescale has been investing in software development tools for industrial applications for some time, citing Code Warrior as an example. "Freescale is one of the few companies to offer this level of capability bundled for free with an mcu. On top of that, we have been bundling the MQX rtos with mcus for about a year."
Basler said demand for rtos' has been building in order to support Ethernet connectivity, graphical interfaces and so on. "Trying to do that without an rtos becomes a complex task and the benefits can be seen." John Weil, enablement manager in Freescale's industrial and multimarket business unit, said there were a lot of low cost development boards available.
"These are great for getting started, but the minute you want to do something more comprehensive, you need a different kit. We wanted to make sure that this wasn't needed. Even a small form factor device like KwikStik can be plugged into the Tower system."
Weil insisted that KwikStik is not just another low cost development kit. "It's all about reducing time to market, simplifying design and helping designers get prototypes up and running more quickly. Our goal is to make engineers 'heroes'."
By combining KwikStik with the Tower System, developers have access to multiple system expansion options using Freescale and third party peripheral modules that offer sensing and wireless and industrial connectivity. Meanwhile, the Segger J-Link debug interface eliminates the need for a separate debug probe.
KwikStik comes with a Kinetis K40 mcu, featuring 256kbyte of flash. It also comes with the Processor Expert tool, that helps designers to write application code. "This may be the first 32bit design the user has done," Basler contended. "Processor Expert allows for automated code building for those who aren't used to writing drivers and so on."
KwikStik is 'core agnostic', according to Weil. "Most customers will not have to think about the core. The Cortex-M4 has more power – and we use that – but, at the end of the day, you don't know exactly what the processor will be. However the software platform works the same way and we're focused on time to market so the user doesn't have to hand craft code for a particular architecture. Anyone who can program in C can be up and running quickly," he concluded.