User manual

Ride7 for ARM Debugging with Hardware Tools
- 31 -
If using the REva board with the ETM connector, you MUST remove the enable jumpers for
LEDs D4, D5, D6 and D7, because they would interfere with the trace signals. These 4 LEDs
cannot be used by the application while using the trace.
4.3.4.1 The JTAGJet trace window
Selecting option “Open Trace Window” will enable trace and open the associated window. This
window is designed by Signum, and is the same as the trace window in Signum’s Chameleon
debugger. Please refer to the Chameleon documentation for more information.
4.3.4.2 The trace IO configuration
For operating, the trace uses more pins than the simple JTAG debugging. See the ARM
documentation for more information. These pins have to be configured for trace to work, and the
user (debugged) application should take care not to change this configuration.
When using a JTAGJet with trace capability and a STR9 device, Ride7 will configure the IOs for
the trace as described in a script file. Then, whenever the trace is enabled, and at every execution
of some user code while the trace is enabled, it will check if the configuration has not been
broken by the application. If it has, Ride7 will notify you and ask you if you want it to restore the
configuration for trace, or if you want to disable the trace. If you choose to restore the trace
settings, then Ride7 will reconfigure the IOs according to the data in the script file. This could
affect your application’s behavior.
The script is located in “<Ride installation directory>\bin\STR9_ETM_IO_conf.txt”. It is
designed for the STR9 REva daughterboard, but can be modified if you are using another board.
It consists in a list of entries containing Address, Value, InitMask and CheckMask. At reset,
Ride7 will write the Value of each entry at the associated Address, masked using the associated
InitMask. When enabling the trace or after some user code execution, Ride7 will check the value
in the target device at each entry’s Address against the associated Value, masked using the
associated CheckMask.
Masks have to be used to allow the user application to use some pins other than those used by the
trace but on the same IO port. Be very careful when modifying the script. A wrong script will
prevent you from using the trace, and could prevent you from debugging at all. Always make a
copy of the original script before modifying it. Make sure you have all the necessary information
about ETM from the ARM documentation to avoid any wrong manipulation.