ICEPICK
From Texas Instruments Embedded Processors Wiki
Talk:Universal Serial Communication Interface (USCI) > Automatically Remove Unused Constant Variables > Accessing DSP BIOS logs without JTAG > IAR to CCS ASM Perl Script > ICEPICK
What is ICEpick?
- Dynamic scan chain management within the device (Requires debugger support)
- Ability to interface multiple cores with different frequencies (or RTCK domains)
- ICEpick serves as a chip level tap controller
What benefits does ICEpick bring?
- When cores powered down they will not affect the emulator IEEE 1149.1 (JTAG) connection because their taps are not in the scan chain. Typically, a core powered down will sever the JTAG scan chain. ICEpick solves the dynamic addition/removal of taps from the scan chain preventing the scan chain from being severed, thus enabling power aware debug.
- This is a good presentation describing the functionality of the ICEPick TAP Router (or generically refered to as JTAG Route Controller or JRC).
- For some devices, ICEPICK provides Wait_in_Reset functionality.
Frequently Asked Questions
Q: What is the difference between ICEPICK_B and ICEPICK_C?
- A: The main difference between ICEpickb and ICEpickc is that ICEpick_B has only 2 bits in the JTAG IR register as opposed to ICEpickc which has 6 bits.
ICEpick_C also supports 32 router paths as opposed to 16 on ICEpickB.
Ideally we select ICEPICK_C during the CCS setup.
Q: What is the IR length of ICEpick?
- A: It has a 6-bit IR.
Q: I am an emulator 3rd party, and I want to work with the OMAP3xxx. How do I get connected to the ARM Cortex A8?
- A: You need to setup the scan chain configration to include the ARM Cortex A8 into the scan chain. For the OMAP3xxx, you could just utilize the scan sequences to get ICEpick to setup the A8 into the scan chain. Details can be found here. Generally, the most up to date information should be in either the datasheet or the Technical Reference Manual (TRM) for the device.
Q: How do I add a device to the scan chain using ICEpick-C?
- A: A description of how to add devices to a ICEpick-C scan chain is described: Media:Router_Scan_Sequence.pdf
Q: How do I see the ICEpick registers in CCS v4?
- A: Go to "Window"-->Preferences, and check the box for "Show non-processor devices (i.e. routers like ICEPick and DAP).
Q: I am using OMAP3, are there any special features for debugging through power transitions?
- A: This is a good presentation describing the functionality of the ICEPick TAP Router (or generically refered to as JTAG Route Controller or JRC) and how to do some debugging through power state changes. Also see this wiki article on using the DAP to access registers via JTAG while the device is transitioning through power states.
Q: How can I see the reset, power and/or clock status of the JTAG sub-paths in Code Composer Studio v4?
- A: You can see the clock and power status of each and every sub path by going to View-->Properties and by clicking on each sub path. You will get a view that looks like this:
Q: What are the ICEpick ports for OMAP3?
- A: DSP is at ICEpick port 0x11, ARM A8 is off the DAP at ICEpick port 0x13 (DAP address is at: 0xd401d030 with ID: 0xd401d030) with the A8 at address 0xd4011000.
Leave a Comment
Comments
Comments on ICEPICK
Db said ...
Steve said ...
You probably need system reset, like that implemented on rev D XDS560 cables. You may want to post this question to the support forum.
--Steve 15:31, 24 August 2009 (CDT)



How can I use ICEpick to reset the ARM core on a DaVinci, OMAP3, or DA8xx chip? Actually not just the core, but all of its peripherals too.
--db 18:09, 23 August 2009 (CDT)