An updated version of this post is available here.
Symbian is a proprietary operating system designed for mobile devices, with associated libraries, user interface, frameworks and reference implementations of common tools, developed by Symbian Ltd. It is a descendant of Psion’s EPOC.
A little history — On 24 June 1998, Symbian Ltd. was formed as a partnership between Ericsson, Nokia, Motorola, and Psion, to exploit the convergence between PDAs and mobile phones. Symbian was previously owned by Nokia (56.3%), Ericsson (15.6%), Sony Ericsson (13.1%), Panasonic (10.5%), and Samsung (4.5%). Ten years later to the day, on 24 June 2008, Nokia announced that they intended to acquire all shares that they did not already own. Subsequently, Nokia opened up the development of Symbian to the broad industry by creating the Symbian Foundation.
In this tutorial,we describe how to get started with Symbian Programming by taking you through the installation steps, and then taking through the design of a sample application. This tutorial assumes that you have worked with C++ before and have a brief knowledge about classes, inheritence etc. If you are facing problems with these topics, please dont start this tutorial before making those concepts clear. This tutorial requires no previous knowledge about Symbian and will be taking you forward from the beginning. The first section in this tutorial describes the installation of the development environment for Symbian Programming and the second part starts from a top down class design for a sample application.
Getting Started: Hardware and SDK Installation
Part 1: The Hardware
The first thing you need is a PC/Monitor/mouse and Keyboard. Almost any machine on market today can be used for development, however some would save you a bit of time:
Don’t pay too much attention to the CPU (just avoid if you can the entry level Celeron and Sempron) but take as much RAM memory as you can. 1GB seems a minimal requirement if you consider doing serious development, a big fast hardisk (Speed is important to reduce compilation times and emulator start time, space is a requirement to handle all your SDKs. As an example, you will need 1GB for the S60 3rd FP1 SDK, 500MB for Carbide.c++, etc…). also avoid Windows Vista for now, the ARM toolchain is not yet compatible with it. If everything is ok on the hardware/operating side, you are almost ready to start.
one last thing to check: make sure you have enough space on your C: drive. This is not an absolute requirement, but if you don’t want to bother mounting virtual drive and editing configuration files again and again, you will need to install everything, the IDE, the SDK(s), your project(s) on C:\ so a minimum of 2GB free space is required before starting installation (and this is a minimum!).
Part 2: The software development toolchain
Now let’s go for a bit of downloading. So download and install: ActivePerl v5.6.1. The latest 5.8 nor 5.10 versions won’t probably work.
The Carbide.c++ IDE. : Carbide.C++ is a software development tool for C++ development on Symbian OS. It is used to develop phones that use the OS, as well as applications that run on that phone. It is based on Eclipse IDE Platform enhanced with extra plugins to support Symbian OS development. The Express version (which is free) is enough if you are a student or just intend to learn Symbian OS development. The Developer version (or better) is required if you plan to do some commercial development.
To avoid any problem, be sure to install everything on C:\ in their default location.
The Software Development Toolchain: The SDKs
The S60 SDK : The S60 Platform (formerly Series 60 User Interface) is a software platform for mobile phones that runs on Symbian OS. S60 is currently amongst the leading smartphone platforms in the world. It is owned by Nokia. S60 is licensed by Nokia to other manufacturers including Lenovo, LG Electronics, Panasonic and Samsung.
Download the S60 SDK. Install the SDK in its default directory and on the same drive as Carbide.c++ At the end of the installation, you will be prompted to install the CSL Arm Toolchain if it is not already installed on your machine. Make sure you install it or you won’t be able to compile for the phone target.
Reboot your machine
The Software Development Toolchain: Checking the installation
At the command prompt type ‘epoc’. The S60 emulator window should come up.
The Software Development Toolchain: Reference Book :
Developing Software for Symbian OS by Steve Babin.
The Software Development Toolchain: Getting Help
You can refer to following links for help in Symbian Programming
For more help, you can look up the examples provided with Carbide.C++ and the SDK. Here are the instructions to running the Hello World example in Carbide.C++:
- Run Carbide.C++
- Goto File -> Import
- Select Symbian OS -> Symbian OS Build.inf File and click on Next.Then browse to the directory where you installed Symbian SDK, and look for Examples in the subdirectories. The default location should be : C:\Symbian\9.2\S60_3rd_FP1_3\Examples. Once there, browse through Basics -> HelloWorld. Select the bld.inf file and proceed further.
- Proceed through the next screens checking all the check boxes and then Run the Project by Pressing Ctrl+F11 or by selecting Run -> Run.