Some times an XScope event is lost Topic is solved

Technical questions regarding the xTIMEcomposer, xSOFTip Explorer and Programming with XMOS.
User avatar
aclassifier
Respected Member
Posts: 332
Joined: Wed Apr 25, 2012 8:52 pm

Some times an XScope event is lost

Postby aclassifier » Tue Mar 12, 2019 8:58 pm

I have some issues with XScope. By the way, I did find May and Jakobs' nice YouTube intro from 2012 [1] and also the description in Part G. Application Instrumentation and Tuning, in [2].

I find it nice to use as very low overhead printf debug with accurate timing. "Printing" with numbers is quite useful.

I find it difficult to read the values on the XScope screen, as the cursor seems to show the value of the cursor pos on the screen, it does not show the value of the curve. Is there a way to read the value instead? This is fine if the range is small, but with max values high up it makes it difficult, since the value shown does not seem to stick to the curve.

Then I open the xscope.xmt and read the values there instead. I see that XScope is sorting on End time, as User="4" starts before the two previous values:

Code: Select all

<Record Type="0" Color="0" Start="1135479750000" End="1151756300000" User="21"/>       
<Record Type="0" Color="0" Start="1151756300000" End="1151757790000" User="22"/> 
<Record Type="0" Color="0" Start="1151757790000" End="1151758050000" User="3"/>
<Record Type="1" Color="1" Start="1159099440000" End="1159099640000" User="999"/> 
<Record Type="1" Color="1" Start="1159099640000" End="1159100710000" User="1000"/> 
<Record Type="0" Color="0" Start="1151758050000" End="1159102110000" User="4"/>
<Record Type="0" Color="0" Start="1159102110000" End="1159103510000" User="41819"/>
<Record Type="0" Color="0" Start="1159103510000" End="1159105030000" User="31818"/>
999 and 1000 are just below each other in the code, no other code in between, and this time they both showed up.

I then replaced xscope_int with xscope_core_int and added an xscope_ping and I could see where these events originated. Only 999 is in the code (I commented out the 1000) - but 999 is not shown because I added a xscope_ping just above the 999 (!?):

Code: Select all

<Record Type="0" Color="0" Start="1135479660000" End="1151756280000" PC="101326" Tile="tile[8001]" LogicalCore="0" User="21"/>
<Record Type="0" Color="0" Start="1151756280000" End="1151757820000" PC="100164" Tile="tile[8001]" LogicalCore="0" User="22"/>
<Record Type="0" Color="0" Start="1151757820000" End="1151759140000" PC="100192" Tile="tile[8001]" LogicalCore="0" User="3"/>
<Record Type="200" Color="8" Start="1159099380000" End="1159099380000" User="0"/>
<Record Type="0" Color="0" Start="1151759140000" End="1159100960000" PC="70394" Tile="tile[8001]" LogicalCore="2" User="4"/>
<Record Type="0" Color="0" Start="1159100960000" End="1159103160000" PC="70592" Tile="tile[8001]" LogicalCore="2" User="41819"/>
<Record Type="0" Color="0" Start="1159103160000" End="1159105360000" PC="100532" Tile="tile[8001]" LogicalCore="0" User="31818"/>
When it works it works, and is indeed useful. But how do I learn when a number just does not show up? The events were buffered, from the docs. I think that if the events are not very close they all show up. The good thing is that I am, when I follow the code, able to detect an obvious missing event.

I am testing all this on a startKIT with XTC 14.3.3. Is this some kind of Issue that I should report?

[1] XMOS XSCOPE by XMOS / David May & Kris Jakobs (2012)
[2] xTIMEcomposer user guide by XMOS (XM009801A, 2015)
View Solution
User avatar
aclassifier
Respected Member
Posts: 332
Joined: Wed Apr 25, 2012 8:52 pm

Postby aclassifier » Tue Mar 26, 2019 6:25 pm

This problem seemed to disappear when I was lucky (wise?) to find a workaround of another problem: a curious code/machine-dependent deadlock (I believe). It became an XMOS Bug report. When the code runs well everything seems to run. (Well, nothing new in that fact)

Who is online

Users browsing this forum: No registered users and 1 guest