Tools For Debugging JTAG and Power Issues on DaVinci and OMAP devices. Ning Kang & Dr. Madhav Vij Texas Instruments Software Development Organization



Similar documents
EMUL ARM. ARM Connections Nohau Corporation. All rights reserved worldwide.

Debug and Trace for Multicore SoCs How to build an efficient and effective debug and trace system for complex, multicore SoCs

System Design Issues in Embedded Processing

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

SPI Flash Programming and Hardware Interfacing Using ispvm System

ARM Ltd 110 Fulbourn Road, Cambridge, CB1 9NJ, UK.

SBC8100 Single Board Computer

Software based Finite State Machine (FSM) with general purpose processors

Command Processor for MPSSE and MCU Host Bus Emulation Modes

Extending the swsusp Hibernation Framework to ARM. Russell Dill

_ v1.0. EVB-56x Evaluation & Development Kit for Motorola PowerPC MPC56x Microcontrollers USERS MANUAL. isystem, February /8.

Application Note, V2.2.1, July 2003 AP OCDS Level 1 JTAG Connector. 16-Bit & 32-Bit Microcontrollers. AI Microcontrollers. Never stop thinking.

Quick Start Guide. TWR-MECH Mechatronics Board TOWER SYSTEM

Testing of Digital System-on- Chip (SoC)

M CORE 14-PIN ENHANCED BACKGROUND DEBUG INTERFACE (14EBDI) USER S MANUAL

M68EVB908QL4 Development Board for Motorola MC68HC908QL4

ES_LPC4357/53/37/33. Errata sheet LPC4357/53/37/33. Document information

Building an Embedded Processor System on a Xilinx Zync FPGA (Profiling): A Tutorial

DRV8312-C2-KIT How to Run Guide

AT91SAM-ICE. User Guide

The following is a summary of the key features of the ARM Injector:

Fondamenti su strumenti di sviluppo per microcontrollori PIC

What is a System on a Chip?

Hitex Germany. Application Note. ARM Debugging - Startup Behaviour after Reset

ARM Webinar series. ARM Based SoC. Abey Thomas

Analysis of Hardware and Software Approaches to Embedded In-Circuit Emulation of Microprocessors

Spectrum Digital Emulator Selection Guide 04/13/2013. Copyright x-113

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor

USER GUIDE EDBG. Description

The Advanced JTAG Bridge. Nathan Yawn 05/12/09

JTAG Applications. Product Life-Cycle Support. Software Debug. Integration & Test. Figure 1. Product Life Cycle Support

Eureka Technology. Understanding SD, SDIO and MMC Interface. by Eureka Technology Inc. May 26th, Copyright (C) All Rights Reserved

Architekturen und Einsatz von FPGAs mit integrierten Prozessor Kernen. Hans-Joachim Gelke Institute of Embedded Systems Professur für Mikroelektronik

MAX II ISP Update with I/O Control & Register Data Retention

TAP CONNECT JTAG CABLE

VisualDSP Emulation Tools Installation Guide for Windows 95/98/NT/2000

Pre-tested System-on-Chip Design. Accelerates PLD Development

ARM. series SIGNUM SYSTEMS. JTAGjet-ARM Driver for IAR Embedded Workbench. Installation Instructions

The Atmel-ICE Debugger

DKWF121 WF121-A B/G/N MODULE EVALUATION BOARD

Hello, welcome to this presentation of the low power timer, or LPTMR, module for Kinetis MCUs. In this session you ll learn about the LPTMR, it s

Hello and welcome to this presentation of the STM32L4 Firewall. It covers the main features of this system IP used to secure sensitive code and data.

Implementation Details

Embedded Development Tools

CHAPTER 1 COMMANDS FOR DEVICE MANAGEMENT...

Production Flash Programming Best Practices for Kinetis K- and L-series MCUs

National CR16C Family On-Chip Emulation. Contents. Technical Notes V

C8051F020 Utilization in an Embedded Digital Design Project Course. Daren R. Wilcox Southern Polytechnic State University Marietta, Georgia

EE8205: Embedded Computer System Electrical and Computer Engineering, Ryerson University. Multitasking ARM-Applications with uvision and RTX

ARM JTAG Interface Specifications

ARM Cortex-A9 MPCore Multicore Processor Hierarchical Implementation with IC Compiler

All Programmable Logic. Hans-Joachim Gelke Institute of Embedded Systems. Zürcher Fachhochschule

Introducing AVR Dragon

LatticeECP2/M S-Series Configuration Encryption Usage Guide

APPLICATION NOTE. AT07175: SAM-BA Bootloader for SAM D21. Atmel SAM D21. Introduction. Features

Develop a Dallas 1-Wire Master Using the Z8F1680 Series of MCUs

The Boundary Scan Test (BST) technology

An Introduction to MPLAB Integrated Development Environment

Palaparthi.Jagadeesh Chand. Associate Professor in ECE Department, Nimra Institute of Science & Technology, Vijayawada, A.P.

dbgjtag_test.txt C:\Dokumente und Einstellungen\rachid\Desktop>"C:\Programme\Texas Instruments\ccsv4\common\uscif\dbgjtag.exe" -f "C:\Programme\Texas

Complete Integrated Development Platform Copyright Atmel Corporation

XMC Modules. XMC-6260-CC 10-Gigabit Ethernet Interface Module with Dual XAUI Ports. Description. Key Features & Benefits

Using the Agilent 3070 Tester for In-System Programming in Altera CPLDs

JTAG/MPSD Emulation Technical Reference 1994

Freescale Semiconductor, Inc. Product Brief Integrated Portable System Processor DragonBall ΤΜ

ISP Engineering Kit Model 300

OpenSPARC T1 Processor

Figure 1. 8-Bit USB Debug Adapter

SKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.

E-LINK FOR ARM. E-Link User maunal / 46

Serial Communications

FlowKit in-circuit debug system

Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.

SSI-USB. Flexible Embedded Platform. Brief English Version

Open Flow Controller and Switch Datasheet

Overview of the Cortex-M3

CSE2102 Digital Design II - Topics CSE Digital Design II

AN10860_1. Contact information. NXP Semiconductors. LPC313x NAND flash data and bad block management

Software Serial Port for ROM/RAM Monitor

HVP-KV31F120M Quick Start Guide

All information, including contact information, is available on our web site Feel free also to explore our alternative products.

Hardware and Software Requirements

Quick Start Tutorial. Using the TASKING* Software Development Tools with the Intel 8x930 Family Evaluation Board

ET-BASE AVR ATmega64/128

Am186ER/Am188ER AMD Continues 16-bit Innovation

Hello, and welcome to this presentation of the STM32L4 reset and clock controller.

Trace Port Analysis for ARM7-ETM and ARM9-ETM Microprocessors

Freescale Semiconductor, I

MVME162P2. VME Embedded Controller with Two IP Slots

UNIT 4 Software Development Flow

Introduction. Getting familiar with chipkit Pi

Chapter 13. PIC Family Microcontroller

CB-OLP425 DEVELOPMENT KIT GETTING STARTED

Rapid System Prototyping with FPGAs

1 Basic Configuration of Cisco 2600 Router. Basic Configuration Cisco 2600 Router

The new 32-bit MSP432 MCU platform from Texas

USBSPYDER08 Discovery Kit for Freescale MC9RS08KA, MC9S08QD and MC9S08QG Microcontrollers User s Manual

HyperAccess Access Control System

Transcription:

Tools For Debugging JTAG and Power Issues on DaVinci and OMAP devices Ning Kang & Dr. Madhav Vij Texas Instruments Software Development Organization

Agenda JTAG Challenges for Multi-core Devices ICEPick Overview ICEPick CCS Support DBGJTAG Utility Demo Q&A

Agenda JTAG Challenges for Multi-core Devices ICEPick Overview ICEPick CCS Support DBGJTAG Utility Demo Q&A

JTAG Overview

What is the Challenge Power? Power isolation Portions of the chip are powered down when they are not being used Power isolation has serious impact on emulation JTAG TAP logic is likely to be embedded inside an isolated domain Current JTAG daisy chain topology is compromised when these discrete domains are powered down or sent to retention mode.

Domain Power Down Breaks JTAG Scan Multiple Core ASIC Misc. Power Domain MCU Power Domain DSP Power Domain MCU SubSystem DSP SubSystem Misc TAP MCU Core DSP Core TAP Logic TAP Logic Chip TAP TDO MCU TDO ntrst ntrst TCK TMS TMS TCK TDI TDO JTAG Port TDI TCK TMSnTRSTTDO

What is the Challenge Adaptive Clocking? ARM devices require resynchronization of TCK with functional clock. This resynchronization creates an RTCK clock. The serialized daisy chaining of such devices imposes severe restrictions: Does not work with a Rev.B xds560 pod or xds510 emulator unless the selected maximum TCK frequency is reduced to take account of both the slowest ARM clock in any device and the number of devices in the daisy chain. Can only be used with an adaptive clocking emulator (e.g. TI Rev.D xds560 pod) with severe performance constraints.

Agenda JTAG Challenges for Multi-core Devices ICEPick Overview ICEPick CCS Support DBGJTAG Utility Demo Q&A

Introduction to ICEPick-C Dynamic scan chain management within the device Ability to interface multiple ARM cores with different RTCK frequencies Requires debugger support of dynamic scan chain management.

Power Domains With ICEPick Multipe Core ASIC MCU Power Domain MCU SubSystem DSP Power Domain DSP SubSystem MCU Core DSP Core TAP Logic TAP Logic ICEPick TAP ICEPick Bypass Switch ICEPick Bypass Switch ICEPick Bypass Switch MCU TDO ICEPick TDO ICEPick TDI TDO JTAG Power Domain

How does ICEPick solve the power problems? The primary JTAG interface is connected to ICEPick which is a chip level tap controller. ICEPick supports dynamic insertion and removal from the scan path of debug JTAG taps which are part of MCU or DSP cores Cores which are powered down do not affect the emulator JTAG connection because their taps are not in the scan chain.

How to interface multiple ARM cores with ICEPick? Clock voting logic in ICEPick allows interfacing taps with multiple RTCK synchronisers. The TCK presented to each selected JTAG tap is based upon a consolidation of the RTCK from each selected tap.

Clock Voting (ICEPick-c) ITCK RTCK_X RTCK_Y RTCK_Z

How to use a single JTAG connection to multiple devices at board level? The suggested method involves using ICEPick-c clock voting logic in a CPLD. This method works provided that all devices are booted at the time debug is started. This method provides:- Backward compatibility with Rev B xds560 and xds510 based pods Allows for significantly better performance than daisy chaining the clocks using an adaptive clocking emulator (Rev D xds560 pod). Clock voting VHDL is available via softwaresupport@ti.com

Agenda JTAG Challenges for Multi-core Devices ICEPick Overview ICEPick CCS Support DBGJTAG Utility Demo Q&A

CCSetup - ICEPick Based Configurations ICEPick-C Attributes Subpath Router Subpath Properties of a subpath CCSetup can be used to automatically generate configuration that is used by CCS The external JTAG interface to DaVinci platform is connected to ICEPick-C ICEPick-C has two processor subpaths in DaVinci, ARM9 and C64+.

ICEPick Visualization - DaVinci Clock Status Power Status (Domain Active/Inactive or Ret/Off) ClockDownDesired Status ( clock gating transition being inhibited or not) Powerdowndesired status ( power transition being inhibited or not) InReset status (processor in warm reset or not) Reset configuration (Wait-In-Reset mode active or not)

Low Power Mode Tools Support for ICEPick New Low Power Run Feature introduced Maintain debug connection on any CPU through low power states. Allow HWBP and/or SWBP to survive between power sessions

Examples of Low Power Mode Usages OMAP3430 Cortex-a8 When using breakpoints (HWBP or SWBP) in conjunction with the MPU domain reaching OFF state then application must use debug context/save restore mechanisms. C64+ (Mid-GEM 2.0) Supports usage of SWBP across IVA OFF state. Allows debug of DSP ISR servicing interrupt waking up the domain from a low power state. If the same DSP ISR is being used for servicing a sleep request as well as a wakeup request then can set a HWBP qualified by a hardware implemented skip count feature to only halt the CPU after the skip count is reached. This works as long as the domain only reaches RETENTION mode.

Debug Code from Power Up Enable debug from device power up. This is enabled using a particular hardware configuration of the EMU0 and EMU1 JTAG header pins. This setup is supported when using the REV.D XDS560 pod. Enable debug from domain power up or boot of slave processor Possible to debug boot code of slave device. Possible to debug context restore code of CPU from reset vector when it comes out of logic OFF state.

Examples of Halt On Reset Usages DaVinci /OMAP3430 C64+ Allow debug of DSP ROM code from reset vector after C64+ is first booted in ROM boot mode. ARM9/Cortex-A8 Allow debug of ROM code from device boot. Allow debug of customer Flash code from device boot. OMAP3430/C64+ Allow debug of DSP/BIOS code from reset vector after IVA domain wakes from OFF state.

Agenda JTAG Challenges for Multi-core Devices ICEPick Overview ICEPick CCS Support DBGJTAG Utility Demo Q&A

DBGJTAG Utility A diagnostic utility for TI and 3rd-party JTAG hardware Replaces the old XDSPROBE utility Hardware tests on emulators, cables and boards Scan and frequency tests on routers and devices

DBGJTAG Utility - basics Selecting emulators (-d) Resetting emulators (-r) Selecting board config files (-f) dbgjtag.exe -d xds560 -p0 rv -f brddat\ccbrd0.dat dbgjtag.exe -d xds560 -p0 rv -f brddat\ccbrd0.dat Retrieving build-in help (-h) dbgjtag.exe -h dbgjtag.exe -h dbgjtag.exe S help dbgjtag.exe S help

DBGJTAG Utility - scan Measuring IR/DR path-lengths (-S) dbgjtag.exe -d xds560 -p0 S pathlength dbgjtag.exe -d xds560 -p0 S pathlength JTAG test-patterns (-S) dbgjtag.exe -d xds560 -p0 S integrity dbgjtag.exe -d xds560 -p0 S integrity dbgjtag.exe -d xds560 -p0 S givendata, literal=0x5533, repeat=200 dbgjtag.exe -d xds560 -p0 S givendata, literal=0x5533, repeat=200 JTAG route operations (-R) dbgjtag.exe dbgjtag.exe -d -d xds560 xds560 -p0 -p0 -S -S pathlength pathlength -f -f brddat\ccbrd0.dat brddat\ccbrd0.dat -R -R routelist, routelist, subpaths=arm+dsp subpaths=arm+dsp

DBGJTAG Utility - frequency Selecting a TCLK frequency(-f clock) dbgjtag.exe -d xds560 -p0 F clock, program=specific, frequency=10 dbgjtag.exe -d xds560 -p0 F clock, program=specific, frequency=10 Measuring a JTAG frequency(-f inform) dbgjtag.exe -d xds560 -p0 F inform, logfile=yes dbgjtag.exe -d xds560 -p0 F inform, logfile=yes Evaluating signal quality (-G range) dbgjtag.exe -d xds560 -p0 G range, lowest=2.5, highest=35 dbgjtag.exe -d xds560 -p0 G range, lowest=2.5, highest=35

Agenda JTAG Challenges for Multi-core Devices ICEPick Overview ICEPick CCS Support DBGJTAG Utility Demo Q&A

Demo DBGJTAG on DaVinci platforms ICEPick demo on OMAP device

Agenda JTAG Challenges for Multi-core Devices ICEPick Overview ICEPick CCS Support DBGJTAG Utility Demo Q&A

Tools For Debugging JTAG and Power Issues on DaVinci and OMAP devices Ning Kang ningkang@ti.com Madhav Vij mvij@ti.com

Backup Slides

IR/DR Length Table Device ICEPick ARM11 ARM9 ARM7 C64x+ C55x ETB DAP IR 6 5 4 4 38 38 4 4 DR 1 1 1 1 1 1 1 1

DBGJTAG Utility - advanced Configuring cables (-Y emupins) dbgjtag.exe -d xds560 -p0 Y emupins, jtagboot=01, powerboot=10 dbgjtag.exe -d xds560 -p0 Y emupins, jtagboot=01, powerboot=10 dbgjtag.exe -d xds560 -p0 Y jtagpins, jtagboot=01, powerboot=10 dbgjtag.exe -d xds560 -p0 Y jtagpins, jtagboot=01, powerboot=10 Controlling System Reset (-Y reset) dbgjtag.exe -d xds560 -p0 Y system, signal=pulse dbgjtag.exe -d xds560 -p0 Y system, signal=pulse Controlling JTAG state (-M jtag) dbgjtag.exe -d xds560 -p0 M jtag, goto=idle dbgjtag.exe -d xds560 -p0 M jtag, goto=idle

Board Configuration File - Overview Configuration files used by JTAG scan controller software Contains both device and variable records Describes JTAG scan paths Generated by CCS_Setup and then used by CCS and DBGJTAG utility (ccbrd0.dat) Can be hand edited independently of CCS

Board Configure File - example # config version=3.5 $ uscif # Select a TI PCI-bus XDS560 emulator ecom_drvr=xds560.out ecom_port=0x0 # TCLK Setup to use 2 MHz tclk_program=specific tclk_frequency=2 tdoedge=rise $ / @ icepick_c_0 family=icepick_c subpaths=2 & dsp address=18 default=no custom=no @ c6400plus_0 family=tms320c64plus & arm address=16 default=no custom=no @ arm9_0 family=arm9xx & / # / Label Comment Variable Device Family Sub-path