Tool/IDE to monitor Xmega128a1u perfomance

Go To Last Post
9 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Community,

 

I am working with Xmega128a1u that belongs to XmegaA family, is there any tool/IDE that monitors or displays the controllers performance (preferrably graphically) that covers percentage of memory used while handling with different type of functions ?

 

 

 

gud day

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

google "percepio trace atmel studio"

 

EDIT

 

and I'd be surprised if IAR don't have something - at a price ...

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
Last Edited: Wed. Apr 26, 2017 - 10:34 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Andy. Unless I'm misinterpreting:

 

http://www.atmel.com/webdoc/atme...

http://www.atmel.com/webdoc/atme...

 

that is just for analysing execution flow isn't it? OP appeared to be asking about dynamic monitoring of RAM usage. I don't think it offers that.

 

@Pravin,

 

You probably need to say what development language and, if C/C++, which variant you are using to develop because each C compiler lays things out in memory differently but in general you can do a few things:

 

1) use a fast ticking timer interrupt to take a "snapshot" of SP regularly and keep track of how low it descends. This should be able to tell you the maximum amount of stack usage. If the C compiler actually uses 2 stacks you will have to look at the value in the other registers it is using as pointer to a second stack.

 

2) while it's unlikely any AVR app will be using malloc()/free() if it does then you could regularly call a function to see how much heap is available. If the heap implementation doesn't already have this you can implement a version which just starts at the largest heap value possible and keeps making malloc() attempts and reducing the size of allocation until it succeeds.

 

3) Another technique is to have the C startup code "paint" the whole of RAm with some known pattern then run the code for a while then check to see that there are still some signs of the pattern unused between the major blocks of RAM usage.

 

4) At compile time the linker will tell you the memory it has set aside for .data and .bss variables. If you stick to making most of your variable allocations in those two then you will have a figure at compile/link time that tells you what your overall RAm usage is

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

venkatrajpravin wrote:
I am working with Xmega128a1u that belongs to XmegaA family, is there any tool/IDE that monitors or displays the controllers performance (preferrably graphically) that covers percentage of memory used while handling with different type of functions ?
Not that I'm aware of though should be able to obtain some data space usage.

The XMEGA portion of a thread :

https://www.avrfreaks.net/forum/avr-calibration-daq-toolchain#comment-2107876

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi awneil,

 

"Percepio trace atmel studio" has representation in form of traces,,is there any tool that displays graphically?? 

gud day

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Can you say first of all what parameters it is you want to visualise?

 

1) CPU usage

2) RAM usage

  2a) stack usage

  2b) heap usage

  2c) .data/.bss usage

3) code trace

4) something else?

 

but the bottom line is that for most of these things there are no GUI tools because this is not like "big systems" that show things like:

 

 

because all that is for large resource devices with multiple processes and even the small detail of requiring an operating system! On the whole most microcontrollers do not have any of this stuff and the programmer is generally in control of the assignment of resources so don't need to visualise them as she'll know everything is bound to be in safe limits.

 

It would be a fairly unwise strategy to approach MCU development with a view that all resources are infinite and then use some tool to monitor usage just to ensure you aren't actually hitting some limits!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
On the whole most microcontrollers do not have any of this stuff and the programmer is generally in control of the assignment of resources so don't need to visualise them as she'll know everything is bound to be in safe limits.
Atmel Data Visualizer may be an option.

Atmel Data Visualizer

Graph Module

http://www.atmel.com/webdoc/GUID-F897CF19-8EAC-457A-BE11-86BDAC9B59CF/index.html?GUID-CA4816CE-3BE2-4733-BDDC-326BA3EC2117

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi clawson,

 

If i am not wrong the 'big systems' that you mentioned are the systems that involve RTOS,,am i right??

 

 

 

gud day

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi clawson,

 

I wish i could visualize the xmega128a1u's RAM usage and if possible actual power consumed by the controller..

gud day