This material exempt per Department of Commerce license exception TSU Debugging.

Slides:



Advertisements
Similar presentations
Extending Eclipse CDT for Remote Target Debugging Thomas Fletcher Director, Automotive Engineering Services QNX Software Systems.
Advertisements

UBI >> Contents Chapter 2 Software Development Tools Code Composer Essentials v3: Overview Texas Instruments Incorporated University of Beira Interior.
© 2003 Xilinx, Inc. All Rights Reserved Debugging.
© by Pearson Education, Inc. All Rights Reserved.
VirtexIIPRO FPGA Device Functional Testing In Space environment. Performed by: Mati Musry, Yahav Bar Yosef Instuctor: Inna Rivkin Semester: Winter/Spring.
The Xilinx EDK Toolset: Xilinx Platform Studio (XPS) Building a base system platform.
1-1 Embedded Software Development Tools and Processes Hardware & Software Hardware – Host development system Software – Compilers, simulators etc. Target.
1 Fast Communication for Multi – Core SOPC Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
ECE Department: University of Massachusetts, Amherst Lab 1: Introduction to NIOS II Hardware Development.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
Eclipse IDE. 2 IDE Overview An IDE is an Interactive Development Environment Different IDEs meet different needs BlueJ and DrJava are designed as teaching.
03 Using Eclipse. 2 IDE Overview An IDE is an Interactive Development Environment Different IDEs meet different needs BlueJ and DrJava are designed as.
© 2011 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
Introduction Purpose Objectives Content Learning Time
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
Silicon Labs ToolStick Development Platform
The 6713 DSP Starter Kit (DSK) is a low-cost platform which lets customers evaluate and develop applications for the Texas Instruments C67X DSP family.
Spring 2014 SILICON VALLEY UNIVERSITY CONFIDENTIAL 1 Introduction to Embedded Systems Dr. Jerry Shiao, Silicon Valley University.
Renesas Technology America Inc. 1 M16C/Tiny SKP Tutorial 2 Creating A New Project Using HEW4.
© 2005 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Software Development and Debugging Using.
© 2004 Xilinx, Inc. All Rights Reserved EDK Overview.
CCS APPS CODE COVERAGE. CCS APPS Code Coverage Definition: –The amount of code within a program that is exercised Uses: –Important for discovering code.
Introduction Purpose This course describes the process of installing the KPIT GNU toolchain on your PC. Objective Learn how easy it is to get information.
2. Introduction to the Visual Studio.NET IDE. Chapter Outline Overview of the Visual Studio.NET IDE Overview of the Visual Studio.NET IDE Menu Bar and.
Developing C/C++ applications with the Eclipse CDT David Gallardo.
Renesas Technology America Inc. 1 SKP8CMINI Tutorial 2 Creating A New Project Using HEW.
Introduction Purpose This training course covers debugging an application on an SH target in the Renesas HEW (High-performance Embedded Workshop) development.
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. e 2 Studio – Getting Started.
Debugging an Application Lab. Build/Debug Process A start Load Closest Sample “debug” into MULTI editor Cut and Paste Changes into Sample Build Modified.
Active-HDL Interfaces Debugging C Code Course 10.
9/2/ CS171 -Math & Computer Science Department at Emory University.
LAB1 Summary Zhaofeng SJTU.SOME. Embedded Software Tools CPU Logic Design Tools I/O FPGA Memory Logic Design Tools FPGA + Memory + IP + High Speed IO.
1 EDK 7.1 Tutorial -- SystemACE and EthernetMAC on Avnet Virtex II pro Development Boards Chia-Tien Dan Lo Department of Computer Science University of.
Part A Presentation Implementation of DSP Algorithm on SoC Student : Einat Tevel Supervisor : Isaschar Walter Accompanying engineer : Emilia Burlak The.
A Tutorial on Introduction to gdb By Sasanka Madiraju Graduate Assistant Center for Computation and Technology.
© 2003 Xilinx, Inc. All Rights Reserved System Simulation.
© 2004 Xilinx, Inc. All Rights Reserved Embedded Processor Design.
BridgePoint Integration John Wolfe / Robert Day Accelerated Technology.
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Advanced E 2 Studio Topics.
Bit-DSP-MicrocontrollerTMS320F2812 Texas Instruments Incorporated European Customer Training Center University of Applied Sciences Zwickau (FH)
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
CSE 351 GDB Introduction. Lab 1 Status? How is Lab 1 going? I’ll be available at the end of class to answer questions There are office hours later today.
This material exempt per Department of Commerce license exception TSU Address Management.
This material exempt per Department of Commerce license exception TSU Xilinx On-Chip Debug.
© 2004 Xilinx, Inc. All Rights Reserved Adding a Processor System to an FPGA Design.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Renesas Technology America Inc. 1 SKP8CMINI Tutorial 2 Creating A New Project Using HEW.
© 2002 IBM Corporation Transaction Processing Facility TPF Users Group Acapulco May 2004 © 2004 IBM Corporation Pete Nicholls IBM Toronto Lab TPF Toolkit.
ChibiOS/RT Demo A free embedded RTOS
Lab 9 Department of Computer Science and Information Engineering National Taiwan University Lab9 - Debugging I 2014/11/4/ 28 1.
Intoduction to Andriod studio Environment With a hello world program.
Design with Vivado IP Integrator
What's New in Visual Studio 2010 Debugging Brian Peek Senior Consultant, ASPSOFT, Inc. Microsoft MVP - C#
 Wind River Systems, Inc Chapter - 4 CrossWind.
Programming and Debugging with the Dragon and JTAG Many thanks to Dr. James Hawthorne for evaluating the Dragon system and providing the core content for.
Debugging using By: Samuel Ashby. What is debugging?  A bug is an error in either a program or the hardware itself.  Debugging is first locating and.
C Copyright © 2009, Oracle. All rights reserved. Using SQL Developer.
Development Environment
Lab 1: Using NIOS II processor for code execution on FPGA
ATS Application Programming: Java Programming
ENG3050 Embedded Reconfigurable Computing Systems
HP C/C++ Remote developer plug-in for Eclipse
Lab6 HW/SW System Debug Lab : MicroBlaze
Software Setup & Validation
Computer System Laboratory
Code Composer Essentials 3.0
Presentation transcript:

This material exempt per Department of Commerce license exception TSU Debugging

Debugging 2 Objectives After completing this module, you will be able to: Understand the basic concepts of the Eclipse IDE List Xilinx Software Development Kit (SDK) features Describe GNU Debugger (GDB) functionality Describe Xilinx Microprocessor Debugger (XMD) functionality Describe the integration of XMD and GDB with SDK

Debugging 3 Outline Software Development Kit Debugging Tools Debugging Using XPS Debugging Using SDK

Debugging 4 Java-based application development environment Based on the open-source effort by the Eclipse Consortium\ Feature-rich C/C++ code editor and compilation environment Project management Application build configuration and automatic Makefile generation Error Navigation Well-integrated environment for seamless debugging of embedded targets Source code version control Xilinx Platform Studio Software Development Kit (SDK)

Debugging 5 Xilinx Extensions to Eclipse SDK leverage on Eclipse + CDT – Project Management – Makefile builder – Code editor, Error Navigation – Debug – Search SDK value add to CDT – Debug integration using XMD – Xilinx Custom Compiler settings for PowerPC, MicroBlaze – Profiling Flow and Visualization – Productization Java Virtual Machine Platform Studio SDK Extensions C/C++ Development Perspective Eclipse platform

Debugging 6 Eclipse/CDT Frameworks Builder framework – Compiles and Links Source files – Default Build options are specified when application is created: Choice of Debug, Release, Profile configurations – User can custom build options later when developing application – Build types: Standard Make, Managed Make Launch framework – Specifies what action needs to be taken: Run (+ Profile) application or Debug application – In SDK, this is akin to the Target Connection settings Debug framework – Launches debugger (gdb), loads application and begins debug session – Debug views show information about state of debug session – Hides ugliness of debug details Search framework – Helps development of application Help System – Online help system; context-sensitive

Debugging 7 SDK Application Development Flow Create software App Project Add sources + Edit Compile + Link Generate Hardware Platform Done? Import ELF file, Download to board Debug / Profile Platform Studio SDK Yes Generate Software Platform libraries, drivers Platform Studio

Debugging 8 Workspaces and Perspectives Workspace – Location to store preferences & internal info about Projects – Transparent to SDK users – In SDK, source files not stored under Workspace Views, Editors – Basic User interface element Perspectives – Collection of functionally related views – Layout of views in a perspective can be customized according to user preference

Debugging 9 Perspectives

Debugging 10 CVS Perspective

Debugging 11 Views Eclipse Platform views: Navigator view, Tasks view, Problems view Debug views: Stack view, Variables view C/C++ views: Projects view, Outline view

Debugging 12 Opening Perspectives and Views To open a Perspective, use Window  Open Perspective To open a view, use Window  Show View If the view is already present in the current perspective, the view is highlighted

Debugging 13 Editors bracket matching syntax coloring content assist refactoring keyboard shortcuts

Debugging 14 SDK Workbench C/C++ project outline displays the elements of a project with file decorators (icons) for easy identification C/C++ editor for integrated software creation Code outline displays elements of the software file under development with file decorators (icons) for easy identification Problems, Console, Properties view lists output information associated with the software development flow

Debugging 15 Outline Software Development Kit Debugging Tools Debugging Using XPS Debugging Using SDK

Debugging 16 Introduction Debugging is an integral part of embedded systems development The debugging process is defined as testing, stabilizing, localizing, and correcting errors Two methods of debugging – Hardware debugging via a logic probe, logic analyzer, in-circuit emulator, or background debugger – Software debugging via a debugging instrument A software debugging instrument is source code that is added to the program for the purpose of debugging Debugging types – Functional debugging – Performance debugging

Debugging 17 Hardware Debugging Support ChipScope™ Pro tool cores are now included for adding to a Xilinx Platform Studio design – PLB IBA (Integrated Bus Analyzer) – OPB IBA – VIO (Virtual I/O) ChipScope Pro tool available thru donation Enables co-debug of software with GNU gdb and hardware with ChipScope Analyzer

Debugging 18 Software Debugging Support EDK supports software debugging via: – GNU Debugger (GDB) tools Unified interface for debugging and verifying MicroBlaze  and PowerPC  systems – Xilinx Microprocessor Debugger (XMD) Runs all of the hardware debugging tools and communicates with the hardware – GNU tools communicate with the hardware through XMD

GDB Functionality Target Hardware PowerPC System PPC405 Debug Port User Interface (TCP/IP) GDB Remote Protocol Host Software PowerPC-eabi-gdb Host Software Tcl/Terminal Interface XMD PPC Cycle-Accurate Instruction Set Simulator Host (TCP Socket Interface) JTAG

GDB Functionality GDB is a source-level debugger that helps you debug your program: – Start your program – Set breakpoints (make your program stop on specified conditions) – Examine what has happened, when your program encounters breakpoints Registers Memory Stack Variables Expressions – Change things in your program, so you can experiment with correcting the effects of one bug and go on to learn about another You can use GDB to debug programs written in C and C++

GDB Memory Location Assembly Instructions C Code

GDB Functionality Breakpoints can be enabled or disabled To change any memory value, simply double-click in a memory field

GDB Functionality Blue represents registers that have changed To change any value, double-click in a field

XMD Functionality User Interface Target Hardware (TCP/IP) GDB Remote Protocol JTAG PowerPC System PPC405 Debug Port Host Software PowerPC-eabi-gdb Host Software Tcl/Terminal Interface XMD PPC Cycle-Accurate Instruction Set Simulator Host (TCP Socket Interface)

XMD Functionality Xilinx Microprocessor Debug (XMD) engine – A program that facilitates a unified GDB interface – A Tool command language(TCL) interface XMD supports debugging user programs on different targets – Cycle-accurate PowerPC  processor instruction set simulator – PowerPC  system on a hardware board GDB communicates with xmd by using the Remote TCP protocol and control the corresponding targets GDB can connect to xmd on the same computer or on a remote computer on the Internet

Debugging 26 Simultaneous HW/SW Debug ChipScope™ Pro PLB & IBA cores in target ChipScope Pro Analyzer on host GDB debugger on host XMD supports simultaneous access over Xilinx parallel cables PLB/OPB IBA instantiation in XPS – Are treated like the peripheral cores IBA MDM Set breakpoint in GDB – when hit → triggers ChipScope Set trigger in ChipScope – when hit → halts CPU and debugger stops Minimal “skid-by” as cross triggering is done on chip between IBA cores and PPC & MicroBlaze debug interfaces

Debugging 27 Simultaneous HW/SW Debug XMD Xilinx Parallel Cable Active trigger when addr bus = 0xC200 Trigger out signal from IBA to CPU debug halt signal in

Debugging 28 Outline Software Development Kit Debugging Tools Debugging Using XPS Debugging Using SDK

Debugging 29 A Debugging Sample This will go through the necessary steps, generate a bitstream file, and download the file Compile with the debugging option 1 Download the bitstream 2

Debugging 30 Start XMD Set XMD Debug Options 3 This opens a connection with the hardware, indicating whether the connecting port, caches, DCR, and TLB are enabled or not Start the XMD shell 4 Set connection type and JTAG properties

Debugging 31 Start Software Debugger 5 A source code window displays A source code window displays 6 Change the code window display from SOURCE to MIXED to show C and assembly code If there are more than one application in the project then the tools will provide choice to select an application

Debugging 32 Software Debugger Connect A window displaying C and assembly code A window displaying C and assembly code 7 Select the target as Remote/TCP: XMD Select the target as Remote/TCP: XMD 8 Enter that port number that was displayed during ppc-connect

Debugging 33 Debug Program Set any breakpoints as necessary 9 Click the Run button 10 When a breakpoint is encountered, the debugger will stop 11 View the necessary windows 12 Exit debugger by typing quit in the console window

Debugging 34 Outline Software Development Kit Debugging Tools Debugging Using XPS Debugging Using SDK

Debugging 35 Debugging Using SDK Eclipse CDT XMD powerpc-eabi-gdb (or) mb-gdb JTAG / XMD protocol Xilinx custom graphical debug interface auto-launched gdb remote protocol

Debugging 36 SDK Debug Perspective The stack frame for target threads that you are debugging. Each thread in your program is represented as a node in the tree Variables, Breakpoints, and Registers views allow for viewing and real-time interaction with the view contents for more powerful debugging potential C/C++ editor highlights the location of the execution pointer, along with allowing the setting of breakpoints Code outline and disassembly view provide compiler level insight to what is occurring in the running source Console view lists output information

Debugging 37 Debugging in XPS vs SDK Debugging in XPS -Download bitstream from XPS -Launch XMD -Provide Target Connection Options -Launch GDB (Insight GUI) -Set GDB Server connection port in GDB -Download program -Begin Debugging Debugging in SDK -Download bitstream from XPS -Launch XMD -Provide Target Connection Options -Launch GDB (Insight GUI) -Set GDB Server connection port in GDB -Download program -Begin Debugging

Debugging 38 Skills Check

Debugging 39 Review Questions Into what parts of the design do debuggers provide visibility?

Debugging 40 Answers Into what parts of the design do debuggers provide visibility? – Registers – Memory – Stack – Variables – Expressions

Where Can I Learn More? Tool documentation – Embedded System Tools Guide  GNU Compiler Tools – Embedded System Tools Guide  GNU Debugger – Embedded System Tools Guide  Xilinx Microprocessor Debugger – Xilinx Platform Studio SDK Online Documentation Support website – EDK Home Page: support.xilinx.com/edk