DAvE (Infineon)
Encyclopedia
DAvE Digital Application virtual Engineer (DAvE), a C-language software
development tool for microcontroller
Microcontroller
A microcontroller is a small computer on a single integrated circuit containing a processor core, memory, and programmable input/output peripherals. Program memory in the form of NOR flash or OTP ROM is also often included on chip, as well as a typically small amount of RAM...

 applications. DAvE is a standalone system with automatic code generation modules and is suited to develop software drivers for Infineon microcontrollers and aids the developer with automatically created C-level templates and user desired functionalities. DAvE was developed by Infineon Technologies. Therefore, the automatic code generator supports only Infineon microcontrollers.

Functionality

To use DAvE the so called DAvE-Mothersystem has to be installed and configured. The latest version of DAvE can be downloaded from the official Infineon’s homepage. In addition, a DIP-file (DAvE Integration Package) according to the microcontroller hardware for which the software driver will be implemented is provided by Infineon and has to be installed. At startup the user will be asked to select a microcontroller family and also the corresponding configurations such as system clock frequency or interrupt control. Furthermore, a compiler has to be defined for which DAvE will generate a C-project. The compilers Keil (ARM
ARM architecture
ARM is a 32-bit reduced instruction set computer instruction set architecture developed by ARM Holdings. It was named the Advanced RISC Machine, and before that, the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit ISA in numbers produced...

) and Tasking (Altium) are currently supported. After the initial setup the configuration wizard appears and gives an overview over the hardware peripherals, control units, and modules. Here, the actual microcontroller application can be created by selecting the desired functionality. At this step, module specific functions have to be selected for module initialization and control. Finally, the application source files will be generated by DAvE and embedded in a project for the selected development environment, where you can continue to modifying your code or adding it to an existing project.

The installation of DAvE and DIP-files is unproblematic, with only a few clicks after downloading the application from Infineon’s webpage. One can start working with DAvE and
already generate example code without reading a manual, as the steps for doing so are pretty much self explanatory when following the application wizard. Furthermore, Infineon provides many application notes and tutorials on how to use DAvE in combination with different microcontrollers and development environments.

An intuitive user interface allows to familiarize oneself with the basic functionality of DAvE in a significantly small amount of time. Once the user has learned the main steps of creating an embedded application with DAvE the application development can be performed very fast. By providing a graphical user interface and a wizard it is easy to memorize the steps, even when the user returns to the tool after a period of not using it. In general, in embedded application development it is easy to make mistakes by creating conflicting configurations, e.g., assigning one I/O
Input/output
In computing, input/output, or I/O, refers to the communication between an information processing system , and the outside world, possibly a human, or another information processing system. Inputs are the signals or data received by the system, and outputs are the signals or data sent from it...

 pin to multiple modules or select not supported baud rate for communication or wrong operating frequency. When using DAvE these conflicts are being resolved by reducing the configuration choices automatically. In addition to that, in order to being able to use the source code generated by DAvE and to create a meaningful embedded application, it is crucial to understand the functionality of the generated C-functions and the targeted hardware. DAvE’s interactive user interface provides a fail-safe way to select desired features before beginning to program an application. Configuration windows allow the designer to select and configure a specific product and then automatically generate code for that product, including its core, peripherals, memory, appropriate driver functions, and interrupts. As changes are made in configuration options, all resulting changes in code are dynamically updated and displayed in all applicable open configuration windows. In addition, the program automatically creates detailed documentation for each configuration, with complete explanations of function calls, macros, parameters, and return values. It also features a built-in register viewer that displays all registers and enables the user to easily track changes up to bit configurations. To add user specific functionality to the automatically generated code DAvE offers designated user code areas (marked by //USER CODE BEGIN and //USER CODE END comment section), where application specific code can be entered using any editor. This ensures that these parts won’t be overwritten when applying further changes to the microcontroller configurations through DAvE later.

DAvE is meant to be a one stop access point to all standard knowledge associated with
Infineon’s embedded technology expertise, by offering a context sensitive access to user’s manuals, data sheets, application notes, etc. directly from the development environment. It also provides an environment to build AddIns. To build an AddIn for DAvE is easy. The DAvE Template Generator creates a template for an AddIn and has the capability to add sample code of your choice. Furthermore, there is a detailed documentation with a sample project being installed together along with DAvE’s SDK
Software development kit
A software development kit is typically a set of software development tools that allows for the creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar platform.It may be something as simple...

. VB syntax is not hard to understand especially when an example project is being provided. It may take some more time to get acquainted with DAvE’s SDK than with the code generator, but it will be possible to obtain a runnable AddIn within a day.

Performance

DAvE runs only under Windows and is completely controlled by Visual Basic scripts and
has only little memory requirements (105MB on the hard drive and 30MB RAM
Random-access memory
Random access memory is a form of computer data storage. Today, it takes the form of integrated circuits that allow stored data to be accessed in any order with a worst case performance of constant time. Strictly speaking, modern types of DRAM are therefore not random access, as data is read in...

). The codegenerator needs only few seconds depending on the configured modules and requested C-functions to create an output. The generated files can be viewed and modified inside the application as well. Only for compilation, debugging, and download to the target a different tool must be used.

DAvE-related Software

Besides the main development environment, DAvE, Infineon also developed additional software that can be used in conjunction with DAvE for specific microcontroller families or additional hardware: DAvE Bench for XC800 is a platform providing free development tools for Infineons 8-bit microcontrollers family, based on the Open Source Eclipse architecture .
DAvE Drive is a GUI based software tool that allows application developers to create
embedded software for control of brushless synchronous 3-phase motors
Synchronous motor
A synchronous electric motor is an AC motor distinguished by a rotor spinning with coils passing magnets at the same rate as the power supply frequency and resulting rotating magnetic field which drives it....

.

Alternative

As an alternative to DAvE, the developer can use The Embedded UML Studio II developed
by Willert Software Tools, which provides a complete graphical UML
Unified Modeling Language
Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...

development environment for microcontroller drivers. The software is capable to generate production code in C-language, using an UML design created with Rhapsody (IBM Rational). However, in contrast to DAvE, Embedded UML Studio II is not a freeware. A 12 months full-support license costs 4950 Euro .

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK