Google’s Android and Apple’s iOS will continue to battle in the smart-phone and tablet arena (see “Google’s Android Versus Apple’s iOS: And The Winner Is?”). But there’s a lot more that will be going on in the embedded space.
The use of flash storage in the enterprise is on the rise, and parallel programming tools abound. Also, virtualization is continuing is downward movement into smaller embedded platforms, even as it is a requirement in the cloud. Communication with the cloud is increasing as well, and it will be getting easier to do this year.
So much for the broad perspective. Now for some details.
Virtualization Large and Small
The cloud is full of virtual machines, and developers working on tying embedded network devices to enterprise servers will have more options this year for providing complete solutions like Eurotech’s Cloud Devices (see “The Embedded Cloud Runs Java”). The cloud offers developers the opportunity to test and deploy server-side resources on demand for supported remote devices, but it requires developers familiar with this technology.
Virtualization on servers is taken for granted these days given the move to multicore and clustering. Many of the tools that are commonly used in high-availability systems like MontaVista’s Carrier Grade Edition 6.0 will be finding their way into areas outside the communication space since it isn’t the only application area that will require high reliability (see “Carrier Grade Linux Delivers Bare-Metal Virtualization”). New features like bare-metal virtualization are useful in a wider range of platforms.
Even more ubiquitous will be virtualization on single-chip, module, or single-board environments where two or three virtual machines will provide application isolation or support for legacy applications alongside new code. At this point, virtualization is occurring on 64-bit platforms, but 32-bit platforms will see more virtualization action this year.
Software tools For Working Smarter
Power debugging will likely be a checkbox item by the end of the year. IAR Systems and others have started to include this functionality in their debuggers (see “Power Debugger Finds Hot Spots”). IAR’s Embedded Workbench (Fig. 1) can match power utilization to lines of code.
Power is really only one facet of a design that is outside the conventional code area, so logic analyzer-style information might be more readily available to developers in the future as a normal part of a debugger’s feature set.
Are you using static and dynamic source-code analysis tools yet (see “Code Analysis Discussion With LDRA”)? This year might be a good time to start before your competition does. The goals of faster delivery times and lower bug counts will only be achieved by the use of improved development tools like these.
Developers are as smart as they have always been. But preventing bugs or identifying them during the design and development process is critical, especially with increasing application complexity as well as the inclusion of additional criteria such as security.
Continue on next page
Apple’s iOS, Google’s Android, and MeeGo from Intel and Nokia will continue to butt heads in various platforms from smart phones to tablets, providing a sizable number of developers with a range of target platforms. Of more interest to embedded developers is the use of these platforms to augment other application hardware and software using devices like the iPad and Droid as control panels.
Developers will be hard pressed to match the price and options of the plethora of iPad alternatives or the iPad itself. Look for more products to incorporate smart-phone-enabled Web servers and support applications.
Last year, myriad multicore designs were released with advanced software emulation support that allowed developers to get started before the chips were delivered. This will be even more popular this year as developers especially like the exposure of system internals unavailable in the real hardware.
The approaches to tackling multicore platforms are as varied as the platforms themselves. Single-chip, symmetric multiprocessing (SMP) multicore is readily addressed using existing tools that are typically amenable to partitioning, especially when coupled with virtualization. In these cases, the number of cores is an advantage.
Clusters of multicore processors kick the number of cores into the thousands. Here, OpenMP, MPI, and OpenCL come into play (see “Parallel Programming Is Here To Stay”). These tools have been moving out of academia and into the commercial space, and this year will see that trend accelerate. Intel’s Intel Parallel Studio XE and Cluster Studio are just a couple of the new tools developers will be able to utilize (see “Parallel Programming Platform Targets Linux And Windows”).
Not surprisingly, students regularly compete with supercomputers that are now more affordable (see “What Kind Of Supercomputer Can You Build With 26 Amps?”). This is especially true when graphics processing units (GPUs) are added to the mix, as they have been for a number of years.
The big difference lately is the number of commercial applications taking advantage of the hundreds of cores in a GPU. Many systems match multiple GPUs to a CPU. Rack-mount GPU systems are available as standard fare from vendors like NVidia, Supermicro, Appro, and AMBX Servers.
Developers will need to use parallel programming tools for platforms like SeaMicro’s SM10000 (see “10U Rack Packs 512 Atoms”). The SM10000 holds 512 1.6-GHz Z530 Atom processors and 1 Tbyte of DRAM.
Tilera’s Tile-GX100 (Fig. 2) puts 100 very long-instruction-word (VLIW), 64-bit cores on a single chip. The mPIPE wire speed packet processing system acts as a front end for up to 32 Gigabit Ethernet ports. Developers can partition SMP regions and even run individual cores with zero overhead Linux support.
Some developers are using graphical programming environments like National Instruments’ LabVIEW as well as matrix-oriented tools like the MathWorks’ MATLAB as alternatives for parallel processing. Both support GPUs in addition to multicore platforms.
Counterfeiting is likely to drive developers more than security given the limited appreciation for secure practices in most embedded development environments. Firewalls, encrypted communication links, and authentication mechanisms are readily available these days, but coordinated use is often more complex than the underlying application. The challenge remains in exposing the payoff in the long run.
Continue on next page
On the other hand, anti-counterfeiting measures tend to be more isolated and easier to incorporate with an identifiable payback (see “DOC Reports On Counterfeit Electronics”). Hardware measures are becoming more common, though they appear to be premium-priced at this point.
The use of virtualization and partitioned operating systems for isolating applications will be more common in the embedded space as work on secure separation kernels and hypervisors for military environments moves into commercial products. ARINC 5653 support and DO-178B certification aren’t necessary for the commercial market, but the functionality and reliability these architectures provide are needed.
Pick Your Programming Language
C and, by default, C++ will remain the embedded programming languages of choice by a wide margin, but expect growth in the use of other programming languages like Python, Microsoft’s C#, and even Java. Graphical programming systems like National Instruments’ LabVIEW (see “LabVIEW 2010 Hits NI Week”) and development tools like MATLAB and Simulink from the MathWorks (see “Updated Modeling Tools Wrangle With Larger Projects”) are likely to garner even more followers.
Alternatives to C are more likely simply because the amount of memory and the performance levels of the embedded platforms are on the rise. Designers often can take more productive advantage of multicore and large clusters with other programming tools.
Experimentation with new platforms is occurring in robotics (see “Frameworks Make Robotics Development Easy—Or Easier, At Least”). Much of the robotic research and support software remains proprietary, but more open-source platforms and tools are making it easier for developers to learn about robots.
Successful commercial robots are more than smart vacuum cleaners. Unmanned aerial vehicles (UAVs) and other unmanned vehicles are shipping in large numbers (see “UAVs Conquer The Skies”). Challenges for using UAVs in the industrial sector tend to be more limited by Federal Aviation Administration (FAA) rules than technology, although improved technology will likely result in safer vehicles.
Faster Boards, Faster Systems
OpenVPX had a significant impact on military and avionic designs in 2010, and it looks to do more of the same this year (see “OpenVPX Accelerates Military Time-To-Market”). It should improve adoption of the VPX form factor in new designs.
Micro military stardards are in the queue at VITA with the VITA-73, VITA-74, and VITA-75 (see “Shootout At The VPX Corral”). VITA-73 (Fig. 3) is based on a 2.5-in. hard-drive form factor from PCI Systems. VITA-74 is based on a nano-ETXexpress form factor, and VITA-75 is a smaller version of VPX.
These smaller board standards utilize high-speed serial interfaces. Developers can pack quite a bit of computing power into these systems even with their smaller footprints. Smaller systems can often be placed closer to sensors and controls as well as operate on smaller platforms like compact UAVs.
Look for more action in the PC/104 Consortium’s PCI/104-Express and PCIe/104 as well as the Small Form Factor-Special Interest Group’s (SFF-SIG) SUMIT boards. Ampro Adlink’s ReadyBoard 850 (Fig. 4) mixes the EPIC standard with the SUMIT PCI Express stack.
Continue on next page
PCI Express has not been in big demand for many stackable applications because even the older ISA bus has been sufficient. Likewise, the large number of PC/104 boards has made design easy. This is changing as more performance is needed for applications that may have to deal with video. In this case, PCI Express makes a difference.
The need for PCI Express in boards and modules also can be seen in IBase Technology’s ET830 Nano ETX COM Express (Fig. 5) module, which fits a 1.6-GHz Z530 Atom system into 55- by 84-mm standard form factor. The Nano ETX COM Express form factor is only 39% of a larger COM Express module. The larger modules will still be popular, but they will provide even higher-performance support while these smaller modules fill in the low end.
Flash storage continues to dominate on-chip storage for microcontrollers. It is also becoming the norm for embedded systems using drives or external flash storage in areas other than mobile devices such as MP3 players and cameras.
SanDisk’s iSSD (Fig. 6) is a SATA II flash drive on a chip (see “SATA Flash On A Chip”). The ball-grid array (BGA) package boasts up to 64 Gbytes. It is representative of the trend of putting flash storage on the motherboard. The Viking Modular Solutions SATADIMM also has a SATA II interface but plugs into a DDR3 240-pin dual-inline memory module (DIMM) socket where it draws power. A SATA cable attaches it to the controller.
LSI’s WarpDrive SLP-300 and Fusion-IO’s ioDrive Duo (Fig. 7) are designed to plug into PCI Express slots to provide direct access to flash storage, making them more efficient than conventional solid-state drives (SSDs). This year may be the time that other technologies like MRAM and phase-change memory (PCM) begin to encroach on these devices and SSDs.
Touchy Displays And Video
3D displays are the watchword for HDTVs even though the consumer uptake on 3D is less than enthusiastic. The increased number of 3D Blu-ray titles and online 3D content will likely change some opinions this year, but it means the technology will be there to be exploited for other uses. Applications like medical and industrial imaging are possibilities for these large, comparatively low-cost 3D presentation systems.
Touchscreens and multitouch support will be more important for embedded developers this year versus 3D. The key to success will be the software support, especially for large displays. Multitouch may require some application redesign to take advantage of the extra input, and support for gestures will be equally challenging to incorporate.
Look for more video cameras everywhere. They will be standard fare on all cars in the near future and are options on most cars shipping this year. In many cases the number of cameras may run into double digits for a single vehicle. Forget the servos seen on robots for flipping a camera around. Low-cost cameras make multiple-camera systems more economical.
The move to HD cameras will also have an effect on network bandwidth, processing requirements, and compression algorithms. Other embedded applications will be able to take advantage of the effects of digital cameras, webcams, and video cameras as well as automotive applications.
Embedded and system designers will have plenty of new options to consider this year ranging from parallel programming tools to flash storage to 3D displays. The resulting plethora of new products should be interesting.