Specifications

Cortex-M3 / Cortex-M3 with ETM (AT420/AT425)
Date of Issue: 12-Nov-2008 ARM Errata Notice Document Revision 2.0
PR326-PRDC-009450 v2.0
© Copyright ARM Limited 2008. All rights reserved. Page 19 of 20
Non Confidential
Errata fixed on release r1p1-01rel0
429964: Async not generated if no trace in previous session
Status
Affects: product Cortex-M3 with ETM.
Fault status: Cat 2, Present in: r0p0,r1p0,r1p1,r1p1-00rel0, Fixed in r1p1-01rel0.
Description
The ETM is required to generate an alignment synchronisation packet as the first packet every time the
programming bit is cleared, in order to allow the tools to synchronise with the protocol stream.
If no trace is generated in a session, the A-sync packet will be correctly generated as the progbit is cleared, but
if the progbit is then set and cleared again, second and subsequent A-sync packets are not generated. No other
aspects of the trace generation are affected by this, and once any other trace packet is generated the A-sync
logic will be correctly reset.
Conditions
This erratum only occurs when the following sequence of events occurs:
1. The ETM is programmed and enabled
2. No instructions are traced
3. The ETM programming bit is set
4. The ETM programming bit is cleared.
The absence of any traced instructions can be due either to the Trace Enable conditions not being satisfied, or
the core not executing any instructions.
Implications
This erratum only affects the trace stream which is generated by the ETM. There is no impact on the normal
processing operation of the core.
The conditions which cause this erratum are expected to occur whilst debug is being performed.
The A-sync packet may be missing at the start of a trace session. All trace packets which are generated will still
be correct, and there is no corruption of the trace stream. If the A-sync from a previous session was captured, it
can be used for synchronisation.
Tools will typically fail to capture the trace relating to any bytes of trace before the next periodic A-sync packet is
seen. For short trace sessions, it is possible to lose the whole trace session.
Workaround
There is no tools workaround.
Users may attempt to work around this erratum by forcing the generation of trace packets as part of an
initialisation sequence. This is only possible if the core is not in debug state, and so may not be applicable in all
cases. With this ETM it is also possible to deduce that the first byte of trace captured after the progbit is cleared
will be the start of a packet, provided that the formatter in the TPIU is enabled.