Upload
infineon-microcontroller
View
1.334
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Auto Code Generation SW Tool support the XMC4000 family.
Citation preview
Reduce SW Development
Time with DAVE™ 3
March, 2012
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.
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.
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.
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.
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.
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.
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.
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.
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.
PWM Example -3-
Generated Code
API to control
the PWM signal
23.03.2012 Page 11 Copyright © Infineon Technologies 2012. All rights reserved.
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.
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.
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.
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.
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.
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.