Summary: | 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.
|