DAvE (Infineon)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Digital Application virtual Engineer (DAvE)
DAvE logo
Developer(s) Infineon Technologies
Written in Visual Basic, C
Operating system Microsoft Windows
Available in English
Website http://www.infineon.com/...

DAvE (Infineon) Digital Application virtual Engineer (DAvE), a C-language software development tool for microcontroller 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.

Latest version DAVE3 - Auto Code Generation[edit]

Automatic code generation is based on use case oriented, configurable and tested SW components, DAVE™ Apps. DAVE™ Apps are comparable to executable and configurable Application Notes that can be downloaded form the web just like Apps for smart phones or tablet PCs. [1]


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) 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.[1]

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 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. 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.


DAvE runs only under Windows and is completely controlled by Visual Basic scripts and has only modest memory requirements (105 MB on the hard drive and 30 MB RAM). 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[edit]

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.[2] DAvE Drive is a GUI based software tool that allows application developers to create embedded software for control of brushless synchronous 3-phase motors.[3]


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 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.[4]


  1. ^ "Getting started with XC164CS starterkit using DAvE, Tasking EDE & CrossView Pro Debugger". Application Note. Infineon Technologies. Retrieved 5 March 2011. 
  2. ^ "DAvE Bench". Product Intro. Infineon Technologies. Retrieved 5 March 2011. 
  3. ^ "DAVE™ Drive Application Code Generator for PMSM and BLDC Motor Control with Infineon’s 8-bit Microcontrollers". Application Brief. Infineon Technologies. Retrieved 5 March 2011. 
  4. ^ "Embedded UML Studio™ second Generation". Product Brief. Willert Software Tool. Retrieved 5 March 2011. 

External links[edit]