BANGALORE, INDIA: In the article "Making of a SoC", in PCQ, Oct 2008, I gave an overview of the System-on-Chip solutions which are essentially an integration of almost all components of a computer into a single integrated circuit. We also saw that the software is an essential component of a SoC.
Today's SoCs power most handheld devices that we see around, including mobile phones, MP3 players, navigation devices etc. The visible parts of the software in these devices are the user interface and applications. But there are other essential software components which are hidden, or embedded inside, which take up substantial development and integration effort. One of the main components is the Operating System.
The Operating System provides an abstraction of the underlying hardware by providing a consistent interface to the user and the application programmer. For example, consider the two implementations of Windows CE 6.0 on a SoC (with similar performance) based on:
In both cases, the user experience will be same because the GUI will be uniform. But the biggest advantage is for the application programmer who writes the top level applications for it, e.g. an application to display photos from a USB pen drive.
The programmer doesn't need to bother about the differences in CPU or the USB HW IP, because Windows CE 6.0 provides a consistent middleware interface to access files on the USB drive, which show up as a disk drive with a uniform file system across all drives (which include hard disks, flash memory cards, pen drives etc.). Also, the display mechanism remains consistent through the MFC library, Win32 APIs, or the DirectDraw APIs, irrespective of the display hardware (LCD controller, graphics accelerator etc.).
| Resources for further reading |
|
|
The consistency of the Operating Systems comes from the underlying BSP and device driver layers. These layers are ported to every new HW platform or SoC by OS Porting engineers. Let's take a more detailed look into the Operating Systems from the point of view of an OS Porting team.