Which devices support live watches

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

This is my first venture into Cortex M0. I am developing on the D10 mini xplained. I came from 8-bitters that had live watches: I could see variables change in response to events. Now that's very powerful and sorely missed in the D10 development. I am told (FAE) that the EICE also doesn't provide live watches. The processor probably lacks support, which to me is a serious problem.

 

So.. are there Atmel M0 processors that do provide live watches? If there aren't, are there others brands that do?

This topic has a solution.

Last Edited: Tue. Dec 15, 2015 - 07:34 PM
This reply has been marked as the solution. 
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Sorry but your FAE is misinformed. The Problem is the lack of features in Atmel Studio.

 

The speed of the update is related to the tool you are using. However I have tried the D10-Xplained (EDBG) in Keil and you can have variables in the watch window that will update while running. Same for IAR although I believe you have to open a watch window that supports live updates.

 

FYI Atmel implemented the D10 based on the M0+ core and also implemented the Micro Trace Buffer. So if the tool supports it you can also get trace information smiley

 

Regards

-Chris

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

My FAE, without elaborating, denied that the EICE would resolve the live watch problem.

 

At least this has a solution. So I think I'd better move to Keil, see other post.

 

 

 

Last Edited: Fri. Dec 11, 2015 - 06:45 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The Problem is the lack of features in Atmel Studio.

Rubbish, the feature is called livewatch (http://www.atmel.com/webdoc/live...) .

 

This is (as in Keil and IAR) based on a data breakpoint that continues when it is triggered. On the SAM3, SAM4 and V7x series (CM4, CM4 and CM7), we also support breakpoints that emits events to the TPIU (meaning that it is non-intrusive, see http://www.atmel.com/webdoc/live...).

 

There is another solution as well, which is polling the variable while the core is running. We can do that for the program counter at least, and I think that, through the Percepio plugin that is bundled in Atmel Studio, that it can also set up polling on variables (not 100% sure on that one though).

 

FYI Atmel implemented the D10 based on the M0+ core and also implemented the Micro Trace Buffer. So if the tool supports it you can also get trace information smiley'

MTB does not need any debugger resources whatsoever, as it uses ram-backed storage instead. All current Atmel debuggers can use this feature on chips with the MTB block (similar to NanoTrace on UC3 for those with good memory). However, MTB does by default only branch tracing (see http://www.atmel.com/webdoc/atme... for how to use this in studio).

:: Morten

 

(yes, I work for Atmel, yes, I do this in my spare time, now stop sending PMs)

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

For the sake of demonstration....

 

(yes, it updates in "real-time")

:: Morten

 

(yes, I work for Atmel, yes, I do this in my spare time, now stop sending PMs)

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

Hmh, just checked the percepio plugin, and it want's non-intrusive datawatch (which is not available on the M0+ unfortunately)....

:: Morten

 

(yes, I work for Atmel, yes, I do this in my spare time, now stop sending PMs)

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

meolsen wrote:

Hmh, just checked the percepio plugin, and it want's non-intrusive datawatch (which is not available on the M0+ unfortunately)....

 

I'm still confused. Apparently so is my FAE :P

 

There is a "LiveWatch" window in Debug. I gave it a var (accepted only on a Pause) and then it began breaking on the line that assigns the var.

The 2nd time I cleared all breakpoints before running the program and then it didn't break after Pausing.

 

In both cases: no values and no live values. That's all on first sight.

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

Hi Morten,

 

Sorry no offensive but I have a lot of issues with Atmel Studio (where I seem to have to open and close a lot when it starts behaving badly).

 

Can you tell me why the breakpoints do not seem to get set correctly( c code to the disassembly)? Is there a configuration issue that I am missing especially if the code is inline?

 

-Chris

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

In both cases: no values and no live values. That's all on first sight.

Hmh, which device and debugger is this on?

 

Sorry no offensive but I have a lot of issues with Atmel Studio (where I seem to have to open and close a lot when it starts behaving badly).

Then maybe take that in another discussion, instead of proclaiming that we don't have a feature wink

Can you tell me why the breakpoints do not seem to get set correctly( c code to the disassembly)? Is there a configuration issue that I am missing especially if the code is inline?

Eh, not without some code to look at really. It usually comes down to optimization though (i.e you set the breakpoint on a code line that does not have any machine code generated for it). If you start a new thread, with a code example, what toolchain settings and which device you are working with, then it would be easier to answer...

:: Morten

 

(yes, I work for Atmel, yes, I do this in my spare time, now stop sending PMs)

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

I am having trouble to get the LiveWatch working with causing a crash.

1) How to have it remember the variables that are loaded in the livewatch window? They are removed every time I build and restart the debugger?

2) It tells me after two 8-bit variables are loaded in the view that I am out of resources?

3) After changing the format on one variable to hex and clicking on the next Studio 6.2 crashes. Did this a few times with the same result.

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

I tried again with an example application. Did not show values and after a few tries Studio crashed.

 

I'm using Atmel Studio 7 + D10 mini Xplained.