The first version of Embedded Wizard was released in 2003 by , an embedded software development company located in Munich, Germany. It was intended as a successor of previous GUI tools from , like M2-Builder. In contrast to former tools, Embedded Wizard enabled platform-independent development, introduced an own programming language Chora and was designed to support object oriented programming and resource-constrained devices. Since the first version, the tool has been extended with new features like an integrated debugger, a memory footprint analysis of RAM and flash consumption or support for effects and animations with a 3D perception and vector graphics. Embedded Wizard was designed and developed by Paul Banach and Manfred Schweyer.
Architecture
Embedded Wizard consists of a WYSIWYG IDE for creating and prototyping the user interface application and a hardware abstraction layer, called platform packages, which are available for various embedded chipsets, operating systems and color formats, and are distributed by , semiconductor manufacturers and distribution partners. A platform package to run GUI applications on a Microsoft Windows System is included in every Embedded Wizard license. Each platform package contains a dedicated code generator and resource converter for bitmaps and TrueType fonts, which are adapted to a specific chipset, and - if available - operating system. Another platform package can be licensed, which generates JavaScript/WebGL source code instead of ANSI C.
Workflow
Following the approach of object-oriented programming, each Embedded Wizard project consists of classes which implement a certain part of the design and/or functionality. The class library of Embedded Wizard, called Mosaic, is part of every project and provides the basic functionality for visual objects, focus handling, layouting, event handling and more. To create a graphical user interface, Embedded Wizard provides basic functions like rectangles, gradients, lines, text boxes, import of bitmaps and TrueType fonts, but also GUI widgets like menus, scrollbars, buttons, and sliders. Besides the visual objects, developers can create methods, properties, variables, and enums to implement a certain behavior, using Embedded Wizards own programming language Chora. Embedded Wizard follows the approach of visual programming. All logical elements, like methods, properties or variables are represented in the IDE as visual bricks. This enables developers, for example, to assign a variable as a parameter for a method by drag-and-drop. The members of the class library can be flexibly extended by developers according to their needs. The available Knowledge Base accompanied by video tutorials and open community forum Ask Embedded Wizard help the developer to get familiar with the technology. Embedded Wizard supports rapid prototyping and testing of the user interface. A debugger for the Chora code is integrated as well. During code generation, the Chora code is transformed into ANSI C code or JavaScript for a specific chipset, using the appropriate platform package. The generated C code needs to be compiled and linked with the runtime environment and graphics engine of the platform package.
Availability
The Embedded Wizard Studio is distributed by or its distributors as a per-developer license. A royalty fee for each device, equipped with an Embedded Wizard application, is not charged. Platform Packages are available for more than 60 various chipsets. Embedded Wizard is a selected solution by many semiconductor manufacturers for their chipsets. A complete list of all supported chipsets and operating systems can be found on http://www.embedded-wizard.de/platforms.html.