dave 3 presentation

18
Reduce SW Development Time with DAVE™ 3 March, 2012

Upload: infineon-microcontroller

Post on 24-Jun-2015

1.334 views

Category:

Technology


1 download

DESCRIPTION

Auto Code Generation SW Tool support the XMC4000 family.

TRANSCRIPT

Page 1: Dave 3 presentation

Reduce SW Development

Time with DAVE™ 3

March, 2012

Page 2: Dave 3 presentation

Why DAVE™ 3 ?

XMC 4500 Offering

• Powerful, SW-configurable peripherals

• Flexible interconnections and pin mapping options

Pressure to Engineer

• Short time to market

• Tough to get familiar with all the HW details

DAVE™3

Solution

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

Page 3: Dave 3 presentation

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 Page 3 Copyright © Infineon Technologies 2012. All rights reserved.

Page 4: Dave 3 presentation

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 Page 4 Copyright © Infineon Technologies 2012. All rights reserved.

Page 5: Dave 3 presentation

DAVE ™ 3

DAVE™ 3 is a Free Toolset for Automatic Code Generation

IDE

Code Engine

Debugger

DAVE™Apps Manager

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)

Option for third parties to plug in other

commercial or free tools

SW Components: DAVE Apps

LLD

Middle ware

RTOS

….

Any free or

commercial

solutions from

third parties GNU Compiler

3rd party

3rd party 3rd party

23.03.2012 Page 5 Copyright © Infineon Technologies 2012. All rights reserved.

Page 6: Dave 3 presentation

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 Page 6 Copyright © Infineon Technologies 2012. All rights reserved.

Page 7: Dave 3 presentation

Component Based Programming with DAVE™ Apps

e.g. PWM App

User selects and

adds a DAVE App

to his project

Selection can be done

via categories:

• Application use cases

• Supported peripherals

•……

and keyword filter

API to use the

generated code

Configuration via

a graphical UI

Configuration

options

•Init parameters

•Functionality

•….

User code call functions.

….

{

PWM_start(…);

Set_duty(…);

Set_frequency(…);

……

}

HW Signals (virtual)

to connect to other

DAVE Apps

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 Page 7 Copyright © Infineon Technologies 2012. All rights reserved.

Page 8: Dave 3 presentation

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 App

ADC start

Interrupt

App

Interrupt Request

Apps can be freely

composed by the user

23.03.2012 Page 8 Copyright © Infineon Technologies 2012. All rights reserved.

Page 9: Dave 3 presentation

PWM Example -1-

Selecting the

DAVE App

Selected DAVE App

Graphical UI to define

the initial PWM

functionality

Additional required

DAVE Apps will be

automatically included

23.03.2012 Page 9 Copyright © Infineon Technologies 2012. All rights reserved.

Page 10: Dave 3 presentation

PWM Example -2-

Signal Connection Pin Constraints

Resource Solving and

Code Generation

DAVE ™ 3 includes a resource solver that automatically assigns the chip resources

considering the available chip resources and connectivity constraints

23.03.2012 Page 10 Copyright © Infineon Technologies 2012. All rights reserved.

Page 11: Dave 3 presentation

PWM Example -3-

Generated Code

API to control

the PWM signal

23.03.2012 Page 11 Copyright © Infineon Technologies 2012. All rights reserved.

Page 12: Dave 3 presentation

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 Page 12 Copyright © Infineon Technologies 2012. All rights reserved.

Page 13: Dave 3 presentation

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 Page 13 Copyright © Infineon Technologies 2012. All rights reserved.

Page 14: Dave 3 presentation

How to get DAVE Apps / Selection of DAVE™ Apps

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

Searching and selection is support by categories and key word filters

Version management is supported

App Lib1

App Lib3

Local App store

C:\Users\yourname\Infineon\LibraryStore

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

23.03.2012 Page 14 Copyright © Infineon Technologies 2012. All rights reserved.

Page 15: Dave 3 presentation

Overview of Planned DAVE™ Apps

Service Apps

DMA

NVIC

I/O

EBU

Flash

CRC

Debug Log

CMSIS RTOS

Peripherals Specific Apps

Basic Applications

Timer

CAN

USIC (I2S, I2C, UART, SPI)

Simple ADC

Complex ADC

Delta Sigma demodulator

DAC

Resolver

PWM

Capture

Counter

POSIF

ETH

Touch

Middle Ware

USB stack, class drivers

TCP/IP stack plus HTTP,

FTP, SNMP

SD/MMC, file system,…

GUI lib plus driver for

intel. LCD

FOC motor control

Touch / HMI

Modbus

….

Complete Solutions

Web server

Motor control

HMI Demos

…..

23.03.2012 Page 15 Copyright © Infineon Technologies 2012. All rights reserved.

Page 16: Dave 3 presentation

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

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

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)

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

App Use Case

As alias URI

to HW or to other

Apps

Required Resources

Provided Resources For GUI or other Apps

As URI or alias URI

23.03.2012 Page 16 Copyright © Infineon Technologies 2012. All rights reserved.

Page 17: Dave 3 presentation

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 Page 17 Copyright © Infineon Technologies 2012. All rights reserved.

Page 18: Dave 3 presentation