4.6. Branch broadcasting

You can enable branch broadcasting by setting bit [8] of the Main Control Register to 1. See Main Control Register, ETMCR. When this bit is set to 1, the PTM outputs the destination address for all branch instructions, including direct branch instructions. This is useful for tracing parts of a program where you do not have a code image, for example for tracing an area of self-modifying code.

When you enable branch broadcast mode, the PTM:

If you enable branch broadcasting you must not enable use of a return stack, otherwise behavior is unpredictable. See Use of a return stack for information about this option.


To use the return stack, the decompressor requires a code image, to identify whether the current waypoint is a branch, and if so, what type of branch it is. Therefore use of the return stack is not appropriate in situations where branch broadcasting is useful.

Copyright © 1999-2002, 2004-2008, 2011 ARM. All rights reserved.ARM IHI 0035B