Carbide.vs
   HOME

TheInfoList



OR:

Carbide.c++ is a software development tool for
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
development on
Symbian OS Symbian is a discontinued mobile operating system (OS) and computing platform designed for smartphones. It was originally developed as a proprietary software OS for personal digital assistants in 1998 by the Symbian Ltd. consortium. Symbian OS ...
. It is used to develop phones that use the OS, as well as applications that run on those phones. It is based on the Eclipse IDE platform enhanced with extra plug-ins to support Symbian OS development. The product is provided by the
Symbian Foundation The Symbian Foundation was a non-profit organisation that stewarded the Symbian operating system for mobile phones which previously had been owned and licensed by Symbian Ltd. Symbian Foundation never directly developed the platform, but evangelis ...
under an open source model. In April 2009,
Nokia Nokia Corporation (natively Nokia Oyj, referred to as Nokia) is a Finnish multinational telecommunications, information technology, and consumer electronics corporation, established in 1865. Nokia's main headquarters are in Espoo, Finland, i ...
transferred Carbide.c++ and many other software developer tools to the
Symbian Foundation The Symbian Foundation was a non-profit organisation that stewarded the Symbian operating system for mobile phones which previously had been owned and licensed by Symbian Ltd. Symbian Foundation never directly developed the platform, but evangelis ...
. Members of the Symbian community now manage and contribute code to the Carbide.c++ product.


Tool packages

Carbide.c++ is provided by the Symbian Foundation in two different tool packages. * Application Development Toolkit (ADT) contains tools for application development, including the IDE, debugger, and analysis tools. * Product Development Toolkit (PDT) contains tools for contribution and product creation. Both the ADT and PDT are basic installers that include Carbide.c++, several Eclipse-based plug-ins and several stand-alone tools. ADT/PDT v1 contains Carbide.c++ v2.0.4
ADT/PDT v2 (Q4 2009) is targeted to contain Carbide.c++ v2.2


Technology

Carbide.c++ is based on the latest versions of Eclipse IDE and Eclipse CDT extended with Symbian OS -specific features. Currently it supports the WINSCW x86 C++ compiler found in
CodeWarrior CodeWarrior is an integrated development environment (IDE) published by NXP Semiconductors for editing, compiling, and debugging software for several microcontrollers and microprocessors (Freescale ColdFire, ColdFire+, Kinetis, Qorivva, PX, Frees ...
for production of emulator binaries. For target binaries it supports GCC, and ARM RVCT compilers (sold separately). The WINSCW and GCC compilers are actually provided in the SDK and not explicitly included in the Carbide IDE. Carbide.c++ has branched very few parts of CDT nearly all of it is contained within added plug-ins added on top of Eclipse. The few branches mostly relate to the different semantics of the CodeWarrior debugger engine, compared to
GDB The GNU Debugger (GDB) is a portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada, C, C++, Objective-C, Free Pascal, Fortran, Go, and partially others. History GDB was first written by ...
which is what Eclipse previously supported. Because Carbide.c++ is very similar to a standard Eclipse installation, it can still be used for other types of development such as Java or Perl (provided the correct plug-ins are installed using Eclipse's self-update mechanism). Similarly, it ought to be possible to produce a product with similar functionality to Carbide.c++ by moving the Carbide.c++ plug-ins into a standard Eclipse installation; this is not currently a facility offered by Nokia. Carbide.c++ supports the Symbian Build System v1 and v2 (aka Raptor). The former is a perl-based build system and the latter is built using Python and supports the next generation Symbian OS operating systems. The main advantage of supporting SBSv1 and v2 in Carbide is users can create command-line builds in parallel with IDE builds and not have to manage two different workspaces. The disadvantage of SBSv1 is dependency checking is automatic on every build and re-building large projects to take a while. Carbide.c++ built in some short cuts (starting with v1.3) to speed up rebuilds. Early versions of Carbide (v1.0, 1.1) supported a different build method which had many problems.


History

Carbide.c++ development tools family was created to replace
CodeWarrior CodeWarrior is an integrated development environment (IDE) published by NXP Semiconductors for editing, compiling, and debugging software for several microcontrollers and microprocessors (Freescale ColdFire, ColdFire+, Kinetis, Qorivva, PX, Frees ...
for Symbian OS as the primary development environment for Symbian OS. Adoption of the tool has been slow but CodeWarrior usage is diminishing since the older tool no longer supports the latest changes to Symbian OS and S60 platforms. Carbide was provided as three commercial products and one free product. Today the product is part of the Symbian Foundation offering and is completely free. * Express Basic tools for application development. Contains project management, code authoring, emulator and GCC-E builds, and emulator debugging. The Express edition was provided for free and did not support development directly on production phones. * Developer Edition Targeted at aftermarket software development. Contained Express features, a UI Designer (for rapid UI creation), and application-level on-device debugging for S60 and UIQ phones. * Professional Targeted at Symbian OS phone manufacturers, their partners, and application/middleware vendors working on demanding projects. Contained Developer features, system-level on-device debugging, and performance profiling tools. * OEM Targeted at early-access embedded development such as driver-development, base porting, and hardware-dependent application and middleware development. Contained Professional features, and stop-mode debugging using Lauterbach and Sophia in-circuit emulators. The products ranged in price from 300 to 8000 Euros depending on features set and licensing model. Carbide had a slow reception to the Symbian community. Developers are generally not fond of moving to new tools and early versions of Carbide had problems. There were several frequently cited complaints for example, lack of Symbian-OS-style code indenting, lack of an easy "find in files" facility, speed of import of Symbian OS build files (MMPs), and difficulties using on-device debugging. In addition, the much-anticipated Managed Build System did not work properly rather than offering a true incremental build, it frequently deleted everything and started again. Otherwise the reception was warm - the development environment is preferred to CodeWarrior, the IDE is based on Java so there are some speed and memory concerns, the IDE is often slow and has a pretty big memory foot print, all trademarks of the Java environment. Carbide.c++ has made steady progress in addressing issues brought up by the developer community. CodeWarrior usage has dropped off significantly due to improvements in Carbide and CodeWarrior's lack of support for the newer versions of Symbian OS.


References


External links


Nokia-specific SDKs

An alternative - Symbian OS development within Apple's XCode IDE

Symbian C++ - Nokia Developer Wiki
{{Nokia platforms Free mobile software Symbian OS C++ software