Sanjay Noronha, Silicon Laboratories Inc.
Apr 03, 2006 (5:00 AM), ComssDesign
Software is one of the main reasons why a mobile phone does or doesn't succeed in the market. It's the first feature that users interact with. And it's a major cause of the love-hate relationship users have with their handsets.
Software is arguably the most critical piece of the mobile phone, and yet, the very thought of it makes handset designers shudder. Inevitably, software is buggy, costs more than planned, and is one of the last elements to get done before the phone goes into production.
Ultimately, the software runs on a hardware platform provided by the chip-set vendor, either a baseband processor or an applications co-processor that contains a microcontroller (MCU) from a vendor like MIPS. Because the software is specific to the processor's registers, timing, and the type of MCU, it's only logical that the entity who best knows the hardware were to provide the software (Fig. 1).
A well-designed software system will have the hardware-specific low-level interfaces hidden from the upper layers which rely more on generic RTOS services and application frameworks. Envision a typical PC application: a programmer who writes applications for the PC doesn't need to know all about the underlying hardware. The developer utilizes services that the operating system provides and uses third-party tools to write the applications.