GSM Mobile Phone Software Design
8.1 Introduction to GSM Mobile Handset Software
As discussed in the earlier chapters, a GSM mobile handset system consists of several essential hardware blocks, the necessary software for driving those hardware blocks, protocol stack for governing communication, and application software for running different applications. A high level picture of different software blocks, which are required for a typical GSM mobile phone system, is shown in Figure 8.1.
Typically the software part consists of several modules, such as the boot loader, initialization code, protocol stack, device drivers, and RTOS. In addition, audio–video related software, Bluetooth stack, and other application software (such as gaming, calculator, etc.) are also in-housed in a mobile phone device.
8.1.1 Boot Loader and Initial Power on Software Module
Once the reset button is pressed the processor jumps to the reset location (the data book of each microcontroller/microprocessor specifies the reset vector/memory location) and the jump to the next to address location is then specified. Boot loader is a small program that loads the operating system into memory of the mobile, when the mobile is booted. Generally, the boot loader is stored and executed from a special ROM area of the chip, and this uses the crypto capabilities and makes sure that only certified software can be downloaded. The boot loader allows programming the of the flash via a USB/UART connection. An embedded system ...