ARM Technical Support Knowledge Articles

How do I configure RVD_3.1/RVI_3.2.1 to capture ETM Trace using RVT on the PB-A8?

Applies to: PB-A8, RealView Development Suite (RVDS), RealView ICE and Trace (RVI / RVT)


The Cortex-A8 processor integrated on the PB-A8 development platform supports CoreSight Technology for trace. This Knowledge Article explains how to configure RealView Debugger v3.1 (RVD v3.1) and RealView ICE v3.2.1 (RVI v3.2.1) for external trace on the PB-A8 using the Trace Port Interface Unit (TPIU). A PB-A8 configured with Versatile Family CD v3.5 requires RealView Trace 2 (RVT2) for trace capture.

Note: In order to perform trace on the PB-A8 using an RVT1 unit, the PB-A8 Debug FPGA image needs to be updated. The Debug FPGA image is available for download from the ARM Website:

The following software must be installed in order to perform trace on the PB-A8:

  • RealView Development Suite (RVDS) v3.1 or RVDS v3.1 Pro patched to RVD build 1034 or later patch.
  • RVI v3.2.1 Firmware v3.2.1 patched to build 860.

To obtain these patches, please visit the ARM technical support web pages:

The following steps are needed to configure the RVD 3.1/RVI 3.2.1 interface to the PB-A8 development board:

RVI Configuration:

  1. Connect the RVI unit to the JTAG port located on the rear panel of the PB-A8 and the RVT probe to J54 on the PB-A8 (for up to 16-bit trace) and to J55 (for up to 32-bit trace). Note that for 32-bit trace a 32-bit dual-Mictor trace probe and an RVT2 unit are required. 
  2. Power up the PB-A8 and the RVI unit.
  3. Start RVD. Select Target → Connect to Target from the Menu. This opens the RVD connection control window.
  4. In the RVD connection control window, click on the "Add" button next to "RealView ICE". This opens the "RVConfig" window.
  5. In "RVConfig" select your RVI unit from the list displayed and click the "Connect" button.
  6. Click "Auto Configure Scan Chain" to autodetect the CoreSight system. It will result in the ARMCS-DP device being found. This device represents the Debug Access Port (DAP) in a CoreSight system.
  7. To find the debuggable devices connected to the DAP, right click on the ARMCS-DP device and select "Read CoreSight ROM table".
  8. Reorder the displayed items by using the "Move Left" and "Move Right" buttons so that they match Figure 1. This is necessary as the order of the components must match the Associations File discussed in the next step.

    RVT FAQ:scan chain PBA8
    Figure 1.
  9. Add an Associations File to describe the connections between the devices. The Associations File is available from here:

    TEXT Icon PB-A8_associations.txt
    1. Save this file in a local directory.
    2. To add the Associations File, in the "RVConfig" window click "Set Associations" button and select your Associations File. The Associations File for the scan chain specified in the previous step contains the following text:


    For further information on writing and understanding Association Files you can visit ARM Technical Support web pages:

  10. In the "RVConfig" window select the File tab, Save and Exit.

RVD Configuration:

The RVD configuration steps can be gathered in a script to be loaded in RVD. This script contains the RVD commands that perform the connection to the Coresight components and the configuration for the ETM, Funnel and TPIU registers.

An example of an RVD configuration script file which configures the PB-A8 for 16-bit trace is available here: 

    1. Save this file in a local directory.
    2. To load the Commands script file in RVD: from the main Menu navigate to Tools → Include Commands from File and browse to the location of the file.
    3. Click View → Analysis Window to open the Analysis window. Click the Edit tab and select the "Connect/Disconnect Analyzer" option.
    4. Finally load an image and run it. You should get trace output in the Analysis window.

Alternatively, you can manually configure RVD using the following steps:

  1. The RVD connection control window should now show all of the devices in the scan chain, except for the ARMCS-DP.
  2. Double click on Cortex-A8 to connect. Do the same for the ETM, Funnel, and TPIU.

    Next we will set up the registers for the ETM, TPIU, and Funnel:

  3. Open a Registers window by selecting View → Registers from the Menu. To see the registers for each of the components, use the "Cycle Connections" button from the Menu.
    RVT FAQ: Cycle Connection Button.
  4. Select the ETM and in the Registers window set the ETM CS TRACE ID register to a small non-zero value, for instance 0x55.
  5. Select the TPIU. In the Registers window set the CSTPIU CURPORTSIZE register to the required Port Width - 0x80000000 for 32-bit trace, 0x8000 for 16-bit trace, 0x80 for 8-bit trace or 0x8 for 4-bit trace.
  6. Select the Funnel. In the Registers window set the CSTF CTRL register to 0x301 to allow the ETM to output trace data through the TPIU.
  7. In the RVD window, click the "Cycle Connections" button to select the Cortex-A8 core. Click View → Analysis Window to open the Analysis window. Click the Edit tab and select the "Connect/Disconnect Analyzer" option.
  8. Load an image and run it. You should get trace output in the Analysis window. Note that to be able to see the trace output on the Analysis window you should stop the target or disable trace.

Note: For any information regarding the Coresight components configuration please refer to the Coresight Components Technical Reference Manual available at the ARM Website:

Attachments: img21045.png , , img21042.png , pb-a8_associations.txt

Article last edited on: 2009-03-02 10:28:21

Rate this article

Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential