The Emulator maps the Symbian platform file system onto the PC’s
file system. This drive mapping is performed at run-time. It enables
applications to use the file system drives without interfering with PC’s
drives in unpredictable ways. The Symbian platform creates two default drives:
z:, which in target machines maps to the ROM, and c:,
a RAM drive.
To allow for the differing requirements of different products containing the Emulator, the default locations for the virtual drives vary depending on where the Emulator itself is installed. This section describes the different cases.
You can also add further virtual drives, and reconfigure the standard drives to map to alternative locations.
The two default virtual drives, z: and
c:, can be changed, and new virtual drives can be added —
for example to simulate a CF card acting as a removable drive.
There are a number of ways of performing these tasks. The
recommended method is to use the configuration file. If required, you can also
override the location of the emulated c: drive using the
command-line.
Note that any mapping for the z: drive must specify a
directory named z.
When the Emulator is used with the C++ SDK, it must be located in the following directories:
release build: .\epoc32\release\wins\urel\
debug build: .\epoc32\release\wins\udeb\
When this is the case, drives z: and c:
are mapped by default to sub-directories of the \epoc32\ tree, as
follows:
|
Therefore, an application program such as
z:\system\apps\helloworld\helloworld.app is mapped by the Unicode
debug build to
.\epoc32\release\wins\udeb\z\system\apps\helloworld\helloworld.app.
Configuration files for the Emulator are located in
\epoc32\data\.
Where EPOCROOT is set to point to the active
\epoc32 directory the drive letter must not be included.
In some products, the Emulator can be run in another location than
\epoc32\release\wins\build\. In this
case, the Emulator looks by default for the following sub-directories below its
own location:
|
GUI application programs must be located in a folder under the
z:\system\apps\ directory tree to appear on the Extras bar.
This usual configuration is determined by the way that the Emulator locates a library file that is to be loaded. In detail, this is as follows:
if the filename includes a drive, the filename is mapped using the appropriate virtual drive mapping
if the filename is specified without a drive letter, then the
virtual z: parent directory is searched
if the library is not found, an attempt is made to find the
library in the same way as on a target machine: i.e. virtual drives
y: to a:, then z:\system\libs\, are
searched.
Executable applications, e.g. text console applications, must be
located in the same directory as those dll files which they
statically link to. The usual approach is to build both exe and
dll files to the z: parent directory. The location of
emulated drives is calculated from the directory containing the
exe.
The EPOCROOT environment variable allows different SDKs to be installed on the same drive. By changing EPOCROOT a
build can be done for the required SDK. There can only be one
EPOCROOT and therefore only one active development environment at
any one time. Tools are installed in a shared path while the rest of the
epoc32 tree that comprises each SDK emulator can be installed in
its own directory. EPOCROOT points to the directory of the
"active" emulator installation and tools that recognise EPOCROOT,
such as epoc.bat build into this location. The
epoc.bat tool is invoked to launch the active emulator.
It should be noted that the emulator may still be used in the same
way as for ER5 — by installing the emulator in its own drive and running
the executable epoc.exe.
Application data files can be copied from a Symbian machine, using EPOC Connect, onto a Emulator virtual drive and opened from within the Emulator. This is not true of Application code which must be re-compiled to run on each platform.
Installation .sis files can be installed on the
Emulator, using the application install program from the Emulator's application
launcher. The install program dispalys a list of .sis files to
install. These should be located in .\epoc32\wins\c\.
Applications are installed to
.\epoc32\release\wins\udeb\z\system\apps\ for debug builds or
.\epoc32\release\wins\urel\z\system\apps\ for release builds.