Developing Series 60 Applications: A Guide for Symbian OS C++ Developers: A Guide for Symbian OS C++ Developers
Installation Tips for Series 60 SDKs and IDEs
From Series 60 Platform 2.0, SDK installation is managed through a dedicated Package Manager application. Installation and use of multiple SDKs is easier via new tools. EPOCROOT is set automatically, based on the default device setting and any specified overrides . To maintain backward compatibility EPOCROOT can be set manually by the user , and it will not be overridden by the devices command.
Microsoft Visual Studio .NET
The Visual C++ 6.0 IDE is no longer supported by Microsoft. If you wish to use Microsoft Visual Studio .NET with Series 60 SDKs, check out FAQ-0835 on the Symbian Developer Network Knowledge base (http://www3.symbian.com/faq.nsf) for assistance with setting it up correctly ”use the search option and enter FAQ-0835 as the search subject.
Emulator Configuration
The Series 60 emulator is used to test applications under development as well as to interact with application data and other content in the Series 60 environment. The emulator provides the functionality and generic look and feel of Series 60 in a PC environment, so testing the application logic, behavior and complete user experience can be easily performed while developing the software, without the need to have real physical Series 60 devices.
The emulator provides a full target environment, which runs under Microsoft Windows on a PC. This implementation of the platform is known as the WINS (WINdows Single process) platform. Applications run as separate threads within a single process under the PC emulator, whereas on target hardware each application runs in its own process, typically protected from one another by memory management hardware.
The emulator enables development to be substantially PC based. It has excellent debugging support; when a thread is panicked, the debugger provides good information about the panic. Only the final development stages focus on the target hardware. Typical exceptions to this rule are for low-level programming, where target hardware must be directly accessed, such as programming for a physical device driver and where the connectivity/communications requirements are not available via an emulator alone.
The emulator is very flexible and highly configurable, but the options available will vary slightly depending on the version of the platform you are using. The options are summarized in Table 2-4. The information resources referred to in the right-hand column are listed immediately after the table.
Table 2-4. Emulator Configuration Options and Information Sources
Configuration Option | Information Resources |
---|---|
Mapping of the Symbian OS file system onto the PC including: Symbian OS drive mapping to PC folder assignments, location of executable programs and data files, emulation of additional (virtual) drives ”for example, to simulate a Media card acting as a removable drive. | SDK01 |
Use the PC's mouse, screen and sound facilities as if they were the real input and output devices of a target machine. | SDK01 |
Emulating drives using the configuration file epoc.ini . | SDK02, FN01 |
Emulator screen size , grayscale/ color depth, fascia bitmaps ”configuration using initialization ( epoc.ini ) scripts to specify screen size. | SDK02, SDK03, FN01 |
Configuring emulator memory capacity. The maximum total heap size can be set in the initialization file epoc.ini . This allows you to emulate target machines with different memory capacities . | SDK02, SDK03, FN01 |
Configuring the emulator the key map. The KeyMap keyword maps real keys on the device to the PC keyboard and areas of the facia bitmap ”as defined in epoc.ini. | SDK02, SDK03, FN01 |
Virtual keys are represented as rectangular regions of the screen. The VirtualKey keyword allows developers to emulate target machine keys drawn on the fascia bitmap. | SDL02, SDK03 |
Specifying aliases for device keys ” DefineKeyName defines aliases for device key codes. This allows device-specific key names to be used in the epoc.ini configuration file. The key codes used are defined in \epoc32\include\e32keys.h file in the root of your SDK. | SDK02 |
In debug builds, the emulator GUI provides special key combinations for resource checking and redraw testing, which can help you to trap memory leaks early in the development cycle. All debug keys are accessed using a Ctrl+Alt+Shift prefix. | SDK01 |
Internet applications can be tested on the emulator by accessing peripheral devices attached to the PC. On a real device, the Internet applications use dial-up networking or GPRS to connect to an Internet Service Provider (ISP). To use the Internet programs on the emulator, you need a PC with a modem, an ISP account and SMTP/POP3 email accounts. | SDK01, FN01 |
Internet access is possible using a data-enabled mobile phone with an infrared port and IrDA COM-port serial adapter. The recommended adapter is the Extended Systems, Inc. Jeteye ESI-9680. | SDK01, FN01 |
Integration with the Windows runtime environment providing support for Comms , Internet, IrDA and Bluetooth through the host PC. | FN01 |
CommDB ” systemwide storage for communications- related settings. | SDK05, FN01 |
RAS (Remote Access Server) settings. | FN01, SDK04 |
Which telephony hardware (phones) can be used for testing the IP connectivity of the OS? Recommended phones are listed here. | SDN01 |
EPOCROOT ”how to configure the environment variable. | ”SDK01 |
How to configure emulator communications settings. Settings syntax for setupcomms.bat when used to configure modem and Internet connection settings. | SDK01, SDK03 |
Speeding up the Series 60 emulator. | SDN02, SND03 |
Resources
When searching the SDK documentation (the .chm files), a literal search means to put the search string inside quotation marks and exactly as specified. Depending on the version of the SDK documentation you have, the search string may be slightly different.
To find the information referenced in the Symbian Developer Network Knowledge Base use the FAQ number in the Knowledge Base search facility ”it can be found at http://www3.symbian.com/faq.nsf.
SDK01 ” Series 60 SDK documentation ”do a literal search for "Emulator Guide".
SDK02 ” Series 60 SDK documentation ”do a literal search for "Configuring the Emulator" or "Emulator configuration".
SDK03 ” Series 60 SDK documentation ”do a literal search for "Comms settings syntax".
SDK04 ” Series 60 SDK documentation ”do a literal search for "Enabling RAS for the emulator".
SDK05 ” Series 60 SDK documentation ”do a literal search for "CommDb Overview".
FN01 ” "Series 60 Emulator Configuration" in the Series 60 section of the Forum Nokia Web site.
SDN01 ” Symbian Developer Network Knowledge Base FAQ-0893.
SDN02 ” Symbian Developer Network Knowledge Base FAQ-0867.
SDN03 ” Symbian Developer Network Knowledge Base FAQ-0713.
Application Panics in the Emulator
Symbian OS uses the term "panic" for the abnormal termination of an application or system thread. Panics may be created by the system or by the application itself when an unrecoverable error has occurred. From Series 60 SDK 1.2 onward the emulator only displays the message " Program Closed " when an application panics without the usual panic number and information text. To display the details such as the panic number and a text context message as per earlier versions of the platform, you need to create an empty file called ErrRd in the folder \epoc32\wins\c\system\bootdata . If you do this, any panics that occur will be handled in the normal way.