Choose your CPU architecture based on software development tool support |
|
|
|
| Written by Graham Stoney | |
|
There are a plethora of CPU architectures to choose from, and then a vast array of choices regarding on-chip peripherals and supporting features. In some projects, the choice of CPU architecture is dictated by history; but in others the choice is fairly arbitrary, often coming down to the personal preference or prior experience of the hardware designer. All other things being equal (which they rarely are, but anyway) I suggest you choose the CPU architecture based on the level of development tool support, including compiler, debugger and off-the-shelf evaluation board support. Hardware design in complex systems isn't trivial, but often the software development effort is even more time-consuming; so it makes sense to base the hardware architecture on whatever will make the software development effort easiest. I've often found off-the-shelf boards with better hardware support, or which were simply a closer match to my target design than the “official” evaluation board from the CPU manufacturer, which also tend to be very expensive. If your application doesn't require custom ASICs or a great deal of custom logic, you may well save a great deal of time using a supported board from a third-party manufacturer who specializes in embedded system support. One of my most successful project used Embedded Linux on a PowerPC 855T. We used an off-the-shelf board from Embedded Planet to kick-start the development, while the hardware engineers designed a custom board with our custom logic on it. It worked a treat.
|











