By Mark Snook, ARM Ltd.
February 26, 2007 -- edadesignline.com
The wide range of different types and models of mobile phones can be a significant problem for developers of software. While the majority of phones are based on the ARM processor architecture, there are many different implementations with processor cores from the ARM9 and ARM11 families, and different ranges of peripherals from suppliers such as Texas Instruments, Qualcomm or Atmel.
Developing and testing new applications and games for a wide range of different handset models can be difficult with this variety of hardware. To develop the best games requires a significant team of software engineers, and a developer wants them to focus on providing the best gaming experience, not on porting and testing the code to many different phone platforms. Similarly, a handset vendor wants to provide new games for new handsets twice a year, so the development has to be done quickly – another problem if the code has to be ported to different platforms and thoroughly tested.
Applications that require secure transactions or power management have to dig down deep into the processor to take advantage of hardware features, so linking tightly to the ARM core is vital. Phones run a variety of execution environments, so being able to fully test the applications on Linux, Symbian and Microsoft operating systems is a significant requirement.
Simulation technology is now emerging that helps the software developer write and test high level application code on the desired operating system, running on a particular hardware platform, long before the hardware becomes available. This allows the developer to start earlier and write the heart of the code just once, testing it out on any variants of the hardware early in the development cycle.
Simulation tools from ARM, CoWare, VaST, Virtio/Synopsys and Virtutech now allow the developer to write and test code much earlier in the development cycle, allowing applications to come to market faster and with higher quality. An ecosystem of tools and models is emerging, driven by the needs of the software developer and by open standards for writing models as shown in Figure 1.
Click here to read more ...