<!-- Start of markdown source --> #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. <iframe width="854" height="480" src="https://www.youtube.com/embed/mKxaztkCsYw" frameborder="0" allowfullscreen></iframe> #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. <!-- ===Q: How can I test just the ARM926 scan path? === *A: Use "dbgjtag -f <CCS Path>\ccboard0.dat -S pathlength -R routelist,devices=<arm9_0>" where <CCS Path> is your CCS installation path and directory for the CCBoard0.dat file and <arm9_0> is the name of the [[ICEpick]] scan path for the ARM926. This will have ICEpick add just the ARM9 to the path and test it. It should return "JTAG IR instruction path length is 28 bits", "JTAG DR bypass path-length is 5 bits". Take note of any errors reported by the tool that conflicts with that message. --> <!-- End of markdown source --> <div id="resources" align="center" style="margin-top: 4em; font-size: smaller;"> </div> <div align="center" style="margin-top: 4em; font-size: smaller;"> <a rel="license" href="https://creativecommons.org/licenses/by-nc-nd/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://software-dl.ti.com/ccs/esd/documents/web_support_v2/cc_license_icon.png" /></a><br />This work is licensed under a <a rel="license" href="https://creativecommons.org/licenses/by-nc-nd/4.0/">Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License</a>.</div> <div id="timestamp" align="center" style="margin-top: 4em; font-size: smaller;"> </div>