NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

SystemAnalyzerTutorial2C

From Texas Instruments Wiki
Jump to: navigation, search

System Analyzer Tutorial 2C[edit]

Working with System Analyzer's Count Analysis graphs[edit]

Once you've built Tutorial 2, launch your emulation target and load the program.

  • It should run to main.
  • The "System Analyzer Welcome" view should automatically open, and should say "Your system is configured to upload events while the target is running using JTAG".
  • If you have previously checked the "Do not show this again" checkbox in the System Analyzer Welcome view, you can restore its operation by opening the view manually (Window / Show View / Other... / UIA / System Analyzer Welcome

Run System Analyzer

  • Tools / System Analyzer / Live
  • Select "Until data transfer is manually paused"
  • Run


Open the GEL slider widgets:

  • Right click on the CPU in the Debug view and select "Open GEL Files View"
  • Right click on the GEL Files table, select "Load GEL...", browse to the Tutorial2 project in your workspace and select the .gel file that was installed with your project (e.g. systemAnalyzerTutorial2.gel).
  • Display the 2 GEL sliders:
  • Scripts / System Analyzer Tutorial 2 / Slider_1
  • Scripts / System Analyzer Tutorial 2 / Slider_2
  • drag Slider 2 so that it is not on top of Slider 1.
  • Note that the sliders only support positive values from 0 to 32727. The GEL files subtract 16384 from the slider position before setting the slider1Value or slider2Value variables in the target's memory to convert this into a signed value.

Run the target:

  • In the Debug View, select the CPU you loaded the project into and hit F8 (or click the green triangle button in the toolbar)

Display the Count Analysis Graph:
And you will notice that the System Analyzer "Logs" view is empty. This is because the tutorial project only logs events when you drag one of the sliders to a new position and then release it. The events are timestamped as they are logged, allowing them to be plotted on a timeline. To display a graph showing the slider values that were logged plotted on a timeline:

  • Right-click on the Logs view table and select Analyze / Count Analysis
  • In the "Analysis Feature Configuration" dialog, click "Finish" (Core or Master = ALL, Plot Against = Time)
  • In the "Count Analysis.1: Summary - All" view, right click on the table, select "Count Analysis Views / Graph"

Log some events:
Now, use the mouse to move the slider positions for Slider 1 and Slider 2.

  • The graph is automatically updated whenever System Analyzer receives a new UIAEvt_intWithKey event.
  • In this tutorial, this event is logged whenever you move one of the slider 'handles' to a new position and release it.

The "key" string that is logged as an event parameter is used by System Analyzer to determine which set of events to group each new UIAEvt_intWithKey event into.

  • The key that Slider 1 values are logged with is "Slider 1 Values. InstanceId=0x1."
  • The key that Slider 2 values are logged with is "Slider 2 Values. InstanceId=2"
  • Note that the exact same string must be used for all events that are to be treated as belonging to the same group. The strings are case sensitive and spaces and punctuation matter! For example, if some of your events added a "." to the end of the Slider 2 key and some didn't, they would be treated as two separate groups.

CountAnalysisGraph.gif

Some things to note:

  • The graph is only updated when a new event is logged.
  • The Summary view is also updated to show the min / max / average values that have been captured, as well as the number of events in each group.

The 'slope' of the line segment that connects two events depends on:

  • X: the change in position of the slider
  • Y: the elapsed time since the last event

Other display options[edit]

The ability to plot events against time is useful for monitoring individual values that change over time. Sometimes, however, it is desirable to be able to plot e.g. a frame of data, where each event value represents e.g. an audio sample that is updated every 8kHz and 80 samples are logged every 10ms frame. In this type of situation, plotting the event values against the event timestamp is not helpful since all of the values in the frame occur at roughly the same point in time. In this type of situation, it is better to plot each sample against the index in the position in the group of samples that was collected.

To display a graph showing the slider values that were logged plotted against the sample index:

  • Right-click on the Logs view table and select Analyze / Count Analysis
  • In the "Analysis Feature Configuration" dialog:
  • for "Plot Against", select "Source Sample".
  • click "Finish"
  • In the "Count Analysis.2: Summary - All" view, right click on the table, select "Count Analysis Views / Graph"

Note: you can also select this type of graph from the System Analyzer Live Parameters Dialog:
LiveParameters CountAnalysisGraph.gif

Graph Display Properties[edit]

You can change how the graph displays data by right clicking on the graph and selecting "Properties" from the context menu.

  • To change the color that is used to draw a line on the graph:
  • select "Fields" and click on the Color you wish to change.
  • Click on the ColorElispsisButton.gif button and select a new color to use.
  • Click OK.
  • To change the type of line that is used (e.g. to use a vertical line for each sample, or to show the data as a 'scatter graph' of markers'):
  • select "General"
  • click on the "Display data as" value
  • select a new display option from the drop down list that is shown.
  • Click OK.
  • To change from a linear scale for the Y-axis to a Logarithmic scale:
  • select "Axes"
  • click on the "Scale" entry under Y-Axis
  • select "Log" from the drop-down list
  • Click OK.
  • To annotate the view
  • Change the name displayed on the X-Axis or Y-Axis (Axes / Title)
  • Enter text for the "Unit" for the X-Axis or Y-Axis (Axes / Unit)

Zooming in or out on the graph[edit]

To zoom in to a region:

  • Ensure the graph view is 'in focus' by clicking on it.
  • Zoom in to an X-axis region:
  • Position the mouse over the graph either under the X-axis
  • Click and drag a selection region (shown by a dashed box) to define the region that you wish to display
  • SelectXAxisZoomRegion.gif
  • Zoom in to a Y-axis region:
  • Position the mouse over the graph to the left of the Y-axis
  • Click and drag a selection region on the Y-axis
  • When you release the mouse button, the graph is updated so that the selected region is shown on the x-axis of the graph

To zoom out, move the mouse either under the x-axis or to the left of the y-axis and use the mouse scroll button:

  • scroll the mouse down' (moving the mouse wheel towards you) to zoom out.

Known problems:[edit]

The following problems will be fixed in an upcoming release of System Analyzer:

1. The value associated with the first event that is received is plotted exactly ON the Y-axis, and cannot typically be seen. You will need to log multiple events in order to see a line drawn on the graph.
2. When a new event is received, the "Plot Against Source Sample" graph sets the maximum value of the X-axis ("Sample") to the sample index of the event that was just received. What this means is that if you log 9 values using Slider 1, the graph will be updated to show a maximum Sample index of 9 on the x-axis. If you then log 3 values using Slider 2, the maximum value of the x-axis will be set to 3. You won't be able to see event values with a Sample index between 4 and 9 until a new Slider 1 event is logged or you log a number of Slider 2 events.
Workarounds:

  • Ensure all of the events you log have the same key OR
  • Always log the same number of events for each key at the same point in your code


Next: Tutorial 3: Real-time visibility for SysBios

For more information on how to use other System Analyzer graphs and views, please check out Tutorial 3C: How to use the System Analyzer Execution Graph and Task Load Graph.

Links[edit]

E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article SystemAnalyzerTutorial2C here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article SystemAnalyzerTutorial2C here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article SystemAnalyzerTutorial2C here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article SystemAnalyzerTutorial2C here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article SystemAnalyzerTutorial2C here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article SystemAnalyzerTutorial2C here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article SystemAnalyzerTutorial2C here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article SystemAnalyzerTutorial2C here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article SystemAnalyzerTutorial2C here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity