3.4.3. Use of the Programming bit

When programming the ETM registers you must enable all the changes at the same time. For example, if you reprogram the counter it might start to count based on incorrect events, before the trigger condition has been correctly set up. In addition, the programming interface clock can be asynchronous to the ETM clock.

You can use the ETM Programming bit, Progbit, in the ETMCR, to disable all operations during programming. For more information see Main Control Register, ETMCR.

Figure 3.3 shows the procedure for using Progbit to control the programming of the ETM registers. When the Programming bit is set to 0 you must not write to registers other than the ETMCR, because this can lead to unpredictable behavior.

When setting the Programming bit, you must not change any other bits of the ETMCR. You must only change the value of bits other than the Programming bit of the ETMCR when bit [1] of the ETMSR is set to 1. ARM recommends that you use a read-modify-write procedure when modifying the ETMCR.

Figure 3.3. Programming ETM registers

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


The processor does not have to be in Debug state when programming the registers.

Copyright © 1999-2002, 2004-2009, 2011 ARM Limited. All rights reserved.ARM IHI 0014Q
Non-ConfidentialID101211