MeeGo Review

As we evaluate various technologies that might be applicable in embedded systems, MeeGo is the subject of this article.  MeeGo is a collaboration between Intel and Nokia, and is replacing the Moblin and Maemo efforts.  For this review, MeeGo was installed to a USB flash disk and booted on a Asus EEPC.  This was quite trivial to do, and the instructions on the MeeGo website are very good.  The following video (can be viewed in Firefox) provides a quick overview of the MeeGo Netbook UI.

Overall, MeeGo looks interesting.  Hopefully with the collaboration between Intel and Nokia, there will emerge a number of components that become “standards” for embedded systems such as ways to manage wireless networks, cell phone radios, etc.  It would also be nice to have better options for implementing GUI’s on embedded devices with small screens.  While the MeeGo user interface is nice, it is not a radical departure from desktop applications.  Maemo (used on the Nokia N900) is more advanced in that it has optimized widgets for a small screen.  With Maemo, all applications run in a true full screen mode, which is generally desired for devices with smaller screens, or industrial devices where we want to keep user confusion to a minimum.  MeeGo applications seem to run full screen, but you can still drag them around, and some applications like the terminal do not start full screen.

It seems there is considerable interest in providing distributions based on MeeGo.  Novell has announced it plans to provide MeeGo based distributions for netbooks, and Intel claims there are a number of other companies planning to build on top of MeeGo.


Intel Atom vs TI OMAP3

As we look at new projects, both the Intel Atom and the TI OMAP3 processors generate considerable interest.  As we have already shown, the OMAP3 does offer a considerable performance improvement over earlier generations of ARM CPUs.  The following video I found on YouTube shows a similar comparison of a OMAP3 and Atom systems rendering web pages:

As one would expect, the Atom does perform better (about 14%), but considering the power differences, the OMAP does surprisingly well.  It is also unknown in this demo if the screen size would make a significant difference in the results.  Like most things, the choice depends on the application, and no two applications are the same, and each solution has advantages.  Some things to think about:

  1. Power: OMAP3 platform consumes on the order of <1-2W while the Atom is more in the range of 2-5W.
  2. High Speed I/O Interfaces: Atom supports PCI and PCI expansion interfaces where OMAP3 is limited to more special purpose user interfaces such as SD, Camera, Asynchronous bus, etc.  Both Atom and OMAP support High Speed USB.
  3. Packaging: OMAP3 packaging is very aggressive with the stacked Package-on-Package.  To get an idea how much space an OMAP3 solution takes, check out the module from Gumstix.  There are basically only two chips in the system: the OMAP3+stacked RAM/Flash and a power management+I/O chip.  This is very high integration!
  4. Module availability: for many embedded systems with volumes in the 1000’s of units per year, a module solution is very attractive compared to a full custom design.  This drastically reduces the engineering effort and time to market.  A sampling of the modules available include:
  5. Software support:  TI and the open source community have done a remarkable job of supporting the OMAP3 with the BeagleBoard effort.  Gumstix maintains open source software for their devices, and has a very active development community.  Intel also has invested significantly in software with their Moblin project.  Other factors to consider is the boot software (bootloader vs BIOS, is it open?), are there 3D graphics libraries available, etc.
  6. Multimedia processing:  The OMAP3 is available with an on-chip DSP.  Intel has traditionally offered extensions for multimedia processing such as SIMD.