ARM HARDWARE DEBUGGER Shane Mahon, Lyndsi Parker, and Drew Shafer.

Slides:



Advertisements
Similar presentations
BOUNDARY SCAN.
Advertisements

Slide 4-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 4 Computer Organization.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.
ARM development environment Modified Content Philips LPC2106 ARM chip ARM target board PSPad customised development environment Troubleshooting.
Systems Software.
ASU Real-Time Operating System. Supervised by: Dr. Mohammed Sobh.
Chap 2 System Structures.
1 Architectural Complexity: Opening the Black Box Methods for Exposing Internal Functionality of Complex Single and Multiple Processor Systems EECC-756.
© 2003 Xilinx, Inc. All Rights Reserved Debugging.
The ARM7TDMI Hardware Architecture
GALAXY Project Final project review IHP, February 4th 2011 Tools Demonstration Dr Lilian Janin, Dr Doug Edwards - University of Manchester.
Presenter : Chien-Hung Chen Tsung-Cheng Lin Kuan-Fu Kuo EICE team Open On-Chip Debugger Ch6. Design and Architecture.
1 Performed By: Khaskin Luba Einhorn Raziel Einhorn Raziel Instructor: Rivkin Ina Spring 2004 Spring 2004 Virtex II-Pro Dynamical Test Application Part.
Term Project Overview Yong Wang. Introduction Goal –familiarize with the design and implementation of a simple pipelined RISC processor What to do –Build.
Real-Time Systems Design JTAG – testing and programming.
Number One Tom Bozic Ian Nuber Greg Ramsey Henry Romero Matt Unangst.
Choice for the rest of the semester New Plan –assembler and machine language –Operating systems Process scheduling Memory management File system Optimization.
Presented by Karin Shusterman Another use of the JTAG Interface on FPGA.
1-1 Embedded Software Development Tools and Processes Hardware & Software Hardware – Host development system Software – Compilers, simulators etc. Target.
Configuration. Mirjana Stojanovic Process of loading bitstream of a design into the configuration memory. Bitstream is the transmission.
CSCE 313: Embedded Systems Multiprocessor Systems
Educational Computer Architecture Experimentation Tool Dr. Abdelhafid Bouhraoua.
Lecture 7 Lecture 7: Hardware/Software Systems on the XUP Board ECE 412: Microcomputer Laboratory.
Asst. Prof. Dr. Alper ŞİŞMAN
ECE 353 Lab B (part 1 – Overview)
Anne Mascarin DSP Marketing The MathWorks
Cortex-M3 Debugging System
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.
Oppenheimer Technologies Rick King Jonathan Creekmore.
® ChipScope ILA TM Xilinx and Agilent Technologies.
Main sponsor PicassoMonet + RembrandtMatejko + Canaletto How Debuggers Work Karl Rehmer Failures Come in Flavors Michael Nygard REST in Java Stefan Tilkov.
System Calls 1.
COMPUTER SYSTEM LABORATORY Lab10 - Sensor II. Lab 10 Experimental Goal Learn how to write programs on the PTK development board (STM32F207). 2013/11/19/
UART and UART Driver B. Ramamurthy.
National Taiwan University JTAG and Multi-ICE Speaker : 沈文中.
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
1 A Simple but Realistic Assembly Language for a Course in Computer Organization Eric Larson Moon Ok Kim Seattle University October 25, 2008.
Cosc 2150: Computer Organization
2007 Oct 18SYSC2001* - Dept. Systems and Computer Engineering, Carleton University Fall SYSC2001-Ch7.ppt 1 Chapter 7 Input/Output 7.1 External Devices.
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
NIOS II Ethernet Communication Final Presentation
Module 6: Debugging a Windows CE Image.  Overview Debug Zones IDE Debug Setup IDE Debug Commands Platform Builder Integrated Kernel Debugger Other Debugging.
S&IP Consortium Course Material Standard I/O and Core Peripherals Speaker: Tian-Sheuan Chang July, 2004.
What is µP? “An integrated circuit containing … a central processing unit (CPU) and a means to access external memory” -- (Ball 2000)
Infrastructure design & implementation of MIPS processors for students lab based on Bluespec HDL Students: Danny Hofshi, Shai Shachrur Supervisor: Mony.
L/O/G/O Input Output Chapter 4 CS.216 Computer Architecture and Organization.
Lab 2 Parallel processing using NIOS II processors
Proposal for an Open Source Flash Failure Analysis Platform (FLAP) By Michael Tomer, Cory Shirts, SzeHsiang Harper, Jake Johns
Implementation of Embedded OS Lab4 Cortex-M3 Programming.
ChibiOS/RT Demo A free embedded RTOS
9/20/6Lecture 2 - Prog Model1 MicroBaby A simple micro-controller encompassing all the basics Start this class by organizing into groups.
Teaching Digital Logic courses with Altera Technology
HCS12 Technical Training Module 15 – Break Module Slide 1 MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Compute Node Tutorial(2) Agenda Introduce to RocketIO How to build a optical link connection Backplane and cross link communications How to.
1 The user’s view  A user is a person employing the computer to do useful work  Examples of useful work include spreadsheets word processing developing.
ARM Intro.
Lab 1: Using NIOS II processor for code execution on FPGA
CS501 Advanced Computer Architecture
Computer System Laboratory
Implementation of Embedded OS
CS161 – Design and Architecture of Computer Systems
CS703 - Advanced Operating Systems
JTAG and Multi-ICE National Taiwan University
CPE/EE 428/528 VLSI Design II – Intro to Testing (Part 3)
MIPS Assembly.
JTAG, Multi-ICE and Angel
Presentation transcript:

ARM HARDWARE DEBUGGER Shane Mahon, Lyndsi Parker, and Drew Shafer

Project Objective  To implement a hardware debugger in the FPGA to communicate to the ARM processor through JTAG.  The hardware debugger will be controlled through a serial port to a separate computer running a graphical software interface.

Overview  Hardware  JTAG interface to ARM  UART interface to RS232  Bridge from UART to JTAG communication  Software  Serial communication ISA for JTAG commands  Implement debug commands  GUI interface

Teamwork Breakdown  Shane Mahon  Physical hardware to connect ARM JTAG pins to FPGA  Simulation of JTAG  Logic analyzer debug  Lyndsi Parker  JTAG interface  JTAG to UART interface  Presentation preparation  Drew Shafer  Software code  Graphical interface  UART code  Simulation of Serial and JTAG

Architecture User Interface Software Debug API RS232 UART Hardware Bridge Hardware JTAG Hardware ARM Processor

Architecture ARM Processor

Architecture ARM to FPGA Connections ARM JTAG FPGA Accessory Pins Logic Analyzer Probes

Architecture Hardware sasc_jtag_interfacejtag_topsasc_topsasc_fifo4

Architecture JTAG Hardware Reset Wait TLR DR IR RTI Complete

Length  Test Logic Reset (resets JTAG state machine on ARM)  Run Test Idle (advances ARM pipeline once)  Instruction Register  Data Register Architecture Bridge Hardware Instruction Variable Length Data

Architecture UART Hardware  Downloaded open source UART code   Began debug by creating a loopback  Code required some minor modifications

Implementation RS232

Implementation JTAG Software  Implemented Functions  Read ID Code  Bypass Register  Halt the Processor  Read/Write a Register  Read/Write Multiple Registers  Read/Write Memory  Execute a Single Instructions  Return from Halt  Code developed from JTAG-Arm9 

Implementation User Interface  Created in Visual Studio using C#

Demo: JTAG ID Code

Demo: Halting the Processor

Demo: Read/Write Registers

Demo: Execute Add Instruction

Demo: Read/Write Memory

Design Tradeoffs  JTAG data register accesses are not pipelined.  Debug instructions are not interleaved.  For simplicity in executing ARM instructions, entire scan chain was shifted although only 33 bits needed for simple instructions.

Additional Functionality  Execute code loaded from a file  View disassembly of code  Breakpoints/watch points  Block memory accesses  Standard connector for JTAG to FPGA connections

Lessons Learned  Start simulation of Verilog early  Ensure that adequate documentation is available  8 LEDs != Logic Analyzer  Never connect 16.5V directly to the ARM Processor

Backup Slides

Logic Analyzer Trace  ADDI Instruction

Logic Analyzer Trace  Bypass

Logic Analyzer Trace  IDCODE

Logic Analyzer Trace  Read Debug Status Register

Logic Analyzer Trace  Select Scan Chain

Logic Analyzer Trace  Write Debug Control Register

TLL5000 Connections FPGA BallSchematic NameFunctional Use F26FPGA_ACC4tclk G25FPGA_ACC5tms H25FPGA_ACC6tdi G26FPGA_ACC7tdo H26FPGA_ACC8trst FPGA BallSchematic NameFunctional Use M2RS232_TXtx_o M1RS232_RXrx_i N1RS232_CTScts_i M6RS232_RTSrts_o

TLL5000 Connections