“I’m getting better!”
“No you’re not. You’ll be stone dead in a moment.”
Everything old is new again. Remember Motorola’s 68000 processors? A lot of embedded developers do. In the 1980s and ’90s the 68K family was among the best-selling 32-bit processors in the world. They powered Sun workstations, Apple computers, and thousands of different embedded systems besides.
Then somewhere around the 68060 generation, the 68K juggernaut stalled. RISC processors were all the rage, Intel was kicking butt in the PC space, and suddenly the best-loved CPU family for embedded systems started to look old and rusty. Trust Motorola (now Freescale) to keep the wheels on the wagon, though. With some spit and polish, and some clever technology, the 68K metamorphosed into ColdFire, a RISC-ified version of the venerable 68K architecture. Dragged kicking and screaming into the 21st century, ColdFire is enjoying a resurgence of popularity, regaining the hearts and minds of designers and programmers from all over.
More than ten years have gone by, and now it’s time for another renovation. Starting today, ColdFire becomes ColdFire+, the “plus” signifying an array of upgrades, improvements, and more-better-faster stuff that should keep dog-eared ColdFire data books on the desks of embedded developers.
Brave Sir Robin
The ColdFire+ name is an umbrella term that covers four different but related improvements. First, there’s the 90nm silicon processing technology. Second, there’s a new kind of on-chip flash memory called FlexMemory. Third, there are internal pipeline improvements to the ColdFire processor core. And finally, all ColdFire+ chips come bundled with the MQX real-time operating system for free.
Starting with the 90nm silicon process: this seems like the least interesting part to the average programmer, but it is actually the “enabling technology” for most of the other upgrades. By shifting to a more modern process (one imagines the old ColdFire chips being handmade by little old ladies with hair nets and X-Acto knives), Freescale is able to lower the chip’s power consumption considerably, fit more peripheral features into the same size chip, begin using a high-end internal bus structure, and integrate the new FlexMemory onto the same die as the processor. It may be invisible, but it’s a significant change nonetheless.
FlexMemory is Freescale’s name for its new kind of flash, which will appear on most or all of the new ColdFire+ chips. Under the hood, FlexMemory uses a split-gate, thin-film storage (TFS) technology with just 10nm poly-silicon crystals to store a charge. In short, it’s different from normal flash memory. FlexMemory uses less space than a traditional flash memory cell, but, just as important, it’s faster than normal flash memory. That’s a good thing all by itself, but it also opens the door for an interesting twist. Some embedded designers prefer E2PROM to flash either because it’s faster or because it’s cheaper. FlexMemory is both, so it can take the place of E2PROM if that’s what you prefer. Simply twiddling a configuration register in the ColdFire+ part converts the FlexMemory between flash mode and E2PROM mode. The memory cells themselves stay the same, of course, but the interface logic changes to emulate whichever memory type you prefer. You can even get some of each, depending on the particular ColdFire+ device. Pretty cool.
One of the downsides of traditional E2PROM is that it can tolerate only a limited number of erase/write cycles. Erase it too many times and it wears out. But with FlexMemory, you don’t have that limitation. It looks and acts like E2PROM but is actually flash memory with all the durability that implies.
That Rabbit’s Dynamite
Amidst all the other improvements, the ColdFire processor core also underwent some changes. The instruction set hasn’t changed from earlier ColdFire chips, but the internal hardware design of the processor’s pipeline has been streamlined and speeded up. It’s still a four-stage pipeline, but several instructions now take less time to execute. If you were to carefully compare the new and old ColdFire programmer’s reference manuals, you’d find that existing code works the same but runs a bit faster. Some pipeline stalls were eliminated and some lengthy instructions got quicker. Overall, it’s a transparent but welcome change.
As long as they had the hood up, Freescale’s designers also overhauled the chip’s internal bus structure. ColdFire+ chips now use a fairly advanced crossbar switch to connect the ColdFire+ processor core with on-chip memory, caches, and even other bus masters. The new bus is considerably faster than the previous version, but its real purpose is to expand the possibilities for future design. Multiple bus master, for instance, could mean multicore ColdFire+ chips. We’re more likely to see single-core chips with “smart” bus-mastering peripherals like USB On-The-Go (OTG) controllers, fast Ethernet, and other high-speed I/O that would benefit from bus mastering. It all spells more groundwork for improvement.
Finally, there’s the software. Freescale is touting a “full enablement bundle,” a ridiculous marketing phrase that really means “software-development tools.” The highlight of this is the free MQX real-time operating system. MQX is one of many RTOS options available for ColdFire+, and over the years it has proven one of the more popular ones. And hey, free operating system!
As usual, Freescale also provides CodeWarrior (or maybe ColdWarrior?), the whole compiler/debugger/IDE package that the company has offered for many years. There’s a free version and a paid version of CodeWarrior, with the free version limited to smaller projects. There’s also a new line of Tower development boards, a kind of Lego-block approach to doing development and debug. Different Tower boards snap together so you can build your own modular prototype hardware.
A Spanking! A Spanking!
Where does the saga end? From the looks of things, the ColdFire story won’t reach its conclusion anytime soon — probably not during our careers. Some chip families, such as the 8051, x86, and 68K/ColdFire, just won’t die. There are too many contented programmers and engineers using them for these chips to ever go away. Instead, they just improve with age, getting regular updates and overhauls but still retaining their inherent goodness.
With ColdFire+, the product family keeps itself useful and relevant, even adding some spiffy new features like FlexMemory that no one else offers. ColdFire+ chips aren’t going to set any land speed records, but they’re not supposed to. They’re reliable, familiar, and extraordinarily well-supported 32-bit microcontrollers that emphasize peripheral I/O over performance and compatibility over speed. They’re cheap and plentiful, just like a lot of the embedded systems they power. The combination of low price, broad support, low power, and familiar architecture just may be a developer’s Holy Grail.