The emulator board support package (BSP) provides the variant kernel, executables, debugging framework and device drivers for the Symbian platform (Epoc) emulator.
The emulator is a port of Symbian platform on the Win32 platform. It allows developers to try things out in an inexpensive development environment and to test and debug code before running it on target hardware. When attempting to implement some new and perhaps unproven functionality developers can learn much from running the application in the emulator.
The emulator is used for:
testing new code ideas,
debugging code before trying it on target hardware or a hardware BSP such as OMAP H4,
running Symbian platform reference implementations and test code,
learning to develop for Symbian platform — through formal Symbian platform developer training courses.
This document describes the composition of the Symbian platform (Epoc) emulator in the Emulator BSP Summary.
There is no formal background required for this section; except perhaps curiosity or a need to know more about the emulator.
The following concepts and terms are used in the context of the emulator:
The first task of Symbian platform is to run the bootstrap application, which performs various initialization tasks on the hardware before starting the kernel. Since emulator does not have to intialize the hardware, its startup application directly starts the kernel. The remainder of the boot process is the same on the emulator as well.
During run time, the emulator emulates the Symbian platform file system onto the file system on a PC. This enables the application to use the file system drives without interfering with the drives on the PC. Performance and size of such drives may not be the same as it would be for the actual hardware.
The emulator is implemented on the Intel x86 processors which has floating point hardware as opposed to IEEE-754 single precision and double precision floating point values used by Symbian platform. So the user has to be careful in using floating-point functions where the target hardware does not have hardware support.
Since ARM uses a 32-bit RISC architecture, the 32-bit quantities must be aligned to a 32-bit machine word boundary only. In other words, the address is a multiplier of 4. This may or may not work with an emulator. For more details see Machine word alignment.
The emulator emulates a device with a total heap size of 64MB. The initial and maximum size for the default heap for an individual process on the emulator (EKA2) can be set, in the same way as for a process on a native target.
The EKA2 kernel provides a good emulation of Symbian platform processes on the emulator with some limitations. For more details see Process emulation section.
The thread scheduling functionality has been faithfully emulated by the emulator on the target hardware.
The serial ports are emulated through Windows serial ports. This is adequate for most purposes, but may not provide the same performance as UARTs on a real device.
The standard timer resolution is 1/64th second on all platforms and also on the emulator.
The emulator does not provide USB client support on reference hardware.
Emulator BSP provides the following executables, device drivers (PDD and LDD) and utility applications:
Emulator kernel
_h4hrp_ekern.exe
The emulator specific variant of the kernel.
Emulator Internal RAM media driver
_h4hrp_medint.pdd
The physical device driver (PDD) for the internal RAM media for the emulator.
Kernel Trace Tool
_integrator_cm1136_btracex.ldd
The emulator variant kernel trace tool.
Epoc boot library
_integrator_cm920_kc_exe.lib
Provides the bootup for Epoc.
Display Device Driver
display0.ldd
The logical device driver (LDD) for the emulator display.
Symbian platform Startup
e32strt.exe
The Symbian platform startup process for the emulator.
Serial Device Driver
ecdrv.pdd
The physical driver for the emulator serial device.
Serial Port Driver
ecomm.ldd
The logical device driver (LDD) for the emulator serial port.
Console
econsnogui.dll
The emulator console. Provides an RConsole.
Variant Specific Debugging Customizations
ecust.dll
Debugging customizations for the emulator.
Keyboard Data
ekdata.dll
Provides keyboard mapping behaviours.
MMC / SD Card Configuration
epbusv.dll
Provides the MMC / SD Card configuration for the emulator.
Sound Device Driver
esdrv.pdd
The physical device driver (PDD) for the sound device.
Ethernet Device Driver
ethernet.pdd
The physical device driver (PDD) for the Ethernet under the windows emulator.
Hardware Abstraction
hal.dll
The hardware abstraction that is used to configure hardware settings for the emulator. Specifically the CPU speed and the display settings are configured with the emulator HAL.
Flash Media Driver
medlfs.pdd
The physical device driver (PDD) for the Flash Media Driver.
NAND Media Driver
mednand.pdd
The physical device driver (PDD) for the NAND Media Driver.
Shared Chunk Sound Driver
soundsc.pdd
Emulator playback functions for the shared chunk sound driver PDD.
File Server
win_drive.fxt
The test File Server extension for the emulator.
Windows GUI Settings
winsgui.dll
The standard emulator GUI and keyboard settings.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.