#Description
The ARM Ltd. ARM 9 and ARM 11 implementation of JTAG is not compliant to the IEEE1149.1 specification. This is because the user must make sure the next TCK edge to the device is not provided before the device generates a RTCK edge. This function of the Emulator is called Adaptive Clocking.
Most ARM emulators support adaptive clocking which:
- Ensures that TCK is running at the highest possible frequency no matter what the ARM clock is.
- Automatically scales TCK as the ARM clock scales.
- Ensures that chip is not presented with another TCK edge until an edge is detected on RTCK.
- TCK clock generation is essentially a NOT gate on RTCK.
- TCK is not a free-running clock.
- TCK is nearly completely out of phase with RTCK.
#Support
All XDS Debug Probes except the [XDS110](./emu_xds110.html) and the legacy XDS510 support Adaptive Clocking.
Most TI processors made after 2007 have some integrated support for adaptive clocking, thus allowing to use a fixed clock Debug Probe at a reduced speed of 10.368MHz or lower. However, keep in mind that PLL frequency reconfiguration can cause a disconnection on the JTAG chain.
Legacy Debug Probes also featured an adaptive clocking adapter sold by Spectrum Digital: [14-pin version](http://www.spectrumdigital.com/low-voltage-adapter-with-adaptive-clocking-for-ti-arm-based-processors-14-14-pin/) and [20-pin version](http://www.spectrumdigital.com/low-voltage-adapter-with-adaptive-clocking-for-ti-arm-based-processors-14-20-pin/).
- This solution is only recommended for older devices that did not integrate any adaptive clocking support into the processor (e.g. OMAP5910/12, DM6446, etc.). It is not recommended to use this adapter with newer devices that already have integrated adaptive clocking support.
Code Composer Studio fully supports Adaptive clocking devices and Debug Probes. This is configured in CCS by means of the Advanced Target Configuration Options. Please check section 7.2.1.4 of the [CCS User's Guide](../users_guide/index.html)
The short video clip below it shows how to access this tab and also experiment with the JTAG clock speeds.
#Design
Boards which have multiple devices that require adaptive clocking on a single scan chain require special attention to ensure that the connection is stable and operates at a reasonable speed.
As these devices require a RTCK signal, there are two connection methods which can be used: Series Topology and Parallel Topology with Clock voting mechanism. They differ mainly in performance and complexity and additional details can be found at the [XDS Target Connection Guide](./emu_xds_target_connection_guide.html).
The JTAG headers that are required need to feature the RTCK signal, ruling out the ubiquitous TI 14-pin header. Check the document [JTAG Connectors](./emu_jtag_connectors.html) for details.
The more modern ARM Cortex M, R, or A cores do not have RTCK. However, some devices which feature these cores may also have an ARM9 core which does require RTCK. In those cases, if the ARM9/11 core is debugged then RTCK must be properly connected - otherwise, no connection needs to be done. In any case, follow the device datasheet and TRM recommendations.