| |||
| Home > ETM Integration Testing > Running the Trace Comparison Script | |||
The options passed to EtmCompare depend
on the configuration of your system. You must modify and use the EtmCompare.cfg configuration
file supplied in the simulator directory.
When you run simulations with the ETM Integration Kit and
use HIVECS, that causes the processor to boot from 0xFFFF0000,
you must modify EtmCompare.cfg to use:
-base 0xFFFF0000
This is necessary to enable EtmCompare to
use Decomp.pl with HIVECS.
The sections which require modification are clearly shown
within the configuration file, and must be set as appropriate. To
run the script, type EtmCompare at the command
line in the directory EtmIntKit/design/logical/tbench/<simulator>.
Here is an example of typical EtmCompare output:
EtmCompare: Revision $Revision: 1.50
$EtmCompare: Running EtmModeConv.pl -trace log.etmraw -out log.etm -mode 0
EtmCompare: Mode Conversion return code = 0
EtmCompare: Running Decomp.pl -PortSize 16 -arch ARMV4T -a -d -m log.etm rom.hex
EtmCompare: Decomp return code = 0
EtmCompare: Running Convert.pl -eis log.eis -unc log.eis_unc -eistype ARM7TDMI
EtmCompare: Convert return code = 0
EtmCompare: Comparing log.trc_unc and log.eis_unc …EtmCompare: 0 error(s)
If no errors are found, the trace comparison has been successful.
If EtmCompare indicates the ETM FIFO overflowed,
this can be because of a number of reasons.
If using a core that does not support FIFOFULL stalling (ARM7TDMI, ARM720T, ARM920T, or ARM922T), the test program inserts NOP instructions to avoid overflow. This is suited for using a medium configuration ETM.
If overflow does occur, increase the number of NOPs before the overflow occurs, which gives the ETM FIFO more time to empty. On cores that do support FIFOFULL stalling (ARM926EJ-S, ARM946E-S, and ARM966E-S), overflow indicates incorrect wiring of the ETM FIFOFULL signal.
If using a small configuration ETM, overflow is likely to
occur because LDM and STM instructions
are performed with data tracing enabled.
When the test runs to completion and the trace comparison scripts confirm the program has been correctly traced, the ETM is correctly verified.