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.

ETMLib Examples

From Texas Instruments Wiki
Jump to: navigation, search


Introduction
[edit]

This article provides the instructions for running the ETM example application on a Cortex A8 processor and the options available to excercise the different capabilities of the ETM library. The Cortex A8 does not provide the ability to trace data values, only instruction and data addresses. There are 6 different tracing options available for selection in the example. These options are enabled or disabled using definitions in the Examples\common\ETMExample.c file that are defined directly before the main function. Some examples are dependent on the configuration of previous examples to operate correctly, make sure to read the comments in the source code for dependencies. The provided executable in the Examples\bin directory has all options enabled.

  • Trace All  -  trace all instruction and data addresses
  • Start/End Trace  -  trace instruction and data addresses from the provided instruction starting address to the beginning of the instruction ending address
  • Instruction Range  -  trace instruction and data addresses from the provided low and high instruction addresses
  • Instruction Range without Data  -  trace only instruction addresses from the previous instruction range configuration
  • Instruction Range with Specific Data Address
  • Data Range  -  trace data addresses from the provided low and high address values, this is dependent on instruction trace enabled during the specified range


Requirements
[edit]

  • The project files for the libraries and examples are provided in the CCSv4 format. The library and example was imported and tested with CCSv5.1.0.09.
  • XDS560v2 System Trace connected to an EVMTCI6614 target
  • Latest Examples_X.X.zip, provided from Gforge site. Extract the zip file to \cToolsLib directory.
  • c:\temp directory must be created if it doesn't already exist.


Instructions
[edit]

  1. Start CCS and launch the target configuration for the EVMTCI6614.
  2. From the debug window, highlight the C66xx_1 core, right click and select "Connect Target"
  3. From the menu, select Tools->GEL Files
  4. From the GEL Files window, highlight the GEL Files option, then load the evmc6614lxe_v0.5 gel file. The option is also available to load the GEL file automatically from the Target Configuration file.
  5. From the menu, select Scripts->EVMTCI6614LXE MENU->Set_Pll1_983_MHz
  6. From the menu, select Scripts->EVMTCI6614LXE MENU->InitDDR3_64b_1333
  7. From the debug window, highlight the CortxA8 core, right click and select "Connect Target".
  8. From the menu, select Run->Load->Load Program...
  9. Browse to location cToolsLib\Examples\bin and select the file etm_csetb_d_A8.tci6614.out to load.
  10. Run/Resume(F8) the example.  Note: While the example runs, trace data is stored to the ETB. The data will get transferred using CIO to c:\temp\ETM_etbdata.bin.
  11. Status will be provided in the console window.


Results
[edit]

To see the ETM results in a CCS Trace Display window:

  1. Open a command window at <CCS install dir>\ccs_base\emulation\analysis\bin and execute the following:  >bin2tdf -bin c:\temp\ETM_etbdata.bin -app CToolsLib\Examples\bin\etm_csetb_d_A8.tci6614.out -sirev 3 -rcvr ETB -dcmfile c:\temp\ETM_etbdata.dcm -procid cortexa8 -sourcepaths CToolsLib\Examples\TCI6614\ETM_CSETB_Ex_A8 -output c:\temp\etmTraceEx.tdf
  2. In CCS select Tools->Trace Analyzer->Open Trace File in New View...
  3. Select file etmTraceEx.tdf from c:\temp
  4. The Trace Display window will show the results, right click on one of the column headings to select the desired additional Column Settings such as Function, Source, Disassembly, Read Address, and Write Address (Hex Number display format selected).


ETM Trace-Display.jpg

















-

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 ETMLib Examples 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 ETMLib Examples here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article ETMLib Examples here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article ETMLib Examples here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article ETMLib Examples here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article ETMLib Examples here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article ETMLib Examples here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article ETMLib Examples here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article ETMLib Examples 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