Boost Performance Optimizations. Rafael Taubinger Sr. FAE
|
|
- Silas Goodman
- 5 years ago
- Views:
Transcription
1 Boost Performance Optimizations Rafael Taubinger Sr. FAE
2 Agenda Company Overview Company The Compiler Overview The Reasons Compiler to Optimize Reasons Structure to your Optimize application to boost optimization Structure your application to boost Optimization settings optimization Demo Optimization settings Questions Demo Questions
3 Providing developers of embedded systems with world-leading software tools Global professional technical support in 9 languages Large ecosystem of partners 10 offices worldwide with HQ in Uppsala, Sweden Uppsala Munich Paris Tokyo Seoul Shanghai San Francisco Dallas Boston Los Angeles + Distributor representation in 43 countries Listed on NASDAQ/ Stockholm 33 years in the industry 32% of revenue invested in R&D
4 Complete offering for ARM Cortex-A15 Cortex-A9 Cortex-A8 Cortex-A7 Cortex-A5 Cortex-R7 Cortex-R5 Cortex-R4 Cortex-M7 Cortex-M4 Cortex-M3 Cortex-M1 Cortex-M0(+) ARM11 ARM9 ARM7 SecurCore Unique independence with support for all available ARM cores, from all major vendors including TI, Renesas, NXP, ST, Cypress, Toshiba etc. 4,500+ supported devices in total 8,400+ example projects to enable quick start Close cooperation with several SoC vendors Take full control of your development! C-STAT: Powerful static code analysis C-RUN: Runtime execution analysis I-jet and I-jet Trace: Debugging and trace probes
5 The Compiler
6 The Compiler System User Code C Source C Source C Source Compiler System Object File Compiler Object File Object File OS Other Lib Third-Party Code C Library Linker Executable Hardware
7 Optimizations x = x C Source 15 Parser Intermediate Code LDR R0,x LDR R1,[R0,#0] SUB R1,#15 STR R1,[R0,#0] x = x - 15; COMPILER Code Generator High-Level Optimizer Target Code Assembler Function inlining Object Code Dead code elimination Loop unrolling Low-Level Optimizer Crosscall Scheduling Peephole
8 Reasons to Optimize
9 Why optimize? Keep up with connected devices Use a device cheaper smaller with less device memory Room for more features Faster execution Enhance battery life Save power Better response time
10 Traditional Tradeoff Room for more features Use a cheaper device Use a device with less memory Size vs Speed Power Saving power Enhance battery time Better response time Faster execution
11 Size vs Speed Cross Call Elimination vs Function Inlining
12 The Golden Goal
13 The golden goal As fast as possible, but smaller than X
14 Bad idea because: 1. The compiler doesn t know your application
15 A Hypothetical Embedded Application Setup Sleep Data input Calculation Data output External event
16 Bad idea because: 1. The compiler doesn t know about your application 2. Adding or changing code will introduce performance changes in unrelated code
17 A Hypothetical Embedded Application Setup Sleep Data input Filter Calculation Data output External event
18 The Solution
19 Structuring the application To be efficient and portable Isolate device-dependent code Use tuned code where needed Optimize the rest for size Speed Optimization Size Optimization Generic code Speed sensitive code Device Driver Files Hardware
20 Four levels to apply optimizations 1. Project 2. File group 3. File 4. Function #pragma optimize=none void delay(int time) {... }
21 Demo
22 Tips to help the compiler Give more information Avoid global variables Use static to restrict visibility Use Multi file compile (--mfc) to increase code volume
23 Tips to help the compiler Use efficient data types double > float > signed int > unsigned int What about: char, long, short?
24 More types Just because an integer type is smaller, it is not necessarily more efficient ARM: int is more efficient than a char Solution: Use typedefs from <stdint.h> Fastest possible with at least X bits: fast_uint8_t fast_int32_t fast_uint16_t Exactly X bits: uint32_t int64_t uint8_t
25 Power debugging Tune the application to minimize power-consuming use of hardware resources Enabled by I-jet or other hardware with power debugging support Integrated measuring of power consumption correlated to the source code Power breakpoints Detailed power logs Function-level power profiling
26 Questions?
27 Thank you for your attention!
Considerations in automotive embedded development Global Automotive Director Kiyo Uemura
Considerations in automotive embedded development Global Automotive Director Kiyo Uemura Agenda 1. IAR Systems Introduction 2. Background & ISO 26262 3. Software Development at the software level 4. Supporting
More informationGetting the Least Out of Your C Compiler
Getting the Least Out of Your C Compiler Strategic Development IAR Systems jakob.engblom@iar.se Jakob Engblom Dept. of Computer Systems Uppsala University, Sweden jakob@docs.uu.se Embedded Systems Conference
More informationIDE for medical device software development. Hyun-Do Lee, Field Application Engineer
IDE for medical device software development Hyun-Do Lee, Field Application Engineer Agenda SW Validation Functional safety certified tool IAR Embedded Workbench Code Analysis tools SW Validation Certifications
More information18-642: Code Style for Compilers
18-642: Code Style for Compilers 9/25/2017 1 Anti-Patterns: Coding Style: Language Use Code compiles with warnings Warnings are turned off or over-ridden Insufficient warning level set Language safety
More informationL2 - C language for Embedded MCUs
Formation C language for Embedded MCUs: Learning how to program a Microcontroller (especially the Cortex-M based ones) - Programmation: Langages L2 - C language for Embedded MCUs Learning how to program
More informationProgram SoC using C Language
Program SoC using C Language 1 Module Overview General understanding of C, program compilation, program image, data storage, data type, and how to access peripherals using C language; Program SoC using
More informationIAR Embedded Workbench for 8051 Version 7.30A
IAR Embedded Workbench for 8051 Version 7.30A 1 Highlights in version 7.30 More efficient banked memory model Support files for many new devices added - complete list at www.iar.com/ew8051 Supportfiles
More informationOptimizing Cache Coherent Subsystem Architecture for Heterogeneous Multicore SoCs
Optimizing Cache Coherent Subsystem Architecture for Heterogeneous Multicore SoCs Niu Feng Technical Specialist, ARM Tech Symposia 2016 Agenda Introduction Challenges: Optimizing cache coherent subsystem
More information18-642: Code Style for Compilers
18-642: Code Style for Compilers 9/6/2018 2017-2018 Philip Koopman Programming can be fun, so can cryptography; however they should not be combined. Kreitzberg and Shneiderman 2017-2018 Philip Koopman
More informationCMPE-013/L. Introduction to C Programming
CMPE-013/L Introduction to C Programming Bryant Wenborg Mairs Spring 2014 What we will cover in 13/L Embedded C on a microcontroller Specific issues with microcontrollers Peripheral usage Reading documentation
More informationCS 261 Fall C Introduction. Variables, Memory Model, Pointers, and Debugging. Mike Lam, Professor
CS 261 Fall 2017 Mike Lam, Professor C Introduction Variables, Memory Model, Pointers, and Debugging The C Language Systems language originally developed for Unix Imperative, compiled language with static
More informationmbed Hello World! Introduction to mbed
mbed Hello World 1 Agenda Introduction to mbed Lab 1: mbed registration and Hello World demo Lab 2: Other IO Lab 3: Interfacing with sensors Lab 4: Output devices, a TextLCD Lab 5: Rapid prototyping, Build
More informationCode Generation Tools Tips & Tricks For All TI Code Generation Tools. April 2011
Code Generation Tools Tips & Tricks For All TI Code Generation Tools April 2011 1 Online Resources Compiler Wiki http://processors.wiki.ti.com/index.php?title=category: Compiler (link) Good chance your
More informationTypes, Variables, and Constants
, Variables, and Constants What is a Type The space in which a value is defined Space All possible allowed values All defined operations Integer Space whole numbers +, -, x No divide 2 tj Why Types No
More informationKinetis Software Optimization
Kinetis Software Optimization Course Description This course provides all necessary theoretical and practical know-how to enhance performance with the Kinetis family. The course provides an in-depth overview
More informationPage 1. Agenda. Programming Languages. C Compilation Process
EE 472 Embedded Systems Dr. Shwetak Patel Assistant Professor Computer Science & Engineering Electrical Engineering Agenda Announcements C programming intro + pointers Shwetak N. Patel - EE 472 2 Programming
More informationAdvanced Debug Methods for ARM DSM-Based Simulation. Jim Kenney SoC Verification Product Manager
Advanced Debug Methods for ARM DSM-Based Simulation Jim Kenney SoC Verification Product Manager Agenda The ARM Design Simulation (signoff) Model Processor driven tests Current DSM debug methods Advanced
More informationC Introduction. Comparison w/ Java, Memory Model, and Pointers
CS 261 Fall 2018 Mike Lam, Professor C Introduction Comparison w/ Java, Memory Model, and Pointers Please go to socrative.com on your phone or laptop, choose student login and join room LAMJMU The C Language
More informationCycle Approximate Simulation of RISC-V Processors
Cycle Approximate Simulation of RISC-V Processors Lee Moore, Duncan Graham, Simon Davidmann Imperas Software Ltd. Felipe Rosa Universidad Federal Rio Grande Sul Embedded World conference 27 February 2018
More informationPrograms. 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 informationCortex-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 informationLecture 2: C Programming Basic
ECE342 Introduction to Embedded Systems Lecture 2: C Programming Basic Ying Tang Electrical and Computer Engineering Rowan University 1 Facts about C C was developed in 1972 in order to write the UNIX
More informationCompilers and Interpreters
Compilers and Interpreters Pointers, the addresses we can see Programs that write other programs Managing the details A compiler is a program that, when fed itself as input, produces ITSELF! Then how was
More informationVCU-II Software Library USER S GUIDE
VCU-II Software Library USER S GUIDE C28X-VCU-LIB-UG-V2.10.00.00 Copyright 2015 Texas Instruments Incorporated. Copyright Copyright 2015 Texas Instruments Incorporated. All rights reserved. ControlSUITE
More informationIAR Embedded Workbenches for Renesas
IAR Embedded Workbenches for Renesas Shawn A. Prestridge, Senior Field Applications Engineer IAR Systems, Inc. Class ID: 3C19I Renesas Electronics America Inc. Shawn A. Prestridge Senior Field Applications
More informationCSC 1600 Memory Layout for Unix Processes"
CSC 16 Memory Layout for Unix Processes" 1 Lecture Goals" Behind the scenes of running a program" Code, executable, and process" Memory layout for UNIX processes, and relationship to C" : code and constant
More informationWind River Android Solutions
Wind River Android Solutions November 15th, 2011 Sébastien Lalaurette, Senior System Engineer EMEA SW Wind River solution proposal : Products Commercial Android distribution Android enhancements Debug
More informationMotivation was to facilitate development of systems software, especially OS development.
A History Lesson C Basics 1 Development of language by Dennis Ritchie at Bell Labs culminated in the C language in 1972. Motivation was to facilitate development of systems software, especially OS development.
More informationSupport for RISC-V. Lauterbach GmbH. Bob Kupyn Lauterbach Markus Goehrle - Lauterbach GmbH
Company Lauterbach Profile Debug Support for RISC-V Lauterbach GmbH Bob Kupyn Lauterbach USA @2016 Markus Goehrle - Lauterbach GmbH Leading Manufacturer of Microprocessor Development Tools Founded in 1979
More informationOptimize DSP Designs and Code using Fixed-Point Designer
Optimize DSP Designs and Code using Fixed-Point Designer MathWorks Korea 이웅재부장 Senior Application Engineer 2013 The MathWorks, Inc. 1 Agenda Fixed-point concepts Introducing Fixed-Point Designer Overview
More informationLecture 3: Instruction Set Architecture
Lecture 3: Instruction Set Architecture CSE 30: Computer Organization and Systems Programming Summer 2014 Diba Mirza Dept. of Computer Science and Engineering University of California, San Diego 1. Steps
More informationSYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS
SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS Embedded System System Set of components needed to perform a function Hardware + software +. Embedded Main function not computing Usually not autonomous
More informationBeyond Hardware IP An overview of Arm development solutions
Beyond Hardware IP An overview of Arm development solutions 2018 Arm Limited Arm Technical Symposia 2018 Advanced first design cost (US$ million) IC design complexity and cost aren t slowing down 542.2
More informationCS 326 Operating Systems C Programming. Greg Benson Department of Computer Science University of San Francisco
CS 326 Operating Systems C Programming Greg Benson Department of Computer Science University of San Francisco Why C? Fast (good optimizing compilers) Not too high-level (Java, Python, Lisp) Not too low-level
More informationOptimizing C For Microcontrollers
Optimizing C For Microcontrollers Khem Raj, Comcast Embedded Linux Conference & IOT summit - Portland OR Agenda Introduction Knowing the Tools Data Types and sizes Variable and Function Types Loops Low
More informationApproximate Computing with Runtime Code Generation on Resource-Constrained Embedded Devices
Approximate Computing with Runtime Code Generation on Resource-Constrained Embedded Devices WAPCO HiPEAC conference 2016 Damien Couroussé Caroline Quéva Henri-Pierre Charles www.cea.fr Univ. Grenoble Alpes,
More information6.Porting Code to N32 and 64-Bit Silicon Graphics Systems
Chapter 6 6.Porting Code to N32 and 64-Bit Silicon Graphics Systems This section explains the levels of compatibility between the new 32-bit compilation mode (n32), the old 32-bit mode, and 64-bit programs.
More informationJinfan Shi. Director of Huawei LiteOS Marketing Huawei
Jinfan Shi Director of Huawei LiteOS Marketing Huawei Huawei LiteOS, Simplifying the Development of LPWA Devices Jeff Shi Director of Huawei LiteOS Marketing Huawei IoT OS is the Key to LPWA Devices Device
More informationApplication Specific Signal Processors S
1 Application Specific Signal Processors 521281S Dept. of Computer Science and Engineering Mehdi Safarpour 23.9.2018 Course contents Lecture contents 1. Introduction and number formats 2. Signal processor
More informationMotivation was to facilitate development of systems software, especially OS development.
A History Lesson C Basics 1 Development of language by Dennis Ritchie at Bell Labs culminated in the C language in 1972. Motivation was to facilitate development of systems software, especially OS development.
More informationCortex-R5 Software Development
Cortex-R5 Software Development Course Description Cortex-R5 software development is a three days ARM official course. The course goes into great depth, and provides all necessary know-how to develop software
More informationCode Generation Tools Tips & Tricks For All TI Code Generation Tools. May 2010
Code Generation Tools Tips & Tricks For All TI Code Generation Tools May 2010 1 Online Resources Compiler Wiki http://processors.wiki.ti.com/index.php?title=category: Compiler (link) Good chance your question
More informationImplementing debug. and trace access. through functional I/O. Alvin Yang Staff FAE. Arm Tech Symposia Arm Limited
Implementing debug and trace access through functional I/O Alvin Yang Staff FAE Arm Tech Symposia 2017 Agenda Debug and trace access limitations A new approach Protocol based Bare metal vs mission mode
More informationECE2049 E17 Lecture 2: Data Representations & C Programming Basics
ECE2049 E17 Lecture 2: Data Representations & C Programming Basics Administrivia Lab 0 after class today! o Get your MSP430 board! Install instructions for CCS are on course website under Resources o You
More informationArm TrustZone Armv8-M Primer
Arm TrustZone Armv8-M Primer Odin Shen Staff FAE Arm Arm Techcon 2017 Security Security technologies review Application Level Security Designed with security in mind: authentication and encryption Privilege
More informationCSE 333 Lecture 2 Memory
CSE 333 Lecture 2 Memory John Zahorjan Department of Computer Science & Engineering University of Washington Today s goals - some terminology - review of memory resources - reserving memory - type checking
More informationOverview of C++ Support in TI Compiler Tools July 2008
Overview of C++ Support in TI Compiler Tools July 2008 1 Table of Contents 1 Table of Contents... 1 2 Introduction... 1 3 Support for the Language... 1 4 Embedded C++... 1 5 Some Comments on Efficiency...
More informationID 321L: KPIT GNU compiler plug-ins for HEW / KPIT Eclipse IDE
ID 321L: KPIT GNU compiler plug-ins for HEW / KPIT Eclipse IDE Matt Newsome, Principal Engineer, Software Tools, Renesas Electronics Europe, UK Kaushik Phatak, Tech Lead, KPIT Cummins Infosystems, Pune,
More informationMigrating from Keil µvision for 8051 to IAR Embedded Workbench for 8051
Migration guide Migrating from Keil µvision for 8051 to for 8051 Use this guide as a guideline when converting project files from the µvision IDE and source code written for Keil toolchains for 8051 to
More informationSISTEMI EMBEDDED. The C Pre-processor Fixed-size integer types Bit Manipulation. Federico Baronti Last version:
SISTEMI EMBEDDED The C Pre-processor Fixed-size integer types Bit Manipulation Federico Baronti Last version: 20160302 The C PreProcessor CPP (1) CPP is a program called by the compiler that processes
More informationEECS 373 Winter 2017 Homework #3
EECS 373 Winter 2017 Homework #3 Due January 25 th on Gradescope. Late homework is not accepted. Name: unique name: You are to turn in this assignment filling in the blanks as needed. Assignments that
More informationSelf-optimisation using runtime code generation for Wireless Sensor Networks
Self-optimisation using runtime code generation for Wireless Sensor Networks ComNet-IoT Workshop ICDCN 16 Singapore Caroline Quéva Damien Couroussé Henri-Pierre Charles www.cea.fr Univ. Grenoble Alpes,
More informationARM NEON Assembly Optimization
NEON Assembly Optimization Dae-Hwan Kim Department of Computer and Information, Suwon Science College, 288 Seja-ro, Jeongnam-myun, Hwaseong-si, Gyeonggi-do, Rep. of Korea kimdh@ssc.ac.kr Abstract is one
More informationLab11 - Bare Metal Programming. Department of Computer Science and Information Engineering National Taiwan University
Lab11 - Bare Metal Programming 1 / 16 Understand the process of OS development Write a minimal kernel for RPi 2 2 / 16 Host System Windows Build System Ubuntu 15.10 (or above) 64-bit Target System Raspberry
More informationARM TrustZone for ARMv8-M for software engineers
ARM TrustZone for ARMv8-M for software engineers Ashok Bhat Product Manager, HPC and Server tools ARM Tech Symposia India December 7th 2016 The need for security Communication protection Cryptography,
More informationRM0327 Reference manual
Reference manual Multi-Target Trace API version 1.0 Overview Multi-Target Trace (MTT) is an application instrumentation library that provides a consistent way to embed instrumentation into a software application,
More informationTotal Development Solution for the 8051
Total Development Solution for the 8051 Unleash the power of the 8051 The 8051 Toolset The TASKING software development toolset for the 8051 provides a complete and cost-effective solution for programming
More informationScaling the Peak: Maximizing floating point performance on the Epiphany NoC
Scaling the Peak: Maximizing floating point performance on the Epiphany NoC Anish Varghese, Gaurav Mitra, Robert Edwards and Alistair Rendell Research School of Computer Science The Australian National
More informationWireless communication for social robotics. Gu C. Department of Electrical & Computer Enginnering. National University of.
Wireless communication for social robotics Gu C. Department of Electrical & Computer Enginnering. National University of Singapore ABSTRACT Wireless communication has been widely used in Social Robotics
More informationIAR Embedded Workbench
IAR Embedded Workbench Integrated Development Environment From Idea to Target The IAR Embedded Workbench is a fully Integrated Development Environment for developing embedded applications. The workspace
More informationTour of common optimizations
Tour of common optimizations Simple example foo(z) { x := 3 + 6; y := x 5 return z * y } Simple example foo(z) { x := 3 + 6; y := x 5; return z * y } x:=9; Applying Constant Folding Simple example foo(z)
More informationSOMNIUM DRT Benchmarks Whitepaper DRT v3.4 release : August 2016
SOMNIUM Benchmarks Whitepaper v release : August 2016 www.somniumtech.com SOMNIUM is a complete embedded software development environment which supports ARM Cortex M devices from major semiconductor vendors.
More informationProgramming Fundamentals (CS 302 ) Dr. Ihsan Ullah. Lecturer Department of Computer Science & IT University of Balochistan
Programming Fundamentals (CS 302 ) Dr. Ihsan Ullah Lecturer Department of Computer Science & IT University of Balochistan 1 Outline p Introduction p Program development p C language and beginning with
More informationSoftware Tools.
Software Tools www.microchip.com/hi-tech Microchip's Omniscient Code Generation A world class provider of development tools for embedded systems, best known for its high-performance ANSI C compilers featuring
More informationPragma intrinsic and more
Pragma intrinsic and more C Language Extensions: This section gives a brief overview of the C language extensions available in the MSP430 IAR C/C++ Compiler. The compiler provides a wide set of extensions,
More informationARM Assembler Workbook. CS160 Computer Organization Version 1.1 October 27 th, 2002 Revised Fall 2005
ARM Assembler Workbook CS160 Computer Organization Version 1.1 October 27 th, 2002 Revised Fall 2005 ARM University Program Version 1.0 January 14th, 1997 Introduction Aim This workbook provides the student
More informationCS 110 Computer Architecture. Lecture 2: Introduction to C, Part I. Instructor: Sören Schwertfeger.
CS 110 Computer Architecture Lecture 2: Introduction to C, Part I Instructor: Sören Schwertfeger http://shtech.org/courses/ca/ School of Information Science and Technology SIST ShanghaiTech University
More informationAn unrivalled feature-set and unprecedented integration
Atollic TrueSTUDIO An unrivalled feature-set and unprecedented integration ARM and x86 C/C++ build and debug tools (GNU) for development of embedded MCU and PC applications Parallel compilation and multi-core
More informationUsing ARM ETB with TI CCS. CCS 3.3 with SR9 on TMS320DM6446
Using ARM ETB with TI CCS CCS 3.3 with SR9 on TMS320DM6446 1 ETB Usage Brief Tutorial 1. Setup CCS setup configuration to include the ETB. 2. Connect to the target (including the ETB) 3. Select the ETB
More informationSISTEMI EMBEDDED. The C Pre-processor Fixed-size integer types Bit Manipulation. Federico Baronti Last version:
SISTEMI EMBEDDED The C Pre-processor Fixed-size integer types Bit Manipulation Federico Baronti Last version: 20170307 The C PreProcessor CPP (1) CPP is a program called by the compiler that processes
More informationArray. Prepared By - Rifat Shahriyar
Java More Details Array 2 Arrays A group of variables containing values that all have the same type Arrays are fixed length entities In Java, arrays are objects, so they are considered reference types
More informationebpf-based tracing tools under 32 bit architectures
Linux Plumbers Conference 2018 ebpf-based tracing tools under 32 bit architectures Maciej Słodczyk Adrian Szyndela Samsung R&D Institute Poland
More informationJava Software Solutions for AP Computer Science 3rd Edition, Lewis et al. 2011
A Correlation of AP Computer Science 3rd Edition, Lewis et al. 2011 To the INTRODUCTION This document demonstrates how AP (Advanced Placement) Computer Science, 3rd Edition 2011, Lewis et al. meets the
More informationRISC-V as a basis for ASIP design A Quantum-Resistant IoT Security Implementation
RISC-V as a basis for ASIP design A Quantum-Resistant IoT Security Implementation Agenda Introductions RISC-V and ASIPs Implementation of Security Methods Performance results Codasip and SecureRF ASIP
More informationARM CORTEX-R52. Target Audience: Engineers and technicians who develop SoCs and systems based on the ARM Cortex-R52 architecture.
ARM CORTEX-R52 Course Family: ARMv8-R Cortex-R CPU Target Audience: Engineers and technicians who develop SoCs and systems based on the ARM Cortex-R52 architecture. Duration: 4 days Prerequisites and related
More informationSILICA I The Engineers of Distribution 1
1 SILICA I The Engineers of Distribution 1 Joe Bungo ARM mbed Hello World 2 SILICA I The Engineers of Distribution 2 Agenda ARM Overview Who is ARM? mbed Introduction to mbed Lab 1 mbed registration and
More information1. Introduction Types of Licenses to Renesas Compilers Evaluating the Features of the Professional Edition... 4
APPLICATION NOTE Renesas Compilers R20UT4026EJ0102 Rev.1.02 Contents 1. Introduction... 3 1.1 Types of Licenses to Renesas Compilers... 3 1.2 Evaluating the Features of the Professional Edition... 4 2.
More informationC6000 Compiler Roadmap
C6000 Compiler Roadmap CGT v7.4 CGT v7.3 CGT v7. CGT v8.0 CGT C6x v8. CGT Longer Term In Development Production Early Adopter Future CGT v7.2 reactive Current 3H2 4H 4H2 H H2 Future CGT C6x v7.3 Control
More informationSISTEMI EMBEDDED. The C Pre-processor Fixed-size integer types Bit Manipulation. Federico Baronti Last version:
SISTEMI EMBEDDED The C Pre-processor Fixed-size integer types Bit Manipulation Federico Baronti Last version: 20180312 The C PreProcessor CPP (1) CPP is a program called by the compiler that processes
More informationARM PROGRAMMING. When use assembly
ARM PROGRAMMING Bùi Quốc Bảo When use assembly Functions that cannot be implemented in C, such as special register accesses and exclusive accesses Timing-critical routines Tight memory requirements, causing
More informationChapters 3. ARM Assembly. Embedded Systems with ARM Cortext-M. Updated: Wednesday, February 7, 2018
Chapters 3 ARM Assembly Embedded Systems with ARM Cortext-M Updated: Wednesday, February 7, 2018 Programming languages - Categories Interpreted based on the machine Less complex, not as efficient Efficient,
More informationA Plan 9 C Compiler for RISC-V
A Plan 9 C Compiler for RISC-V Richard Miller r.miller@acm.org Plan 9 C compiler - written by Ken Thompson for Plan 9 OS - used for Inferno OS kernel and limbo VM - used to bootstrap first releases of
More informationMake Digital Real Execute Smart. We engineer meaningful technology solutions to help businesses and societies flourish
Make Digital Real Execute Smart We engineer meaningful technology solutions to help businesses and societies flourish FAST FACTS Mindtree Minds Annual Revenue Active Clients Kalinga Global Learning Center
More informationUnder 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 informationEL2310 Scientific Programming
Lecture 11: Structures and Memory (yaseminb@kth.se) Overview Overview Lecture 11: Structures and Memory Structures Continued Memory Allocation Lecture 11: Structures and Memory Structures Continued Memory
More informationIAR Embedded Workbench MISRA C:2004. Reference Guide
IAR Embedded Workbench MISRA C:2004 Reference Guide COPYRIGHT NOTICE Copyright 2004 2008 IAR Systems. All rights reserved. No part of this document may be reproduced without the prior written consent of
More information5.Coding for 64-Bit Programs
Chapter 5 5.Coding for 64-Bit Programs This chapter provides information about ways to write/update your code so that you can take advantage of the Silicon Graphics implementation of the IRIX 64-bit operating
More informationEmbedded Controller Programming 2
Embedded Controller Programming 2 Section 1: Introduction and Getting Started - Ken Arnold ecp2@hte.com Copyright 2006 Ken Arnold Welcome! ECP II Course Overview Instructor & Student Introductions Review
More informationMake Digital Real Execute Smart. We engineer meaningful technology solutions to help businesses and societies flourish
Make Digital Real Execute Smart We engineer meaningful technology solutions to help businesses and societies flourish FAST FACTS Mindtree Minds Annual revenue Active Clients Kalinga Global Learning Center
More informationMPLAB C1X Quick Reference Card
MPLAB C1X Quick Reference Card 34 MPLAB C17 Quick Reference MPLAB C17 Command Switches Command Description /?, /h Display help screen /D[=] Define a macro /FO= Set object file name /FE=
More informationEmbedded Systems Architecture
Embedded Systems Architecture A Comprehensive Guide for Engineers and Programmers By Tammy Noergaard ELSEVIER AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE
More informationLCA14-412: GPGPU on ARM SoC. Thu 6 March, 2.00pm, T.Gall, G.Pitney
LCA14-412: GPGPU on ARM SoC Thu 6 March, 2.00pm, T.Gall, G.Pitney Agenda Shamrock - Gil Pitney sqlite accelerated with OpenCL - Tom Gall GPGPU Goals Recognizing that: GPUs are much more energy efficient
More informationSoftware Design Challenges for heterogenic SOC's
Software Design Challenges for heterogenic SOC's René Janssen, Product manager Logic Technology 1 Agenda 1. Advantages of heterogenous devices 2. How to manage inter-processor communication 3. Example
More informationSKILL AREA 304: Review Programming Language Concept. Computer Programming (YPG)
SKILL AREA 304: Review Programming Language Concept Computer Programming (YPG) 304.1 Demonstrate an Understanding of Basic of Programming Language 304.1.1 Explain the purpose of computer program 304.1.2
More informationEmbedded solutions. Embed an Anybus product into your device to connect to any fieldbus or industrial Ethernet network.
Embedded solutions Embed an Anybus product into your device to connect to any fieldbus or industrial network. Anybus: One solution for all networks! How can I connect my products to all networks on the
More informationARM Cortex-M4 Programming Model
ARM Cortex-M4 Programming Model ARM = Advanced RISC Machines, Ltd. ARM licenses IP to other companies (ARM does not fabricate chips) 2005: ARM had 75% of embedded RISC market, with 2.5 billion processors
More informationA QUICK INTRO TO PRACTICAL OPTIMIZATION TECHNIQUES
A QUICK INTRO TO PRACTICAL OPTIMIZATION TECHNIQUES 0. NO SILVER BULLETS HERE. 1. Set Compiler Options Appropriately: Select processor architecture: Enables compiler to make full use of instructions which
More informationLABORATORIO DI ARCHITETTURE E PROGRAMMAZIONE DEI SISTEMI ELETTRONICI INDUSTRIALI
LABORATORIO DI ARCHITETTURE E PROGRAMMAZIONE DEI SISTEMI ELETTRONICI INDUSTRIALI Laboratory Lesson 10: CMSIS DSP Library and Functions Final Assignment Prof. Luca Benini Prof Davide
More informationRaspberry Pi / ARM Assembly. OrgArch / Fall 2018
Raspberry Pi / ARM Assembly OrgArch / Fall 2018 The Raspberry Pi uses a Broadcom System on a Chip (SoC), which is based on an ARM CPU. https://en.wikipedia.org/wiki/arm_architecture The 64-bit ARM processor
More informationCS 61C: Great Ideas in Computer Architecture. Lecture 2: Numbers & C Language. Krste Asanović & Randy Katz
CS 61C: Great Ideas in Computer Architecture Lecture 2: Numbers & C Language Krste Asanović & Randy Katz http://inst.eecs.berkeley.edu/~cs61c Numbers wrap-up This is not on the exam! Break C Primer Administrivia,
More information