Developing software for mobile terminals is a challenging task because the actual hardware is
not available at the beginning of the software development phase. Once a hardware prototype is
available the software development can continue on that platform. But before that a need for a
model of the actual hardware is needed, hence some kind of emulator or simulator needs to be the
developed to give the software developers a head start. The aim of this master thesis is to do a
market survey of the available simulators for the ARM9E CPU and attached devices in a base-
band chip and test their flexibility in terms of adding additional devices (both external and on
chip), and also to implement a simulator using the C++ language. The goal is a modular structure
for easy addition of certain components such as memory-interfaces, external devices etc. Another
important part is the profiling of the executed code to instrument the execution in different ways,
and efficiency to allow fast execution. The conclusion of the market study is that due to the high
price of these simulators (1.5K€-40k€), we need to design our own simulator. Our simulator
consists of different blocks; some of them are merely stubbed while others like the memory and
CPU core are modelled more in detail. The performance of the simulator is around 200 KIPS due
to the overhead in the debugging functionality. By removing the debugging overhead and
optimizing the memory handling we could achieve at least 1 MIPS on the ARM execution and 5
MIPS on the Thumb execution.
Högskolan i Halmstad/Sektionen för Informationsvetenskap, Data- och Elektroteknik (IDE) , 2006. , p. 430856 bytes