Reduce SW Development Time With DAVE™ 3: March, 2012

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 18

Reduce SW Development Time with DAVE 3

March, 2012

Why DAVE 3 ?

XMC 4500 Offering


Powerful, SWconfigurable peripherals Flexible interconnections and pin mapping options

Pressure to Engineer
Short time to market Tough to get familiar with all the HW details

Solution

DAVE3
23.03.2012 Copyright Infineon Technologies 2012. All rights reserved. Page 2

The DAVE 3 Solution


What is DAVE 3 ?

DAVE 3 is a free toolset for automatic code


generation with Plug in / Interface options for commercial solutions

What is DAVE 3 good for ? DAVE 3 significantly shortens time and effort for SW development for XMC 4500 Series

23.03.2012

Copyright Infineon Technologies 2012. All rights reserved.

Page 3

With DAVE 3 we are Merging the Functionalities of earlier DAVE Tools into one Tool

Free tool chain

Low level code generation

High level Application code generation

23.03.2012

Copyright Infineon Technologies 2012. All rights reserved.

Page 4

DAVE 3 is a Free Toolset for Automatic Code Generation

SW Components: DAVE Apps

DAVE 3
LLD Middle ware RTOS . Any free or commercial solutions from third parties
IDE

Code Engine

DAVEApps Manager
3rd party 3rd party 3rd party

Automatic code generation based on predefined and tested SW components (DAVE Apps) Configuration via graphical user interface Generated code can be used via well documented APIs (like a library)

GNU Compiler Debugger

Option for third parties to plug in other commercial or free tools

23.03.2012

Copyright Infineon Technologies 2012. All rights reserved.

Page 5

Concept of DAVE Apps


Component based programming Is a well know methodology to develop SW by re-using existing and tested SW components with a defined programming interface (API) Application Notes Reference Code to handle specific uses cases Apps Applications for a specific use case for a smart phone or a tablet computer

Can be easily downloaded from the web

DAVE Apps are flexible use case oriented SW components to generate code
That can be downloaded from the web That could be a complete embedded solution/ application

That could be used to compose (model) an embedded solution/ application


23.03.2012 Copyright Infineon Technologies 2012. All rights reserved. Page 6

Component Based Programming with DAVE Apps


User selects and adds a DAVE App to his project Configuration via a graphical UI API to use the generated code HW Signals (virtual) to connect to other DAVE Apps

e.g. PWM App


Selection can be done via categories: Application use cases Supported peripherals and keyword filter Configuration options Init parameters Functionality . User code call functions. . { PWM_start(); Set_duty(); Set_frequency(); } Example for Signals: Timer overflow Compare match PWM output

To be connect to other Apps to Trigger an ADC Crete a output signal

A DAVE App is well defined and tested SW component that can be used to build an embedded application on an high, easy to understand abstraction level
23.03.2012 Copyright Infineon Technologies 2012. All rights reserved. Page 7

Composition of DAVE Apps: Virtual Signal connection


The user or a another App may request the connection of two signals

PWM App

Timer overflow

Compare match

ADC start

ADC App

Interrupt Request

Apps can be freely composed by the user

Interrupt App

23.03.2012

Copyright Infineon Technologies 2012. All rights reserved.

Page 8

PWM Example -1-

Graphical UI to define the initial PWM functionality

Selecting the DAVE App

Selected DAVE App


Additional required DAVE Apps will be automatically included

23.03.2012

Copyright Infineon Technologies 2012. All rights reserved.

Page 9

PWM Example -2Resource Solving and Code Generation

Signal Connection

Pin Constraints

DAVE 3 includes a resource solver that automatically assigns the chip resources considering the available chip resources and connectivity constraints
23.03.2012 Copyright Infineon Technologies 2012. All rights reserved. Page 10

PWM Example -3-

Generated Code

API to control the PWM signal

23.03.2012

Copyright Infineon Technologies 2012. All rights reserved.

Page 11

Instances of DAVE Apps


Normally a individual DAVE App can be instantiated several times (limitation is essentially the available HW)
User want to use a similar functionality on different HW resources : e.g. CAN App

Some DAVE Apps can only be instantiated once (singletons) Those App are normally limited to a resource that is only available once
E.g. Clock-App

23.03.2012

Copyright Infineon Technologies 2012. All rights reserved.

Page 12

Object Orientation of DAVE Apps


The generated code for a DAVE App is independent of the instance of the App
Each Instance of a DAVE App has a dedicated data structure Independent of number instance there are two c modules created for each App
<appname>.c contains the API <appname>Conf.c contains the data structure for each instance

When using the API in the user code the address to the data structure (handle) has to be but in the parameter list Example:
status_t = CNT001_GetEvtCountValue(&CNT001_Handle0, &variable_for_countvalue);
23.03.2012 Copyright Infineon Technologies 2012. All rights reserved. Page 13

How to get DAVE Apps / Selection of DAVE Apps


App Lib1 App Lib3

DAVE Apps will be made available as library of DAVE Apps from the web or any other media The user can search for DAVE Apps (library of DAVE Apps) from the DAVE 3 platform and can download them to his local drive The user can select the DAVE Apps from his local DAVE App store and add them to his project

http://dave.infineon.com/Libraries/DAVEApps/XMC4500/v3.0

Local App store

C:\Users\yourname\Infineon\LibraryStore

Searching and selection is support by categories and key word filters


Version management is supported
23.03.2012 Copyright Infineon Technologies 2012. All rights reserved. Page 14

Overview of Planned DAVE Apps


Service Apps DMA NVIC Peripherals Specific Apps Basic Applications Timer Middle Ware USB stack, class drivers TCP/IP stack plus HTTP, FTP, SNMP SD/MMC, file system, GUI lib plus driver for intel. LCD

I/O
EBU Flash CRC Debug Log CMSIS RTOS

CAN
USIC (I2S, I2C, UART, SPI) Simple ADC Complex ADC Delta Sigma demodulator DAC Resolver PWM Capture Counter POSIF ETH Touch

FOC motor control


Touch / HMI Modbus . Complete Solutions Web server Motor control HMI Demos ..
Page 15

23.03.2012

Copyright Infineon Technologies 2012. All rights reserved.

Architecture of the Code Generation Functionality (DAVE Apps, Device Description, Code Engine)
Code Engine (Mother System) Is the device independent interface to the user to manage all activities DAVE Apps Use case oriented SW components A DAVE Expert App consist of Manifest Required resources (URI) Provided resources (to other apps or GUI) GUI definition based on predefined widgets Code templates Documentation To develop DAVE embedded Apps a dedicated SDK (SW development kit will be provided)

Developed as plug in for an Eclipse platform:


Tasks Web Interface to find, download and select Apps Generate UI to configure, connect and compose Apps Project mgmt to add Apps based views to the SW project Resource management to solve resource requests from Apps with the target MCU modeled in the DAVE Expert Device description Data consistency management Code generation

Provided Resources

For GUI or other Apps As URI or alias URI

DAVE Device Description Resource and connection model of the target MCU
Content SFRs and SFRs bit fields in resource groups Interconnections (signals) and respective constraints Uniform Resource Identifier (URI) of mapable resource groups
23.03.2012

App Use Case Required Resources As alias URI to HW or to other Apps

Copyright Infineon Technologies 2012. All rights reserved.

Page 16

Device Description and DAVE Apps


How to get the device description of specific device ?
Devices are loaded like DAVE Apps-Lib (entire devices) from the web
http://dave.infineon.com/Libraries/DAVEApps/XMC4500/v3.0/

Relation of device description and DAVE App A device description represents a defined SW ID
Different devices can have the same SW ID as long as they are SW compatible

A DAVE App can be assigned to several SW IDs

In DAVE3
In the current implementation there is an implicit filter that only the Apps can be selected that are valid for the SW ID of the chosen device
23.03.2012 Copyright Infineon Technologies 2012. All rights reserved. Page 17

You might also like