Thursday, December 18, 2008

DAvE Development Tool


The Max ECU software development is done using the given Infineon DAvE tool.

What is DAvE:
DAvE is a graphical software generator to support CPU configuration and to generate the C files templates. It permits to configure each system's peripherals (timers, Watch-Dog, serial communication, CAN nodes, PWM, etc...), to configure the Ports (input, output) and the system frequency (with or without PLL, depending on our needs). Moreover DAvE generates C code directly compilable with the supported tool-chains (Keil, Tasking, ...). DAvE is free and can be downloaded from Infineon site: http://www.infineon.com/cms/en/product/channel.html?channel=db3a3043134dde6001134ee4d3b30265.
If you buy a development kit (from: http://www.ehitex.de/p_info.php?xPD=113_117&products_id=264), you'll get all what you need, included the limited version of the compiler and debuggers.
DAvE also gives you training material (called HOT, also downloadable from Infineon site).
At the end, with DAvE the MaxECU software development is really simple: you just need to know what you need to do, click some options here and there, and, if you are not sure, you can always read the linked manual instructions (it's really nice since it only shows you the register you are changing). A very nice feature is that once you have generated the code and modified it adding you own functions, you can still go back into DAvE and change some other setting. This is what I usually do: in my WHEELING project I have started without CAN since I'll add later without the need to rewrite all my own added code. The only trick, is that you must write your own code in the sections marked with:
// USER CODE BEGIN
...
// USER CODE END

Another very nice feature is that even if you start the development targeting for one specific compiler and after you like to change, you have just to go back DAvE and change the compiler option, regenerate the code and use the new selected compiler.

Compiler:
Actually I'm using the Keil tool-chain, I like since it permit simulation even without hardware board connected to PC. The simulator is also capable to show the Serial port communication and every system register or setting. So, even if something is wrong, you can still change peripheral's settings on the fly.
Last but not least, with Keil simulator you can write external scripts to stimulate the chip during the simulation, enhancing the debugging phase. As example I wrote some script to stimulate a pin with a certain frequency signal (i.e. P5.12) and then analyze software behavior at given input conditions. I did not find a way to change the input frequency on the fly, so I have to change the stimuli file and restart a simulation, but, since it is really fast, it is also affordable (I'll look to some documentation about it).

What else:
Well, the best is also to have an oscilloscope. I have a tiny USB box from xxx, is cheap and is enough for the slow signals I'm using.


ASC Setting with DAvE:



RTC Setting with DAvE:


Timers Setting with DAvE:




DAvE Generation:

2 comments:

Anonymous said...

si ma la faccia in computer graphics durnate il build del target...potevi metterci la tua!! (questo mi sa tanto di quegli hackeraggi deliranti a cui pensavamo ai tempi dell'università)

Ciao e Buon Natale
BONNY

Max said...

Forse hai ragione, ma non l'ho fatto io