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 15 of 20
Non Confidential
548721: Internal write buffer could be active whilst asleep
Status
Affects: product Cortex-M3, Cortex-M3 with ETM.
Fault status: Cat 3, Present in: r0p0,r1p0,r1p1,r1p1-00rel0,r1p1-01rel0, Fixed in r2p0-00rel0.
Description
If a store immediate that is marked as not strongly ordered is used immediately before a WFE or WFI then the
store may still be in progress when the core has asserted the SLEEPING signal. This will only occur if wait-
states are applied to the store operation. This will not cause a problem unless the location that the store was
accessing was using a free-running clock whilst a clock-gating cell has been used to gate FCLK to form HCLK.
Conditions
1. A store with immediate offset is executed
2. The store operation is allowed to be bufferable
3. The store is followed immediately by a WFI or WFE
4. Wait-states are used to delay the data-phase of the store
5. A clock-gate is used to produce HCLK which is gated when SLEEPING is asserted
6. The location the store was to is using a free-running version of the core clock (FCLK)
Implications
An imprecise error response could be missed if it is issued by the peripheral whilst the core is asleep when the
peripheral is not using a gated clock but the core is. The stored data will be correct as the core will hold
HWDATA at the correct value until it wakes from sleep and completes the transaction.
Workaround
A software workaround is to insert DSB instructions before any WFE and WFI instructions in the application
code.