{{Infobox software | name = Digital Application virtual Engineer (DAVE) | logo = | screenshot = | caption = | developer = Infineon Technologies | programming language = Java, C | operating system = Microsoft Windows | language = English | genre = | license = | website = http://www.infineon.com/... DAVE (Infineon) Digital Application Virtual Engineer (DAVE) is a software development and code generation tool for microcontroller applications created in C/C++. DAVE is a standalone system with automatic code generation modules. It is suited for the development of software drivers for Infineon microcontrollers and aids the developer with automatically created C-level templates and user-desired functionalities.
The latest releases of DAVE include all required parts to develop code, compile and debug on the target for free (based on the ARM GCC tool suite). It is similar to the products of Atmel (AVR, SAM) and Microchip (PIC, PIC32) to name a few.[1]
DAVE was developed by Infineon Technologies, and is only available for their microcontrollers. The generated code can be used on development environments from Eclipse, Keil, Tasking, and so on.
The successor of the Eclipse-based development environment for C/C++ and/or GUI-based development using "Apps". It generates code for the latest XMC1xxx and XMC4xxx microcontrollers using Cortex-M processors. The code generation part is significantly improved. Besides the free DAVE development software, a DAVE SDK is a free development environment to set up its own "Apps" for DAVE. Details (downloads, getting started, tutorials, etc.) can be found on the website.
Automatic code generation is based on the use of case-oriented, configurable, and tested software (SW) components, called DAVE Apps. They are comparable to executable and configurable application notes that can be downloaded from the web, just like apps for smartphones or tablet PCs. This environment is based on Eclipse. Besides the "App approach," ordinary program development using C/C++ is also available. The targets for this development are XMC1xxx and XMC4xxx microcontrollers that use ARM Cortex-M processors.[2]
This version targets 32-bit MCUs (TriCore AUDO family), 16-bit MCUs (C166, XC166, XE166, and XC2000 family), and 8-bit MCUs (XC800 family) from Infineon. After the initial setup, the configuration wizard appears and gives an overview of 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 one can continue to modify the code or add it to an existing project.[3]
The installation of DAVE and DIP files is unproblematic, with only a few clicks after downloading the application from Infineon's web page. 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.
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 Infineon's 8-bit microcontrollers family, based on the Open Source Eclipse architecture.[4] DAVE Drive is a GUI-based software tool that allows application developers to create embedded software for the control of brushless synchronous three-phase motors.[5]
As mentioned, the Infineon MCUs are directly supported by several commercial products – depending on the selected MCU target.[6] Also, an embedded coder library for Matlab exists.[7] As a free alternative to DAVE, the developer can use the Keil Microcontroller Development Kit (MDK) Version 5. Code for the XMX1000 series up to 128 kB can be developed this way without purchasing a license from Keil.[8]