C5500 Compiler Build Options One Use Case

Size: px
Start display at page:

Download "C5500 Compiler Build Options One Use Case"

Transcription

1 C5500 Compiler Build Options One Use Case May 2008 Page 1 Page 1 TI Internal Use Only

2 Overview These slides are the collective wisdom on C5500 Compiler Build options from a highly experienced development team within TI Many points, however, apply equally well to other TI compilers Page 2

3 Goals Understand impact of critical C compiler options with regards to: Code size CPU cycles Compare CGT 3.x vs 4.x Benchmarks performed with real world DSP algorithms, not sample code! Page 3

4 Test environment DSP Module tested (dec/enc)oding, (de)interleaving Optimized code using Viterbi HWA + hand assembly code C version: only C code, including a C model for Viterbi CGT and CCS v3.3 C55 Rev 3.0 Cycle accurate simulator Compiler options configuration set: Default None --symdebug:dwarf -O2 -mn ms No -ms No -mn No debug With O3 --symdebug:dwarf -O2 -mn --symdebug:dwarf -O2 ms -O2 ms --symdebug:dwarf O3 -mn ms Page 4

5 Notes Lots of data generated. The following slides give key take-away --symdebug:dwarf is equivalent to -g since CGT The fully qualified name is used for clarity. Page 5

6 Key Result 1: -mn option is a must-have ~7% CPU cycles improvements when combined with -O2 -g Improves debug-ability of code Minor impact on code size ~1% Available since CGT 2.70 Using the -mn (normal optimization with debug) option in conjunction with the debug option (-g) and the optimization option (-o[=0-3]) allows the compiler to perform certain optimizations that are normally disabled when compiling with the debug option. The class of optimizations affected is those which result in "code motion", that is, a re-organization of the generated code for a series of source statements such that the order of the generated code does not occur in the same sequence as the source code. Such re-organization can result in various performance improvements such as allowing additional parallelism in the object code. The price of the resulting improved performance is that the debugger may sometimes behave in curious ways. For example, when doing single assembly steps in the debugger, the highlighting bar in the source window may jump wildly from one source line to another rather than proceeding through the expected sequence of source lines. Page 6

7 No mn for C6000 Users C6000 Compiler Does Not Support mn Use --optimize_with_debug instead Undocumented option Available since v5.1.0 Page 7

8 Key result 2: -ms usage for CGT 4.x -ms definition changes in CGT 4.x. It takes a new numerical argument to indicate how strong the user's preference is for optimizing for space rather than speed. -ms with no argument is equivalent to -ms3 The -ms value may also determine the degree to which certain optimizations are applied. For example, placing instructions in parallel improves the performance of the code, but results in an additional byte of code. At -ms3 (total commitment to space savings) no instructions will be placed in parallel resulting in space savings but with a likely price of slower execution. At -ms2 instructions will be placed in parallel only if they occur inside a loop. This allows space to be saved in straight line code without slowing down looping code (which is likely to determine the overall program performance). The following table summarizes the -ms[=0-3] option: Option Strategy Examples no -ms total commitment All loop optimizations regardless of impact to speed on size -ms0 speed more critical Loop optimizations with larger size cost -ms1 speed critical Loop optimizations with modest size cost -ms2 size more critical Parallel instruction pairs only in loops -ms3 total commitment No parallel instruction pairs to size Page 8

9 Key result 2: -ms usage for CGT 4.x (2) CPU cycles in bytes Effects of msn vary between modules Typically adjust for control code vs. algorithm code Page 9

10 Miscellaneous results: -O2 and ms to be removed in assembler options -O3 is not as good as expected. This option would provide better results if used with -pm to allow program-level optimizations. This is not supported by our current build system. Page 10

11 Debug-ability When using compiler optimizations it can become difficult to debug source code with CCS PC arrow jumping randomly from one statement to the other PC arrow skipping C statement Using -mn improves debug-ability: No debug for C, sym:dwarf for ASM only, no -mn No debug for C, No debug for ASM, no - mn Debug for C, No debug for ASM, -mn, -s sym:dwarf debug for C, sym:dwarf for ASM, no -mn sym:dwarf debug for C, sym:dwarf for ASM, -mn, no -ms Breakpoint in ASM Breakpoint in C Stepping in ASM Stepping in C Profiling Memory window for globals Mixed Mode Watch Window Yes yes at the Yes No, no yes yes Yes Issues top of the step into C function only. Yes yes at the No No, no yes yes Yes Issues top of the step into C function only. yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes Page 11

12 Conclusion Recommend options for best overall performance for C55 : --symdebug:dwarf -O2 -mn ms Page 12

Josh Wisniewski Development Tools Subcommittee

Josh Wisniewski Development Tools Subcommittee z/tpf V1.1 TPF Users Group - Spring 2009 TPF Debugger Update Name: Venue: Josh Wisniewski Development Tools Subcommittee AIM Enterprise Platform Software IBM z/transaction Processing Facility Enterprise

More information

Integrated Software Environment. Part 2

Integrated Software Environment. Part 2 Integrated Software Environment Part 2 Operating Systems An operating system is the most important software that runs on a computer. It manages the computer's memory, processes, and all of its software

More information

Reverse Engineering with IDA Pro. CS4379/5375 Software Reverse Engineering Dr. Jaime C. Acosta

Reverse Engineering with IDA Pro. CS4379/5375 Software Reverse Engineering Dr. Jaime C. Acosta 1 Reverse Engineering with IDA Pro CS4379/5375 Software Reverse Engineering Dr. Jaime C. Acosta 2 Reversing Techniques Static Analysis Dynamic Analysis 3 Reversing Techniques Static Analysis (e.g., strings,

More information

DSP Mapping, Coding, Optimization

DSP Mapping, Coding, Optimization DSP Mapping, Coding, Optimization On TMS320C6000 Family using CCS (Code Composer Studio) ver 3.3 Started with writing a simple C code in the class, from scratch Project called First, written for C6713

More information

Using Visual Studio.NET: IntelliSense and Debugging

Using Visual Studio.NET: IntelliSense and Debugging DRAFT Simon St.Laurent 3/1/2005 2 Using Visual Studio.NET: IntelliSense and Debugging Since you're going to be stuck using Visual Studio.NET anyway, at least for this edition of the.net Compact Framework,

More information

Introduction to EZ430 RF2500

Introduction to EZ430 RF2500 Michigan State University Introduction to EZ430 RF2500 ECE480 Design Team 8 Daniel Sun 3/17/2015 Introduction The EZ430 RF2500 is an TI product that allows the user to practice real time control programming

More information

NEW CEIBO DEBUGGER. Menus and Commands

NEW CEIBO DEBUGGER. Menus and Commands NEW CEIBO DEBUGGER Menus and Commands Ceibo Debugger Menus and Commands D.1. Introduction CEIBO DEBUGGER is the latest software available from Ceibo and can be used with most of Ceibo emulators. You will

More information

Supplement: Visual C++ Debugging

Supplement: Visual C++ Debugging Supplement: Visual C++ Debugging For Introduction to C++ Programming By Y. Daniel Liang Note: The screen shots are taken from VC++ 2010. It is the same for the later version. 1 Introduction The debugger

More information

STM32 Ecosystem Workshop. T.O.M.A.S Team

STM32 Ecosystem Workshop. T.O.M.A.S Team STM32 Ecosystem Workshop T.O.M.A.S Team After successful code generation by STM32CubeMX this is the right time to import it into SW4STM32 toolchain for further processing 2 Handling the project in SW4STM32

More information

Using loops and debugging code

Using loops and debugging code Using loops and debugging code Chapter 7 Looping your code pp. 103-118 Exercises 7A & 7B Chapter 8 Fixing Bugs pp. 119-132 Exercise 8 Chapter 7 Looping your code Coding a For loop Coding a Do loop Chapter

More information

Software Setup and Introductory Assembly programs for the MSP430 *

Software Setup and Introductory Assembly programs for the MSP430 * OpenStax-CNX module: m15976 1 Software Setup and Introductory Assembly programs for the MSP430 * Texas Instruments This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution

More information

Under the Compiler's Hood: Supercharge Your PLAYSTATION 3 (PS3 ) Code. Understanding your compiler is the key to success in the gaming world.

Under the Compiler's Hood: Supercharge Your PLAYSTATION 3 (PS3 ) Code. Understanding your compiler is the key to success in the gaming world. Under the Compiler's Hood: Supercharge Your PLAYSTATION 3 (PS3 ) Code. Understanding your compiler is the key to success in the gaming world. Supercharge your PS3 game code Part 1: Compiler internals.

More information

IRIX is moving in the n32 direction, and n32 is now the default, but the toolchain still supports o32. When we started supporting native mode o32 was

IRIX is moving in the n32 direction, and n32 is now the default, but the toolchain still supports o32. When we started supporting native mode o32 was Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Fall 2002 Handout 23 Running Under IRIX Thursday, October 3 IRIX sucks. This handout describes what

More information

CUDA Development Using NVIDIA Nsight, Eclipse Edition. David Goodwin

CUDA Development Using NVIDIA Nsight, Eclipse Edition. David Goodwin CUDA Development Using NVIDIA Nsight, Eclipse Edition David Goodwin NVIDIA Nsight Eclipse Edition CUDA Integrated Development Environment Project Management Edit Build Debug Profile SC'12 2 Powered By

More information

Chapter 12 Visual Program Debugger

Chapter 12 Visual Program Debugger Chapter 12 Visual Program Debugger In the previous chapter on programs a section titled Getting programs to do what you want discussed using the log to trace how programs execute. That is a useful technique

More information

CCStudio 3.1 Migration and Key Improvements. Last Modified: 3 April 2008

CCStudio 3.1 Migration and Key Improvements. Last Modified: 3 April 2008 CCStudio 3.1 Migration and Key Improvements Last Modified: 3 April 2008 Agenda Migration Issues for CCS 3.1 Key Fixes/Improvements in CCS 3.1 Migration Issues Path/Name Changes CSL no longer integrated

More information

Lab-1: Profiling/Optimizing Video Decoder Using ADS. National Chiao Tung University Chun-Jen Tsai 3/3/2011

Lab-1: Profiling/Optimizing Video Decoder Using ADS. National Chiao Tung University Chun-Jen Tsai 3/3/2011 Lab-1: Profiling/Optimizing Video Decoder Using ADS National Chiao Tung University Chun-Jen Tsai 3/3/2011 Profiling MPEG-4 SP Decoder Goal: Profiling and optimizing the MPEG-4 video decoder, m4v_dec Tasks:

More information

April 4, 2001: Debugging Your C24x DSP Design Using Code Composer Studio Real-Time Monitor

April 4, 2001: Debugging Your C24x DSP Design Using Code Composer Studio Real-Time Monitor 1 This presentation was part of TI s Monthly TMS320 DSP Technology Webcast Series April 4, 2001: Debugging Your C24x DSP Design Using Code Composer Studio Real-Time Monitor To view this 1-hour 1 webcast

More information

M16C/62P QSK QSK62P Plus Tutorial 1. Software Development Process using HEW4

M16C/62P QSK QSK62P Plus Tutorial 1. Software Development Process using HEW4 M16C/62P QSK QSK62P Plus Tutorial 1 Software Development Process using HEW4 Overview The following tutorial is a brief introduction on how to develop and debug programs using HEW4 (Highperformance Embedded

More information

Laboratorio di Tecnologie dell'informazione

Laboratorio di Tecnologie dell'informazione Laboratorio di Tecnologie dell'informazione Ing. Marco Bertini bertini@dsi.unifi.it http://www.micc.unifi.it/bertini/ Building a Hello world with Eclipse Use the project wizard File > New > C++ Project

More information

PRU Firmware Development. Building Blocks for PRU Development: Module 2

PRU Firmware Development. Building Blocks for PRU Development: Module 2 PRU Firmware Development Building Blocks for PRU Development: Module 2 Agenda TI PRU Code Generation Tools PRU Register Header Files Development & Debug Options TI PRU Code Generation Tools Building Blocks

More information

CS 1313 Spring 2000 Lecture Outline

CS 1313 Spring 2000 Lecture Outline 1. What is a Computer? 2. Components of a Computer System Overview of Computing, Part 1 (a) Hardware Components i. Central Processing Unit ii. Main Memory iii. The Bus iv. Loading Data from Main Memory

More information

FR Family MB Emulator System Getting Started Guide

FR Family MB Emulator System Getting Started Guide FR Family MB2198-01 Emulator System Getting Started Guide Doc. No. 002-05222 Rev. *A Cypress Semiconductor 198 Champion Court San Jose, CA 95134-1709 http://www.cypress.com Copyrights Copyrights Cypress

More information

System Debug. This material exempt per Department of Commerce license exception TSU Xilinx, Inc. All Rights Reserved

System Debug. This material exempt per Department of Commerce license exception TSU Xilinx, Inc. All Rights Reserved System Debug This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: Describe GNU Debugger (GDB) functionality Describe Xilinx

More information

Section 2 Introduction to VisualDSP++

Section 2 Introduction to VisualDSP++ Section 2 Introduction to VisualDSP++ 2-1 a VisualDSP++ 4.0 VisualDSP++ is an integrated development environment that enables efficient management of projects. Key Features Include: Editing Building Compiler,

More information

The X86 Assembly Language Instruction Nop Means

The X86 Assembly Language Instruction Nop Means The X86 Assembly Language Instruction Nop Means As little as 1 CPU cycle is "wasted" to execute a NOP instruction (the exact and other "assembly tricks", as explained also in this thread on Programmers.

More information

When the AT breakpoint is reached, the AT Display screen shows your sourceless program in dump format.

When the AT breakpoint is reached, the AT Display screen shows your sourceless program in dump format. Xpediter Sourceless Debugging The typical Xpediter test begins by compiling your application program with the Compuware language processor. This process creates a source listing that allows you to interactively

More information

CS354 gdb Tutorial Written by Chris Feilbach

CS354 gdb Tutorial Written by Chris Feilbach CS354 gdb Tutorial Written by Chris Feilbach Purpose This tutorial aims to show you the basics of using gdb to debug C programs. gdb is the GNU debugger, and is provided on systems that

More information

Changing the Embedded World TM. Module 3: Getting Started Debugging

Changing the Embedded World TM. Module 3: Getting Started Debugging Changing the Embedded World TM Module 3: Getting Started Debugging Module Objectives: Section 1: Introduce Debugging Techniques Section 2: PSoC In-Circuit Emulator (ICE) Section 3: Hands on Debugging a

More information

The Road to CCSv4. Status Update

The Road to CCSv4. Status Update The Road to CCSv4 Status Update Code Composer Studio v4 Summary What is it? Major upgrade to CCS Major architectural changes Based on Eclipse open source software framework New registration/licensing/updating

More information

Building a Salvo Application with Quadravox's AQ430 Development Tools

Building a Salvo Application with Quadravox's AQ430 Development Tools AN-18 Application Note 750 Naples Street San Francisco, CA 94112 (415) 584-6360 http://www.pumpkininc.com Building a Salvo Application with Quadravox's AQ430 Development Tools Introduction This Application

More information

Laurent Lemaitre (F)

Laurent Lemaitre   (F) Laurent Lemaitre www.noovela.com (F) General considerations about compact modeling a need for standardization Introduce compact modeling and SPICE3 kit SPICE3 kit using C language SPICE3 kit using Verilog-AMS

More information

11Debugging and Handling. C# Programming: From Problem Analysis to Program Design 2nd Edition. David McDonald, Ph.D. Director of Emerging Technologies

11Debugging and Handling. C# Programming: From Problem Analysis to Program Design 2nd Edition. David McDonald, Ph.D. Director of Emerging Technologies 11Debugging and Handling 11Exceptions C# Programming: From Problem Analysis to Program Design 2nd Edition David McDonald, Ph.D. Director of Emerging Technologies Chapter Objectives Learn about exceptions,

More information

Choosing a Micro for an Embedded System Application

Choosing a Micro for an Embedded System Application Choosing a Micro for an Embedded System Application Dr. Manuel Jiménez DSP Slides: Luis Francisco UPRM - Spring 2010 Outline MCU Vs. CPU Vs. DSP Selection Factors Embedded Peripherals Sample Architectures

More information

A Quick Introduction to MPLAB SIM

A Quick Introduction to MPLAB SIM A Quick Introduction to MPLAB SIM Welcome to this web seminar, A Quick Introduction to MPLAB SIM. My name is Darrel Johansen and I m a manager in the Development Tools group at Microchip. Page 1 What Is

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation 1 Objectives To introduce software verification and validation and to discuss the distinction between them To describe the program inspection process and its role in V & V To

More information

Using the KD30 Debugger

Using the KD30 Debugger ELEC3730 Embedded Systems Tutorial 3 Using the KD30 Debugger 1 Introduction Overview The KD30 debugger is a powerful software tool that can greatly reduce the time it takes to develop complex programs

More information

1 Introduction to MARS

1 Introduction to MARS 1 Introduction to MARS 1.1 Objectives After completing this lab, you will: Get familiar with the MARS simulator Learn how to assemble, run, and debug a MIPS program 1.2 The MARS Simulator MARS, the MIPS

More information

CS 270 Systems Programming. Debugging Tools. CS 270: Systems Programming. Instructor: Raphael Finkel

CS 270 Systems Programming. Debugging Tools. CS 270: Systems Programming. Instructor: Raphael Finkel Debugging Tools CS 270: Systems Programming Instructor: Raphael Finkel Gdb: The Gnu debugger It runs on most computers and operating systems. It allows you to examine a running executable program. It does

More information

ECE QNX Real-time Lab

ECE QNX Real-time Lab Department of Electrical & Computer Engineering Concordia University ECE QNX Real-time Lab User Guide Dan Li 9/12/2011 User Guide of ECE Real-time QNX Lab Contents 1. About Real-time QNX Lab... 2 Contacts...

More information

_ V Renesas R8C In-Circuit Emulation. Contents. Technical Notes

_ V Renesas R8C In-Circuit Emulation. Contents. Technical Notes _ V9.12. 225 Technical Notes Renesas R8C In-Circuit Emulation This document is intended to be used together with the CPU reference manual provided by the silicon vendor. This document assumes knowledge

More information

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

All information, including contact information, is available on our web site   Feel free also to explore our alternative products. _ V1.1 POD Hardware Reference Intel 80186 EA POD POD rev. D Ordering code IC20011-1 Thank you for purchasing this product from isystem. This product has been carefully crafted to satisfy your needs. Should

More information

Training Simulator and Demo Software

Training Simulator and Demo Software Training Simulator and Demo Software TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Training... Training Simulator and Demo Software... 1 About the Demo... 2 Starting the TRACE32 Simulator...

More information

Exercise Session 6 Computer Architecture and Systems Programming

Exercise Session 6 Computer Architecture and Systems Programming Systems Group Department of Computer Science ETH Zürich Exercise Session 6 Computer Architecture and Systems Programming Herbstsemester 2016 Agenda GDB Outlook on assignment 6 GDB The GNU Debugger 3 Debugging..

More information

Prerequisites for Eclipse

Prerequisites for Eclipse Prerequisites for Eclipse 1 To use Eclipse you must have an installed version of the Java Runtime Environment (JRE). The latest version is available from java.com/en/download/manual.jsp Since Eclipse includes

More information

The ThreadX C-SPY plugin

The ThreadX C-SPY plugin The ThreadX C-SPY plugin Introduction to the ThreadX Debugger Plugin for the IAR Embedded Workbench C-SPY Debugger This document describes the IAR C-SPY Debugger plugin for the ThreadX RTOS. The ThreadX

More information

Debugging in Small Basic is the process of analysing a program to detect and fix errors or improve functionality in some way.

Debugging in Small Basic is the process of analysing a program to detect and fix errors or improve functionality in some way. How to Debug Introduction Debugging in Small Basic is the process of analysing a program to detect and fix errors or improve functionality in some way. In order to debug a program it must first compile

More information

C Programming in Atmel Studio 7 Step by Step Tutorial

C Programming in Atmel Studio 7 Step by Step Tutorial C Programming in Atmel Studio 7 Step by Step Tutorial Sepehr Naimi NicerLand.com 1/1/017 Contents Introduction... Downloading and Installing Atmel Studio... 3 Opening Atmel Studio... 3 Creating the first

More information

Intro to Segmentation Fault Handling in Linux. By Khanh Ngo-Duy

Intro to Segmentation Fault Handling in Linux. By Khanh Ngo-Duy Intro to Segmentation Fault Handling in Linux By Khanh Ngo-Duy Khanhnd@elarion.com Seminar What is Segmentation Fault (Segfault) Examples and Screenshots Tips to get Segfault information What is Segmentation

More information

Assembly Programming in Atmel Studio 7 Step by Step Tutorial

Assembly Programming in Atmel Studio 7 Step by Step Tutorial Assembly Programming in Atmel Studio 7 Step by Step Tutorial Sepehr Naimi BIHE University 12/1/2017 Contents Introduction... 2 Downloading and Installing Atmel Studio... 3 Opening Atmel Studio... 3 Creating

More information

An Introduction to Komodo

An Introduction to Komodo An Introduction to Komodo The Komodo debugger and simulator is the low-level debugger used in the Digital Systems Laboratory. Like all debuggers, Komodo allows you to run your programs under controlled

More information

Cost of Your Programs

Cost of Your Programs Department of Computer Science and Engineering Chinese University of Hong Kong In the class, we have defined the RAM computation model. In turn, this allowed us to define rigorously algorithms and their

More information

WIND RIVER DIAB COMPILER

WIND RIVER DIAB COMPILER AN INTEL COMPANY WIND RIVER DIAB COMPILER Boost application performance, reduce memory footprint, and produce high-quality, standards-compliant object code for embedded systems with Wind River Diab Compiler.

More information

Programs. Function main. C Refresher. CSCI 4061 Introduction to Operating Systems

Programs. Function main. C Refresher. CSCI 4061 Introduction to Operating Systems Programs CSCI 4061 Introduction to Operating Systems C Program Structure Libraries and header files Compiling and building programs Executing and debugging Instructor: Abhishek Chandra Assume familiarity

More information

Could you make the XNA functions yourself?

Could you make the XNA functions yourself? 1 Could you make the XNA functions yourself? For the second and especially the third assignment, you need to globally understand what s going on inside the graphics hardware. You will write shaders, which

More information

Micetek International Inc. Professional Supplier for PowerPC Development Tools

Micetek International Inc. Professional Supplier for PowerPC Development Tools Introduction of Micetek PowerPC development tools (2009) Freescale PowerPC processors are ideal for RISC embedded application. With excellent performance, high level of integration and advanced technology,

More information

Mechatronics Laboratory Assignment #1 Programming a Digital Signal Processor and the TI OMAPL138 DSP/ARM

Mechatronics Laboratory Assignment #1 Programming a Digital Signal Processor and the TI OMAPL138 DSP/ARM Mechatronics Laboratory Assignment #1 Programming a Digital Signal Processor and the TI OMAPL138 DSP/ARM Recommended Due Date: By your lab time the week of January 29 th Possible Points: If checked off

More information

ECE2049 Embedded Computing in Engineering Design. Lab #0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio

ECE2049 Embedded Computing in Engineering Design. Lab #0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio ECE2049 Embedded Computing in Engineering Design Lab #0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio In this lab you will be introduced to the Code Composer Studio

More information

Debugging with System Analyzer. Todd Mullanix TI-RTOS Apps Manager Oct. 15, 2017

Debugging with System Analyzer. Todd Mullanix TI-RTOS Apps Manager Oct. 15, 2017 Debugging with System Analyzer Todd Mullanix TI-RTOS Apps Manager Oct. 15, 2017 Abstract In software engineering, tracing involves a specialized use of logging to record information about a program's execution.

More information

1.2 - Introduction to the IAR Workbench IDE *

1.2 - Introduction to the IAR Workbench IDE * OpenStax-CNX module: m13621 1 1.2 - Introduction to the IAR Workbench IDE * Naren Anand Based on Introduction to CrossStudio MSP430 IDE by Kileen Cheng This work is produced by OpenStax-CNX and licensed

More information

Process Context & Interrupts. New process can mess up information in old process. (i.e. what if they both use the same register?)

Process Context & Interrupts. New process can mess up information in old process. (i.e. what if they both use the same register?) 1 Process Context 1.1 What is context? A process is sometimes called a task, subroutine or program. Process context is all the information that the process needs to keep track of its state. Registers Temporary

More information

Fundamentals of ADS. Environment: Windows /Visual C++ Introduction

Fundamentals of ADS. Environment: Windows /Visual C++ Introduction Fundamentals of ADS Environment: Windows /Visual C++ Introduction This overview of an ADS development environment for Microsoft Visual C++ is for the participants in the Autodesk Training Department's

More information

3 TUTORIAL. In This Chapter. Figure 1-0. Table 1-0. Listing 1-0.

3 TUTORIAL. In This Chapter. Figure 1-0. Table 1-0. Listing 1-0. 3 TUTORIAL Figure 1-0. Table 1-0. Listing 1-0. In This Chapter This chapter contains the following topics: Overview on page 3-2 Exercise One: Building and Running a C Program on page 3-4 Exercise Two:

More information

Laboratory Assignment #4 Debugging in Eclipse CDT 1

Laboratory Assignment #4 Debugging in Eclipse CDT 1 Lab 4 (10 points) November 20, 2013 CS-2301, System Programming for Non-majors, B-term 2013 Objective Laboratory Assignment #4 Debugging in Eclipse CDT 1 Due: at 11:59 pm on the day of your lab session

More information

STM32L100C-Discovery Board Projects

STM32L100C-Discovery Board Projects STM32L100C-Discovery Board Projects Keil Microcontroller Development Kit for ARM (MDK-ARM) Version 5.xx As illustrated in Figure 1, MDK-ARM Version 5.xx (µvision5) comprises a set of core functions: Integrated

More information

Cortex-M3/M4 Software Development

Cortex-M3/M4 Software Development Cortex-M3/M4 Software Development Course Description Cortex-M3/M4 software development is a 3 days ARM official course. The course goes into great depth and provides all necessary know-how to develop software

More information

Exploring Performance Tradeoffs in a Sudoku SAT Solver CS242 Project Report

Exploring Performance Tradeoffs in a Sudoku SAT Solver CS242 Project Report Exploring Performance Tradeoffs in a Sudoku SAT Solver CS242 Project Report Hana Lee (leehana@stanford.edu) December 15, 2017 1 Summary I implemented a SAT solver capable of solving Sudoku puzzles using

More information

Recursive Search with Backtracking

Recursive Search with Backtracking CS 311 Data Structures and Algorithms Lecture Slides Friday, October 2, 2009 Glenn G. Chappell Department of Computer Science University of Alaska Fairbanks CHAPPELLG@member.ams.org 2005 2009 Glenn G.

More information

CSCI0330 Intro Computer Systems Doeppner. Lab 02 - Tools Lab. Due: Sunday, September 23, 2018 at 6:00 PM. 1 Introduction 0.

CSCI0330 Intro Computer Systems Doeppner. Lab 02 - Tools Lab. Due: Sunday, September 23, 2018 at 6:00 PM. 1 Introduction 0. CSCI0330 Intro Computer Systems Doeppner Lab 02 - Tools Lab Due: Sunday, September 23, 2018 at 6:00 PM 1 Introduction 0 2 Assignment 0 3 gdb 1 3.1 Setting a Breakpoint 2 3.2 Setting a Watchpoint on Local

More information

With Fixed Point or Floating Point Processors!!

With Fixed Point or Floating Point Processors!! Product Information Sheet High Throughput Digital Signal Processor OVERVIEW With Fixed Point or Floating Point Processors!! Performance Up to 14.4 GIPS or 7.7 GFLOPS Peak Processing Power Continuous Input

More information

Lab Exercise 1 Using EGit and JUnit

Lab Exercise 1 Using EGit and JUnit Lab Exercise 1 Using EGit and JUnit This lab exercise will get you familiar with following: EGit, an Eclipse plug-in to use to a distributed version control system called Git. JUnit, a unit testing framework

More information

Using the DSK In CalPoly EE Courses - Dr Fred DePiero

Using the DSK In CalPoly EE Courses - Dr Fred DePiero Using the DSK In CalPoly EE Courses - Dr Fred DePiero The DSK by Texas Instruments is a development platform for DSP applications. The platform includes Code Composer Studio (CCS) with a high performance

More information

CIS192 Python Programming

CIS192 Python Programming CIS192 Python Programming Graphical User Interfaces Robert Rand University of Pennsylvania December 03, 2015 Robert Rand (University of Pennsylvania) CIS 192 December 03, 2015 1 / 21 Outline 1 Performance

More information

The Nios II Family of Configurable Soft-core Processors

The Nios II Family of Configurable Soft-core Processors The Nios II Family of Configurable Soft-core Processors James Ball August 16, 2005 2005 Altera Corporation Agenda Nios II Introduction Configuring your CPU FPGA vs. ASIC CPU Design Instruction Set Architecture

More information

2. Click the From Beginning command in the Start Slide Show group to start the slide show with the first slide.

2. Click the From Beginning command in the Start Slide Show group to start the slide show with the first slide. Presenting Slide Show Introduction Page 1 Once your slide show is completed, you will need to learn how to present it to an audience. PowerPoint offers several tools and features that can assist you in

More information

Computer Systems Lecture 9

Computer Systems Lecture 9 Computer Systems Lecture 9 CPU Registers in x86 CPU status flags EFLAG: The Flag register holds the CPU status flags The status flags are separate bits in EFLAG where information on important conditions

More information

JTC1/SC22/WG14 N946 May 31, C Support for Multiple Address Spaces in Embedded Systems

JTC1/SC22/WG14 N946 May 31, C Support for Multiple Address Spaces in Embedded Systems C Support for Multiple Address Spaces in Embedded Systems Walter Banks Byte Craft Limited 421 King Street North Waterloo, Ontario N2J 4E4 Voice : (519) 888 6911 Fax : (519) 746 6751 Email : walter@bytecraft.com

More information

Visual Studio.NET. Although it is possible to program.net using only the command OVERVIEW OF VISUAL STUDIO.NET

Visual Studio.NET. Although it is possible to program.net using only the command OVERVIEW OF VISUAL STUDIO.NET Chapter. 03 9/17/01 6:08 PM Page 35 Visual Studio.NET T H R E E Although it is possible to program.net using only the command line compiler, it is much easier and more enjoyable to use Visual Studio.NET.

More information

Create and Debug a CCSv5.5 Project for DSK6713- or DUETT-Board1

Create and Debug a CCSv5.5 Project for DSK6713- or DUETT-Board1 Praktikum Digitale Signalverarbeitung Department Informations- und Elektrotechnik Labor für Signalverarbeitung Create and Debug a CCSv5.5 Project for DSK6713- or DUETT-Board1 1 Start CCSv5 and create a

More information

How to Log In from BlackBoard Go into your BlackBoard course and click Tegrity Classes.

How to Log In from BlackBoard Go into your BlackBoard course and click Tegrity Classes. TEGRITY Streaming a Tegrity Recording Logging In to Tegrity There are 2 ways to log in to Tegrity, from your BlackBoard course, or through the Tegrity website. Here is how to log in to both. How to Log

More information

Subject : Computer Science. Paper : Software Quality Management. Module : CASE Tools

Subject : Computer Science. Paper : Software Quality Management. Module : CASE Tools e-pg Pathshala Subject : Computer Science Paper : Software Quality Management Module : CASE Tools Module No: Quadrant 1: CS/SQM/26 e-text An increasing variety of specialized computerized tools (actually

More information

AppHeader User s Guide Version 1.0

AppHeader User s Guide Version 1.0 Version 1.0 Important information Texas Instruments makes no warranty, either expressed or implied, including but not limited to any implied warranties of merchantability and fitness for a particular purpose,

More information

Micetek International Inc. Professional Supplier for PowerPC Development Tools

Micetek International Inc. Professional Supplier for PowerPC Development Tools Introduction of PowerPC development tools (2008) Freescale PowerPC processors are ideal for RISC embedded application. With excellent performance, high level of integration and advanced technology, these

More information

Installing and using CW 10.6 for TPMS applications. Revision 4

Installing and using CW 10.6 for TPMS applications. Revision 4 Installing and using CW 10.6 for TPMS applications Revision 4 Table of Contents 1. Installing Code Warrior for MCUs v10.6... 3 a. General information... 3 b. Downloading the IDE... 4 c. Installing CW 10.6...

More information

Automatic Testing of OpenACC Applications

Automatic Testing of OpenACC Applications Automatic Testing of OpenACC Applications Khalid Ahmad School of Computing/University of Utah Michael Wolfe NVIDIA/PGI November 13 th, 2017 Why Test? When optimizing or porting Validate the optimization

More information

Language Translation. Compilation vs. interpretation. Compilation diagram. Step 1: compile. Step 2: run. compiler. Compiled program. program.

Language Translation. Compilation vs. interpretation. Compilation diagram. Step 1: compile. Step 2: run. compiler. Compiled program. program. Language Translation Compilation vs. interpretation Compilation diagram Step 1: compile program compiler Compiled program Step 2: run input Compiled program output Language Translation compilation is translation

More information

The CS-220 Development Environment

The CS-220 Development Environment The Development Environment (No relevant sections in text) Picking the right tool for the job 2 Integrated Development Environment 3 Command Line Mentality Old fashioned but surprisingly efficient (except

More information

IAR C-SPY Hardware Debugger Systems User Guide

IAR C-SPY Hardware Debugger Systems User Guide IAR C-SPY Hardware Debugger Systems User Guide for the Renesas SH Microcomputer Family CSSHHW-1 COPYRIGHT NOTICE Copyright 2010 IAR Systems AB. No part of this document may be reproduced without the prior

More information

Overview. Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++ Performance, memory

Overview. Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++ Performance, memory SCRIPTING Overview Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++ Reflection Bindings Serialization Performance, memory Rationale C++ isn't the best choice

More information

Debug for GDB Users. Action Description Debug GDB $debug <program> <args> >create <program> <args>

Debug for GDB Users. Action Description Debug GDB $debug <program> <args> >create <program> <args> Page 1 of 5 Debug for GDB Users Basic Control To be useful, a debugger must be capable of basic process control. This functionally allows the user to create a debugging session and instruct the process

More information

Using the Xcode Debugger

Using the Xcode Debugger g Using the Xcode Debugger J Objectives In this appendix you ll: Set breakpoints and run a program in the debugger. Use the Continue program execution command to continue execution. Use the Auto window

More information

Martin Kruliš, v

Martin Kruliš, v Martin Kruliš 1 Optimizations in General Code And Compilation Memory Considerations Parallelism Profiling And Optimization Examples 2 Premature optimization is the root of all evil. -- D. Knuth Our goal

More information

Compiling and Interpreting Programming. Overview of Compilers and Interpreters

Compiling and Interpreting Programming. Overview of Compilers and Interpreters Copyright R.A. van Engelen, FSU Department of Computer Science, 2000 Overview of Compilers and Interpreters Common compiler and interpreter configurations Virtual machines Integrated programming environments

More information

AT09381: SAM D - Debugging Watchdog Timer Reset. Introduction. SMART ARM-based Microcontrollers APPLICATION NOTE

AT09381: SAM D - Debugging Watchdog Timer Reset. Introduction. SMART ARM-based Microcontrollers APPLICATION NOTE SMART ARM-based Microcontrollers AT09381: SAM D - Debugging Watchdog Timer Reset APPLICATION NOTE Introduction This application note shows how the early warning interrupt can be used to debug a WDT reset

More information

Overview. Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++

Overview. Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++ Scripting 1 Overview Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++ Rationale C++ isn't the best choice for all problems Complicated feature set, syntax Low-level,

More information

ConnX D2 DSP Engine. A Flexible 2-MAC DSP. Dual-MAC, 16-bit Fixed-Point Communications DSP PRODUCT BRIEF FEATURES BENEFITS. ConnX D2 DSP Engine

ConnX D2 DSP Engine. A Flexible 2-MAC DSP. Dual-MAC, 16-bit Fixed-Point Communications DSP PRODUCT BRIEF FEATURES BENEFITS. ConnX D2 DSP Engine PRODUCT BRIEF ConnX D2 DSP Engine Dual-MAC, 16-bit Fixed-Point Communications DSP FEATURES BENEFITS Both SIMD and 2-way FLIX (parallel VLIW) operations Optimized, vectorizing XCC Compiler High-performance

More information

Codewarrior for ColdFire (Eclipse) 10.0 Setup

Codewarrior for ColdFire (Eclipse) 10.0 Setup Codewarrior for ColdFire (Eclipse) 10.0 Setup 1. Goal This document is designed to ensure that your Codewarrior for Coldfire v10.0 environment is correctly setup and to orient you to it basic functionality

More information

Anupam Gupta, Braydon Hall, Eugene Oh, Savanna Yee. Steve Jobs custom Apple I and other historic machines are on display at Seattle museum

Anupam Gupta, Braydon Hall, Eugene Oh, Savanna Yee. Steve Jobs custom Apple I and other historic machines are on display at Seattle museum Computers CSE 120 Spring 2017 Instructor: Justin Hsia Teaching Assistants: Anupam Gupta, Braydon Hall, Eugene Oh, Savanna Yee Steve Jobs custom Apple I and other historic machines are on display at Seattle

More information

STM32 Ecosystem workshop. T.O.M.A.S Team

STM32 Ecosystem workshop. T.O.M.A.S Team STM32 Ecosystem workshop T.O.M.A.S Team 2 Now, to complete our task, we have to Switch to SW4STM32 for some software modification Compile the code with added new features Run the code on NUCLEO-L476RG

More information

CMSC 611: Advanced Computer Architecture

CMSC 611: Advanced Computer Architecture CMSC 611: Advanced Computer Architecture Compilers Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from Hennessy & Patterson / 2003 Elsevier Science

More information