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.