09.12.2012 Views

Cortex-A8 Technical Reference Manual - ARM Information Center

Cortex-A8 Technical Reference Manual - ARM Information Center

Cortex-A8 Technical Reference Manual - ARM Information Center

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

14.9 Idle state control<br />

Embedded Trace Macrocell<br />

The ETM implements an idle state that must be entered before you can power down the ETM.<br />

Before entry to the idle state, the following sequence occurs:<br />

1. Trace is turned off.<br />

2. The ETM waits for all trace that has already been generated to reach the FIFO.<br />

3. The main FIFO is emptied.<br />

4. The resynchronizing FIFO is emptied.<br />

5. The ETM waits for any remaining trace on the ATB interface to be accepted.<br />

6. The resynchronizing FIFO sets the read and write pointers that is uses to zero.<br />

When in idle state, you can safely remove the power from the ck_gclke or ATCLK domain. It<br />

is recommended that you use the OS Save and Restore Registers to save the registers in the<br />

ck_gclke domain before removing the power and to restore the registers after restoring the<br />

power. See the ETM Architecture Specification for more information.<br />

Following a reset of the ck_gclke domain, the ETM is in idle state. The ETM is also in idle state<br />

when any of the following occur:<br />

• the power down bit is set to 1<br />

• the programming bit is set to 1<br />

• the ETMEN bit is cleared to 0<br />

• the OS Save and Restore Register lock is set<br />

• a WFI idle request is encountered<br />

• both the NIDEN and DBGEN inputs are LOW.<br />

The ETM Status Register reports the programming bit as set to 1 if both:<br />

• the programming bit, power down bit, or OS Save and Restore Register lock is set to 1<br />

• the ETM is in idle state.<br />

The standard method to turn off the ETM is to set the programming bit to 1 and wait for the ETM<br />

Status Register to report the programming bit as set to 1. This method ensures that the idle entry<br />

sequence is complete before you can perform more operations.<br />

If the idle request is cancelled before the idle entry sequence is complete, the ETM behaves as<br />

if the idle request is maintained until the idle entry sequence is complete. For example, if the<br />

programming bit is set to 1 and 0 in quick succession without checking the ETM Status Register,<br />

the programming bit is not cleared to 0 internally until the idle entry sequence has completed.<br />

When a WFI occurs, the processor waits for the idle entry sequence to complete before stopping<br />

the clock to the ETM.<br />

<strong>ARM</strong> DDI 0344K Copyright © 2006-2010 <strong>ARM</strong> Limited. All rights reserved. 14-22<br />

ID060510 Non-Confidential

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!