|Written in||Visual Basic, C|
|Operating system||Microsoft Windows|
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 Inﬁneon microcontrollers and aids the developer with automatically created C-level templates and user desired functionalities. DAvE was developed by Inﬁneon Technologies. Therefore, the automatic code generator supports only Infineon microcontrollers.
Latest version DAVE3 - Auto Code Generation
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. 
To use DAvE the so-called DAvE-Mothersystem has to be installed and conﬁgured. The latest version of DAvE can be downloaded from the official Inﬁneon’s homepage. In addition, a DIP-ﬁle (DAvE Integration Package) according to the microcontroller hardware for which the software driver will be implemented is provided by Inﬁneon and has to be installed. At startup the user will be asked to select a microcontroller family and also the corresponding conﬁgurations such as system clock frequency or interrupt control. Furthermore, a compiler has to be deﬁned for which DAvE will generate a C-project. The compilers Keil (ARM) and Tasking (Altium) are currently supported. After the initial setup the conﬁguration 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 ﬁles 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-ﬁles is unproblematic, with only a few clicks after downloading the application from Inﬁneon’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, Inﬁneon 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 conﬁgurations, 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 conﬂicts are being resolved by reducing the conﬁguration 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. Conﬁguration windows allow the designer to select and conﬁgure 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 conﬁguration options, all resulting changes in code are dynamically updated and displayed in all applicable open conﬁguration windows. In addition, the program automatically creates detailed documentation for each conﬁguration, 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 conﬁgurations. 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 conﬁgurations 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 conﬁgured modules and requested C-functions to create an output. The generated ﬁles 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.
Besides the main development environment, DAvE, Inﬁneon also developed additional software that can be used in conjunction with DAvE for speciﬁc microcontroller families or additional hardware: DAvE Bench for XC800 is a platform providing free development tools for Inﬁneons 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.
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.
- "Getting started with XC164CS starterkit using DAvE, Tasking EDE & CrossView Pro Debugger". Application Note. Infineon Technologies. Retrieved 5 March 2011.
- "DAvE Bench". Product Intro. Infineon Technologies. Retrieved 5 March 2011.
- "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.
- "Embedded UML Studio™ second Generation". Product Brief. Willert Software Tool. Retrieved 5 March 2011.