LABORATORIO DI ARCHITETTURE E PROGRAMMAZIONE DEI SISTEMI ELETTRONICI INDUSTRIALI
|
|
- Nathan York
- 5 years ago
- Views:
Transcription
1 LABORATORIO DI ARCHITETTURE E PROGRAMMAZIONE DEI SISTEMI ELETTRONICI INDUSTRIALI Laboratory Lesson 10: CMSIS DSP Library and Functions Final Assignment Prof. Luca Benini <luca.benini@unibo.it> Prof Davide Rossi <davide.rossi@unibo.it> Simone Benatti <simone.benatti@unibo.it> Victor Kartsch<victorjavier.kartsch@unibo.it>
2 Info & Communications
3 Recap LAB1: IDE & Debug LAB2: GPIO & Systick LAB3: Advanced Debug LAB4: EXTI LAB5: Timers LAB6: FLASH & DMA LAB7: USART LAB8: ADC LAB9: SPI LAB10: CMSIS DSP CMSIS DSP lib and signal processing
4 CMSIS DSP Library
5 CMSIS CMSIS: Cortex Microcontroller Software Interface Standard Vendor-independent hardware abstraction layer for ARM Cortex-M Simple software interfaces for ARM core for: Peripherals interfaces Real-time operating systems Middleware DSP functions
6 DSP Functions Abs, dot products, fixed point operations, Complex math PIDs, Sin, cos, tan, FIR,IIR, conv, LMS Matrix multiplication, inverse, Mean, RMS, variance,... Conversion fix to float, FFTs Provides fast development for basic math for DSP SPEEDUP code execution
7 Example 1: Dot product Dot product or inner product or scalar product One of the most used operations in all signal processing domains Many efficient HW/SW implementations Intuition Algebraic function a b = a n b n n=1 In our world vectors are ARRAYS!
8 Dot product implementation The MATH a b = a n b n n=1 The CODE static int n; for(n = 0 ; n<array_dimension ; n++) { product += a[n]*b[n]; } Problems: 1. Many ldr & str operations 2. Many multiplications and sums
9 Dot product with CMSIS DSP arm_dot_prod_f32(&srca_buf_f32, &srcb_buf_f32, MAX_BLOCKSIZE, &testoutput); Vector 1 Vector 2 Dimension Output In your sample code compare the 2 executions: nonarm_product( &srca_buf_f32,&srcb_buf_f32, &multoutput, MAX_BLOCKSIZE) vs arm_dot_prod_f32(&srca_buf_f32,&srcb_buf_f32, MAX_BLOCKSIZE, &testoutput); 1900 cycles 1000 cycles SPEEDUP x2!!
10 Example 2 : Digital Filters There are two main digital filters categories: FIR (Finite Impulse Response) IIR (Infinite Impulse Response) FIR pros: 1. can be designed with linear phase 2. simple to implement 3. good for finite precision math FIR cons: 1. FIR requires more memory and computation (more coefficients) 2. Bigger filters cause delays
11 FIR basics Filter formula Filter diagram y(n) = N 1 k=0 h k x(n k) N = filter order (aka number of coeffs.) h(k) = Coefficients (aka taps) y(n) x(n-k) = Input data
12 Calculate the coefficients Use the following Matlab script: % Define sampling frequency Fs = 1000; %1kHz % Define cutoff frequency Cutoff_freq = 40; % Calculate Nyquist frequency Nyq_frequency = Fs/2; Cutoff_norm = Cutoff_freq/Nyq_frequency; % FIR order order = 4; % Calculate taps (coefficients) FIR_coeff = fir1(order,cutoff_norm);
13 Simple example with 3 coefficients In this case we have: y n = h 0 x n + h 1 x n 1 + h 2 x(n 2) Coefficients Input data
14 FIR C Implementation float X[1000]; float Y[1000]; float h[n] = { , , }; int main() { float yn = 0; int i,k; const int N = 3; float x[n] = {0,0,0}; X[0] = 1; for(i=0; i<1000; i++) { for(k=0; k < N-1; k++) { x[n-k-1] = x[n-k-2]; //shift the data } x[0] = X[i]; // move input sample to buffer yn = 0; // clear output sample for(k=0; k < N; k++) { yn += h[k]*x[k]; // multiply and accumulate data with coefficients } } } Y[i] = yn; // move output sample to buffer
15 CMSIS DSP Implementation #define BLOCK_SIZE 32 #define NUM_TAPS 29 #define TEST_LENGTH_SAMPLES 320 uint32_t numblocks = TEST_LENGTH_SAMPLES/BLOCK_SIZE;... int main(void) {... /* Initialize input and output buffer pointers */ inputf32 = &testinput_f32_1khz_15khz[0]; outputf32 = &testoutput[0]; /* Call FIR init function to initialize the instance structure. */ arm_fir_init_f32(&s, NUM_TAPS, (float32_t *)&fircoeffs32[0], &firstatef32[0], blocksize); /* Call the FIR process function for every blocksize samples */ for(i=0; i < numblocks; i++) { arm_fir_f32(&s, inputf32 + (i * blocksize), outputf32 + (i * blocksize), blocksize); } }... Check the code implementation!
16 Optimization: going faster! You can tell your compiler to optimize the code when compiling, making the execution faster ( >50% faster). Optimization is not for dummies, use it only when you carefully debugged the code. some code that work without optimization may NOT work when you optimize, so pay attention! It is strongly compiler dependent (in our case GCC) We have several optimization flags (O0 O3). The most popular are: O0 No optimization. Direct correspondence between each line of code and the resulting machine instructions O2 Enables more optimizations. This mode turns on nearly all optimizations.
17 Optimization: going faster! To set an optimization level in your project: Project proprieties -> C/C++ Build -> Settings -> MCU GCC Compiler -> Optimization -> select optimization level If the code is well-written, optimization is more effective CMSIS functions are specifically wellwritten for our platform: they enable loop unrolling, MAC instructions and other DSP features of our Cortex M4 MCU
18 KCycles Performance: Dot product 2 1,5 1 0,5 NO CMSIS CMSIS DSP 0 Dot product -O0 Dot product -O2 NO CMSIS CMSIS DSP Dot product -O0 1,9 0,99 Dot product -O2 0,3 0,24
19 KCycles Performance: FIR filter NO CMSIS CMSIS DSP 0 FIR -O0 FIR -O2 NO CMSIS CMSIS DSP FIR -O FIR -O
20 Libraries and code organization
21 Functions: declaration Function prototype: function name (must be unique) type of input parameters (may be void) type of return variable (may be void) equivalent to variable declaration
22 Functions: implementation Function implementation: The actual code that is executed when the function is called The code is written only once, but it can be used several times with different input parameters
23 Functions: use Function use: the actual call to the function defines when the code is called during the execution of a program must provide the correct input parameters
24 Functions: libraries Local function: Delared and implemented in the current file Can be only called within that file Library function: Declared in separate header file (.h) and implemented in dedicated source file (.c) Can be used in any file that includes its header
25 Code organization Until now we have always put everything in the main file: OK for simple projects NOT OK for complex and large projects NOT OK for code sharing and re-use You can create your own libraries! Different files with collection of useful functions, for easy re-use Try to be organized: group functions in a logical way You have functions that compute mean, variance and min/max, and you want to put them in a features library how? Create file features.h in the./inc subdirectory of your project Put the functions prototypes in features.h Create file features.c in the./src subdirectory of your project Put the functions implementations in features.c In main: add #include functions.h and call your functions with the correct parameters.
26 Libraries and folders When dealing with multiple files and libraries you can use folders and sub-folders to organize them It is up to you, but some common practices are good to follow
27 Libraries and folders When dealing with multiple files and libraries you can use folders and sub-folders to organize them It is up to you, but some common practices are good to follow When you create a project you already have a starting folder structure: Main application files are in./inc and./src
28 Libraries and folders When dealing with multiple files and libraries you can use folders and sub-folders to organize them It is up to you, but some common practices are good to follow When you create a project you already have a starting folder structure: Main application files are in./inc and./src StdPeriph_Driver: library organized with inc and src sub-floders
29 Libraries and folders When dealing with multiple files and libraries you can use folders and sub-folders to organize them It is up to you, but some common practices are good to follow When you create a project you already have a starting folder structure: Main application files are in./inc and./src StdPeriph_Driver: library organized with inc and src sub-floders Utilities: library with a common folder for header and source files
30 Libraries and folders When dealing with multiple files and libraries you can use folders and sub-folders to organize them It is up to you, but some common practices are good to follow When you create a project you already have a starting folder structure: Main application files are in./inc and./src StdPeriph_Driver: library organized with inc and src sub-floders Utilities: library with a common folder for header and source files So what is the difference between putting a header file in./inc or./utilities or./stdperiph_driver/inc or creating a new (sub)directory? Nothing, but you must ensure that the compiler and linker know when to get those files!
31 Libraries: project settings If you add your files in the main src/inc folders everything will be ok but, if you create a new folder to organize your files, it will give you lots of errors! You have to add the new folders to the compiler and linker paths! Create the folder/files you want or copy them in the project s main folder If you copy files outside Eclipse, you have to refresh to see them You have to add any folder containing header files (.h) to the include paths You have to add any folder containing source files (.c) to the source paths If a folder contains both, add it in both paths Subfolders are usually ok, but you may have to check
32 Libraries: include paths You have to add any folder containing header files (.h) to the include paths: Project proprieties -> C/C++ Build -> Settings -> MCU GCC Compiler -> Includes -> add the desired folder in the Include paths panel You should use relative paths: If you copy or export the project it will work use project directory or workspace directory as reference copy from the folders already listed there
33 Libraries: source paths You have to add any folder containing source files (.c) to the source paths: Project proprieties -> C/C++ General -> Paths and Symbols -> Source Location (TAB) -> add the desired folder
LABORATORIO DI ARCHITETTURE E PROGRAMMAZIONE DEI SISTEMI ELETTRONICI INDUSTRIALI
LABORATORIO DI ARCHITETTURE E PROGRAMMAZIONE DEI SISTEMI ELETTRONICI INDUSTRIALI Laboratory Lesson 1: - Introduction to System Workbench for STM32 - Programming and debugging Prof. Luca Benini
More informationLABORATORIO DI ARCHITETTURE E PROGRAMMAZIONE DEI SISTEMI ELETTRONICI INDUSTRIALI. Laboratory Lesson 2: - General Purpose I/O - SysTick
LABORATORIO DI ARCHITETTURE E PROGRAMMAZIONE DEI SISTEMI ELETTRONICI INDUSTRIALI Laboratory Lesson 2: - General Purpose I/O - SysTick Prof. Luca Benini Prof Davide Rossi
More informationLABORATORIO DI ARCHITETTURE E PROGRAMMAZIONE DEI SISTEMI ELETTRONICI INDUSTRIALI. Laboratory Lesson 9: Serial Peripheral Interface (SPI)
LABORATORIO DI ARCHITETTURE E PROGRAMMAZIONE DEI SISTEMI ELETTRONICI INDUSTRIALI Laboratory Lesson 9: Serial Peripheral Interface (SPI) Prof. Luca Benini Prof Davide Rossi
More informationD. Richard Brown III Associate Professor Worcester Polytechnic Institute Electrical and Computer Engineering Department
D. Richard Brown III Associate Professor Worcester Polytechnic Institute Electrical and Computer Engineering Department drb@ece.wpi.edu 3-November-2008 Analog To Digital Conversion analog signal ADC digital
More informationD. Richard Brown III Professor Worcester Polytechnic Institute Electrical and Computer Engineering Department
D. Richard Brown III Professor Worcester Polytechnic Institute Electrical and Computer Engineering Department drb@ece.wpi.edu Lecture 2 Some Challenges of Real-Time DSP Analog to digital conversion Are
More informationLABORATORIO DI ARCHITETTURE E PROGRAMMAZIONE DEI SISTEMI ELETTRONICI INDUSTRIALI
LABORATORIO DI ARCHITETTURE E PROGRAMMAZIONE DEI SISTEMI ELETTRONICI INDUSTRIALI Laboratory Lesson 7: Universal Serial Asynchronous Receiver Transmitter (USART) Prof. Luca Benini
More informationLABORATORIO DI ARCHITETTURE E PROGRAMMAZIONE DEI SISTEMI ELETTRONICI INDUSTRIALI
LABORATORIO DI ARCHITETTURE E PROGRAMMAZIONE DEI SISTEMI ELETTRONICI INDUSTRIALI Laboratory Lesson 5: -Timers Prof. Luca Benini Simone Benatti Bojan Milosevic
More informationECE4703 B Term Laboratory Assignment 2 Floating Point Filters Using the TMS320C6713 DSK Project Code and Report Due at 3 pm 9-Nov-2017
ECE4703 B Term 2017 -- Laboratory Assignment 2 Floating Point Filters Using the TMS320C6713 DSK Project Code and Report Due at 3 pm 9-Nov-2017 The goals of this laboratory assignment are: to familiarize
More informationNXP Unveils Its First ARM Cortex -M4 Based Controller Family
NXP s LPC4300 MCU with Coprocessor: NXP Unveils Its First ARM Cortex -M4 Based Controller Family By Frank Riemenschneider, Editor, Electronik Magazine At the Electronica trade show last fall in Munich,
More information19. FIR filtering The theory of FIR filtering. X buffer. Y buffer
1 19. FIR filtering Digital filtering of analog signals in real time is easy to implement when one has an ADC, a processor, and a DAC, Fig. 19.1. An example of FIR (Finite impulse Response) filtering will
More informationGDFLIB User's Guide. ARM Cortex M0+
GDFLIB User's Guide ARM Cortex M0+ Document Number: CM0GDFLIBUG Rev. 4, 11/2016 2 NXP Semiconductors Contents Section number Title Page Chapter 1 Library 1.1 Introduction... 5 1.2 Library integration into
More informationTiva TM C Series TM4C123x MCUs
Tiva TM C Series TM4C123x MCUs Floating-Point Performance, Analog Integration and Best-in-Class Low-Power Consumption Floating Point Unit Ashish Ahuja Acknowledgements: Alex Bestavros Agenda IEEE 754 Standard
More informationxcore-200 DSP Library
xcore-200 DSP Library This API reference manual describes the XMOS fixed-point digital signal processing software library. The library implements of a suite of common signal processing functions for use
More informationFloating-Point Unit. Introduction. Agenda
Floating-Point Unit Introduction This chapter will introduce you to the Floating-Point Unit (FPU) on the LM4F series devices. In the lab we will implement a floating-point sine wave calculator and profile
More informationDigital Signal Processing Laboratory 7: IIR Notch Filters Using the TMS320C6711
Digital Signal Processing Laboratory 7: IIR Notch Filters Using the TMS320C6711 PreLab due Wednesday, 3 November 2010 Objective: To implement a simple filter using a digital signal processing microprocessor
More informationHow to Use Low-Energy Accelerator on MSP MCUs. Cash Hao Sept 2016
How to Use Low-Energy Accelerator on MSP MCUs Cash Hao Sept 2016 1 Agenda 1. The Overview of Low-Energy Accelerator (LEA) 2. Getting Started Firmware on CCS and IAR 3. Finite Impulse Response (FIR) Example
More informationARM Cortex core microcontrollers 3. Cortex-M0, M4, M7
ARM Cortex core microcontrollers 3. Cortex-M0, M4, M7 Scherer Balázs Budapest University of Technology and Economics Department of Measurement and Information Systems BME-MIT 2018 Trends of 32-bit microcontrollers
More informationApplication Note: AN00209 xcore-200 DSP Elements Library
Application Note: AN00209 xcore-200 DSP Elements Library The application note gives an overview of using the xcore-200 DSP Elements Library. Required tools and libraries xtimecomposer Tools - Version 14.0.0
More informationDesigning with STM32F2x & STM32F4
Designing with STM32F2x & STM32F4 Course Description Designing with STM32F2x & STM32F4 is a 3 days ST official course. The course provides all necessary theoretical and practical know-how for start developing
More informationHands-On with STM32 MCU Francesco Conti
Hands-On with STM32 MCU Francesco Conti f.conti@unibo.it Calendar (Microcontroller Section) 07.04.2017: Power consumption; Low power States; Buses, Memory, GPIOs 20.04.2017 21.04.2017 Serial Interfaces
More informationECE 5655/4655 Laboratory Problems
Assignment #2 ECE 5655/4655 Laboratory Problems Make note of the following: Due ~Friday March 1, 2019 Each team of two will turn in documentation for the assigned problem(s), that is C or assembly source
More informationREAL TIME DIGITAL SIGNAL PROCESSING
REAL TIME DIGITAL SIGNAL PROCESSING UTN-FRBA 2010 Introduction Why Digital? A brief comparison with analog. Advantages Flexibility. Easily modifiable and upgradeable. Reproducibility. Don t depend on components
More informationExperiment 6 Finite Impulse Response Digital Filter (FIR).
Experiment 6 Finite Impulse Response Digital Filter (FIR). Implementing a real-time FIR digital filtering operations using the TMS320C6713 DSP Starter Kit (DSK). Recollect in the previous experiment 5
More informationAN4968 Application note
Application note Proprietary code read out protection (PCROP) on STM32F72xxx and STM32F73xxx microcontrollers Introduction The software providers are developing complex middleware solutions (Intellectual
More informationMLIB User's Guide. ARM Cortex M4F
MLIB User's Guide ARM Cortex M4F Document Number: CM4FMLIBUG Rev. 1, 08/2016 2 NXP Semiconductors Contents Section number Title Page Chapter 1 Library 1.1 Introduction... 7 1.2 Library integration into
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 informationExperiment 1. Development Platform. Ahmad Khayyat, Hazem Selmi, Saleh AlSaleh
Experiment 1 Development Platform Ahmad Khayyat, Hazem Selmi, Saleh AlSaleh Version 162, 13 February 2017 Table of Contents 1. Objectives........................................................................................
More informationUsing Code Composer Studio IDE with MSP432
Using Code Composer Studio IDE with MSP432 Quick Start Guide Embedded System Course LAP IC EPFL 2010-2018 Version 1.2 René Beuchat Alex Jourdan 1 Installation and documentation Main information in this
More informationAVR32765: AVR32 DSPLib Reference Manual. 32-bit Microcontrollers. Application Note. 1 Introduction. 2 Reference
AVR32765: AVR32 DSPLib Reference Manual 1 Introduction The AVR 32 DSP Library is a compilation of digital signal processing functions. All function availables in the DSP Library, from the AVR32 Software
More informationLab #1: A Quick Introduction to the Eclipse IDE
Lab #1: A Quick Introduction to the Eclipse IDE Eclipse is an integrated development environment (IDE) for Java programming. Actually, it is capable of much more than just compiling Java programs but that
More informationImplementing Biquad IIR filters with the ASN Filter Designer and the ARM CMSIS DSP software framework
Implementing Biquad IIR filters with the ASN Filter Designer and the ARM CMSIS DSP software framework Application note (ASN-AN05) November 07 (Rev 4) SYNOPSIS Infinite impulse response (IIR) filters are
More informationMPLAB Harmony Help - Math Libraries
MPLAB Harmony Help - Math Libraries MPLAB Harmony Integrated Software Framework v1.11 2013-2017 Microchip Technology Inc. All rights reserved. Math Libraries Help Math Libraries Help This section provides
More informationExercise: PWM Generation using the N2HET
Exercise: PWM Generation using the N2HET 1 Overview In this exercise we will: Create a new HALCoGen Project Configure HALCoGen to generate A basic PWM with a period of 1 second and a duty cycle of 75%
More informationLAB1. Get familiar with Tools and Environment
LAB1 Get familiar with Tools and Environment Outline Intro to ARMmite Pro development board Intro to LPC2103 microcontroller Cross development environment and tools Program the broad in C: light the LED
More informationRed Suite 4 Getting Started. Applies to Red Suite 4.22 or greater
Red Suite 4 Getting Started Applies to Red Suite 4.22 or greater March 26, 2012 Table of Contents 1 ABOUT THIS GUIDE... 3 1.1 WHO SHOULD USE IT... 3 2 RED SUITE 4... 4 2.1 NEW FEATURES IN RED SUITE 4...
More informationSTM32SnippetsL0. STM32L0xx Snippets firmware package. Features. Description
STM32L0xx Snippets firmware package Data brief Features Complete free C source code firmware examples for STM32L0xx microcontrollers Basic examples using direct-access registers as defined in CMSIS Cortex
More informationA Microprocessor Systems Fall 2009
304 426A Microprocessor Systems Fall 2009 Lab 1: Assembly and Embedded C Objective This exercise introduces the Texas Instrument MSP430 assembly language, the concept of the calling convention and different
More informationREAL TIME DIGITAL SIGNAL PROCESSING
REAL TIME DIGITAL SIGNAL PROCESSING UTN - FRBA 2011 www.electron.frba.utn.edu.ar/dplab Introduction Why Digital? A brief comparison with analog. Advantages Flexibility. Easily modifiable and upgradeable.
More informationChoosing 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 informationSTM32 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 informationConverting Firmware Projects to CoIde and IAR Embedded Workbench for ARM
APPLICATION NOTE Converting Firmware Projects to CoIde and IAR Embedded Workbench for ARM TM Marc Sousa Senior Manager, Systems and Firmware www.active-semi.com Copyright 2015 Active-Semi, Inc. TABLE OF
More informationEmbedded Target for TI C6000 DSP 2.0 Release Notes
1 Embedded Target for TI C6000 DSP 2.0 Release Notes New Features................... 1-2 Two Virtual Targets Added.............. 1-2 Added C62x DSP Library............... 1-2 Fixed-Point Code Generation
More informationNFC Framework and NT3H1201 Device Driver v1.1
NFC Framework and NT3H1201 Device Driver v1.1 Quickstart Guide for ARIS board All information contained in these materials, including products and product specifications, represents information on the
More informationATOLLIC TRUESTUDIO FOR STM32 QUICK START GUIDE
ATOLLIC TRUESTUDIO FOR STM32 QUICK START GUIDE This document is intended for those who want a brief, bare bones getting started guide. This should suffice for that purpose, but a lot of detail has been
More informationSetup the environment for first time use
SGN-16006 Bachelor s Laboratory Course in Signal Processing Signal processor assignment (June 2, 2014) Setup the environment for first time use Use the following procedure to start Code composer studio
More informationATOLLIC TRUESTUDIO FOR ARM QUICK START GUIDE
ATOLLIC TRUESTUDIO FOR ARM QUICK START GUIDE This document is intended for those who want a brief, bare bones getting started guide. This should suffice for that purpose, but a lot of detail has been left
More informationF28069 ControlCard Lab1
F28069 ControlCard Lab1 Toggle LED LD2 (GPIO31) and LD3 (GPIO34) 1. Project Dependencies The project expects the following support files: Support files of controlsuite installed in: C:\TI\controlSUITE\device_support\f28069\v135
More informationUsing 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 informationEE 354 Fall 2013 Lecture 9 The Sampling Process and Evaluation of Difference Equations
EE 354 Fall 2013 Lecture 9 The Sampling Process and Evaluation of Difference Equations Digital Signal Processing (DSP) is centered around the idea that you can convert an analog signal to a digital signal
More informationAn introduction to Digital Signal Processors (DSP) Using the C55xx family
An introduction to Digital Signal Processors (DSP) Using the C55xx family Group status (~2 minutes each) 5 groups stand up What processor(s) you are using Wireless? If so, what technologies/chips are you
More informationUsing peripherals on the MSP430 (if time)
Today's Plan: Announcements Review Activities 1&2 Programming in C Using peripherals on the MSP430 (if time) Activity 3 Announcements: Midterm coming on Feb 9. Will need to write simple programs in C and/or
More informationC55x Digital Signal Processors Software Overview
C55x Digital Signal Processors C55x Digital Signal Processors Software Overview Agenda C55x Chip Support Library (CSL) Introduction Benefits Structure Example C55x DSP Library (DSPLIB) Introduction Structure
More informationANSI C. Data Analysis in Geophysics Demián D. Gómez November 2013
ANSI C Data Analysis in Geophysics Demián D. Gómez November 2013 ANSI C Standards published by the American National Standards Institute (1983-1989). Initially developed by Dennis Ritchie between 1969
More informationASF4 API Reference Manual
ASF4 API Reference Manual 2018 Microchip Technology Inc. User Guide DS50002633B-page 1 Table of Contents 1. Advanced Software Framework Version 4 (ASF4 Introduction and Context...8 1.1. Introduction to
More informationCS520 Setting Up the Programming Environment for Windows Suresh Kalathur. For Windows users, download the Java8 SDK as shown below.
CS520 Setting Up the Programming Environment for Windows Suresh Kalathur 1. Java8 SDK Java8 SDK (Windows Users) For Windows users, download the Java8 SDK as shown below. The Java Development Kit (JDK)
More informationFAST FIR FILTERS FOR SIMD PROCESSORS WITH LIMITED MEMORY BANDWIDTH
Key words: Digital Signal Processing, FIR filters, SIMD processors, AltiVec. Grzegorz KRASZEWSKI Białystok Technical University Department of Electrical Engineering Wiejska
More informationC55x Digital Signal Processors Software Overview
C55x Digital Signal Processors Software Overview Agenda C55x Chip Support Library (CSL) Introduction Benefits Structure Example C55x DSP Library (DSPLIB) Introduction Structure Programmer Reference Guide
More informationCreating a Processor System Lab
Lab Workbook Introduction This lab introduces a design flow to generate a IP-XACT adapter from a design using Vivado HLS and using the generated IP-XACT adapter in a processor system using IP Integrator
More informationREAL TIME DIGITAL SIGNAL PROCESSING
REAL TIME DIGITAL SIGNAL PROCESSING SASE 2010 Universidad Tecnológica Nacional - FRBA Introduction Why Digital? A brief comparison with analog. Advantages Flexibility. Easily modifiable and upgradeable.
More informationInterconnects, Memory, GPIO
Interconnects, Memory, GPIO Dr. Francesco Conti f.conti@unibo.it Slide contributions adapted from STMicroelectronics and from Dr. Michele Magno, others Processor vs. MCU Pipeline Harvard architecture Separate
More informationECE 598 Advanced Operating Systems Lecture 4
ECE 598 Advanced Operating Systems Lecture 4 Vince Weaver http://www.eece.maine.edu/~vweaver vincent.weaver@maine.edu 28 January 2016 Announcements HW#1 was due HW#2 was posted, will be tricky Let me know
More informationThe course provides all necessary theoretical and practical know-how for start developing platforms based on STM32L4 family.
Designing with STM32L4 Family Course Description Designing with STM32L4 is a 3 days ST official course. The course provides all necessary theoretical and practical know-how for start developing platforms
More informationF28335 ControlCard Lab1
F28335 ControlCard Lab1 Toggle LED LD2 (GPIO31) and LD3 (GPIO34) 1. Project Dependencies The project expects the following support files: Support files of controlsuite installed in: C:\TI\controlSUITE\device_support\f2833x\v132
More informationMLIB User's Guide. ARM Cortex M4
MLIB User's Guide ARM Cortex M4 Document Number: CM4MLIBUG Rev. 3, 08/2016 2 NXP Semiconductors Contents Section number Title Page Chapter 1 Library 1.1 Introduction... 7 1.2 Library integration into project
More informationConfigurable Multiprocessing: An FIR
Configurable Multiprocessing: An FIR Filter Example Cmpware, Inc. Introduction Multiple processors on a device common Thousands of 32-bit RISC CPUs possible Advantages in: Performance Power consumption
More informationHands-On Workshop: ARM mbed
Hands-On Workshop: ARM mbed FTF-DES-F1302 Sam Grove - ARM Michael Norman Freescale J U N. 2 0 1 5 External Use Agenda What is mbed mbed Hardware mbed Software mbed Tools mbed Support and Community Hands-On
More informationE85 Lab 8: Assembly Language
E85 Lab 8: Assembly Language E85 Spring 2016 Due: 4/6/16 Overview: This lab is focused on assembly programming. Assembly language serves as a bridge between the machine code we will need to understand
More informationImplementing Secure Software Systems on ARMv8-M Microcontrollers
Implementing Secure Software Systems on ARMv8-M Microcontrollers Chris Shore, ARM TrustZone: A comprehensive security foundation Non-trusted Trusted Security separation with TrustZone Isolate trusted resources
More informationEvaluating MMX Technology Using DSP and Multimedia Applications
Evaluating MMX Technology Using DSP and Multimedia Applications Ravi Bhargava * Lizy K. John * Brian L. Evans Ramesh Radhakrishnan * November 22, 1999 The University of Texas at Austin Department of Electrical
More informationembos Real Time Operating System CPU & Compiler specifics for RENESAS M16C CPUs and HEW workbench Document Rev. 1
embos Real Time Operating System CPU & Compiler specifics for RENESAS M16C CPUs and HEW workbench Document Rev. 1 A product of SEGGER Microcontroller GmbH & Co. KG www.segger.com 2/28 embos for M16C CPUs
More informationCreate an USB Application Using CMSIS-Driver. Klaus Koschinsky Senior Field Applications Engineer
Create an USB Application Using CMSIS-Driver Klaus Koschinsky Senior Field Applications Engineer 1 Contents Project Overview CMSIS Technical Overview Development Tools Project Creation (Demo) 2 Create
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 informationAN10913 DSP library for LPC1700 and LPC1300
Rev. 3 11 June 2010 Application note Document information Info Content Keywords LPC1700, LPC1300, DSP library Abstract This application note describes how to use the DSP library with the LPC1700 and LPC1300
More informationLab 1 Introduction to TI s TMS320C6713 DSK Digital Signal Processing Board
Lab 1 Introduction to TI s TMS320C6713 DSK Digital Signal Processing Board This laboratory introduces you to the TMS320C6713 DSK board module with: An overview of the functional blocks of the board Code
More informationGraduate Institute of Electronics Engineering, NTU 9/16/2004
/ 9/16/2004 ACCESS IC LAB Overview of DSP Processor Current Status of NTU DSP Laboratory (E1-304) Course outline of Programmable DSP Lab Lab handout and final project DSP processor is a specially designed
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 informationQuick Start Guide for mbed enabling Freescale FRDM-KL25z Freedom board
Quick Start Guide for mbed enabling Freescale FRDM-KL25z Freedom board FRDM-KL25Z Freedom board is a low-cost evaluation and development platform to demonstrate the capability of the Kinetis-L family of
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 informationUsing the Digital I/O interface of STMicroelectronics STM32 Microcontrollers
Using the Digital I/O interface of STMicroelectronics STM32 Microcontrollers ARSLAB - Autonomous and Robotic Systems Laboratory Dipartimento di Matematica e Informatica - Università di Catania, Italy santoro@dmi.unict.it
More informationFinal Exam. Date: May 14, Printed Name:
EE319K Spring 2015 Final Exam Page 1 Final Exam Date: May 14, 2015 UT EID: Circle one: MT, NT, JV, RY, VJR Printed Name: Last, First Your signature is your promise that you have not cheated and will not
More informationSi7013 Temperature Humidity Driver v1.2
Si7013 Temperature Humidity Driver v1.2 Quickstart Guide for ARIS board All information contained in these materials, including products and product specifications, represents information on the product
More informationFPU DSP Software Library USER S GUIDE
FPU DSP Software Library USER S GUIDE FPU-SW-LIB-UG-V1.50.00.00 Copyright 2015 Texas Instruments Incorporated. Copyright Copyright 2015 Texas Instruments Incorporated. All rights reserved. ControlSUITE
More informationDigital Signal Processing System Design: LabVIEW-Based Hybrid Programming Nasser Kehtarnavaz
Digital Signal Processing System Design: LabVIEW-Based Hybrid Programming Nasser Kehtarnavaz Digital Signal Processing System Design: LabVIEW-Based Hybrid Programming by Nasser Kehtarnavaz University
More informationLaboratorio di Programmazione. Prof. Marco Bertini
Laboratorio di Programmazione Prof. Marco Bertini marco.bertini@unifi.it http://www.micc.unifi.it/bertini/ How the compiler works Programs and libraries The compiler In C++, everytime someone writes ">>
More informationC introduction: part 1
What is C? C is a compiled language that gives the programmer maximum control and efficiency 1. 1 https://computer.howstuffworks.com/c1.htm 2 / 26 3 / 26 Outline Basic file structure Main function Compilation
More informationELEC4042 Signal Processing 2 MATLAB Review (prepared by A/Prof Ambikairajah)
Introduction ELEC4042 Signal Processing 2 MATLAB Review (prepared by A/Prof Ambikairajah) MATLAB is a powerful mathematical language that is used in most engineering companies today. Its strength lies
More informationARROW ARIS Board Software User s Guide 27/07/2016
ARROW ARIS Board Software User s Guide All information contained in these materials, including products and product specifications, represents information on the product at the time of publication and
More informationAn Optimizing Compiler for the TMS320C25 DSP Chip
An Optimizing Compiler for the TMS320C25 DSP Chip Wen-Yen Lin, Corinna G Lee, and Paul Chow Published in Proceedings of the 5th International Conference on Signal Processing Applications and Technology,
More informationApplication Note: AN00142 xcore-xa - xcore ARM Bridge Library
Application Note: AN00142 xcore-xa - xcore ARM Bridge Library This application note shows how to create a simple application which targets the XMOS xcore-xa device and demonstrates how to build and run
More informationHands-On Workshop: ARM mbed : From Rapid Prototyping to Production
Hands-On Workshop: ARM mbed : From Rapid Prototyping to Production FTF-SDS-F0107 Michael Norman, Martin Kojtal A P R. 2 0 1 4 TM External Use Agenda What is mbed? mbed Hardware mbed Software mbed Tools
More information02 - Numerical Representation and Introduction to Junior
02 - Numerical Representation and Introduction to Junior September 10, 2013 Todays lecture Finite length effects, continued from Lecture 1 How to handle overflow Introduction to the Junior processor Demonstration
More informationHands-On Workshop: Developing with the Kinetis Software Development Kit
Hands-On Workshop: Developing with the Kinetis Software Development Kit FTF-SDS-F0127 Michael Norman Technical Marketing Manager Chris Brown Applications Engineer A p r i l. 0 9. 2 0 1 4 TM External Use
More informationARM Architecture and Assembly Programming Intro
ARM Architecture and Assembly Programming Intro Instructors: Dr. Phillip Jones http://class.ece.iastate.edu/cpre288 1 Announcements HW9: Due Sunday 11/5 (midnight) Lab 9: object detection lab Give TAs
More informationNetwork Embedded Systems Sensor Networks Fall Hardware. Marcus Chang,
Network Embedded Systems Sensor Networks Fall 2013 Hardware Marcus Chang, mchang@cs.jhu.edu 1 Embedded Systems Designed to do one or a few dedicated and/or specific functions Embedded as part of a complete
More informationL-Point Interpolator
Multi-Rate Processing and Polyphase Filtering with Plug-In Example Will Pirkle Oversampling theory is covered in detail in many DSP books and the math can be a little much to deal with at first. In Plug-Ins,
More informationLab 1: First Steps in C++ - Eclipse
Lab 1: First Steps in C++ - Eclipse Step Zero: Select workspace 1. Upon launching eclipse, we are ask to chose a workspace: 2. We select a new workspace directory (e.g., C:\Courses ): 3. We accept the
More informationTutorial Creating your own program in Atmel Studio 6
in Atmel Studio 6 Step 1 Create a new project The easiest way to create a new project is to choose File >New >Project. There is also the possibility to create a new example project form ASF (Atmel Software
More informationBASICS OF THE RENESAS SYNERGY TM
BASICS OF THE RENESAS SYNERGY TM PLATFORM Richard Oed 2018.11 02 CHAPTER 9 INCLUDING A REAL-TIME OPERATING SYSTEM CONTENTS 9 INCLUDING A REAL-TIME OPERATING SYSTEM 03 9.1 Threads, Semaphores and Queues
More informationCheck the Desktop development with C++ in the install options. You may want to take 15 minutes to try the Hello World C++ tutorial:
CS262 Computer Vision OpenCV 3 Configuration with Visual Studio 2017 Prof. John Magee Clark University Install Visual Studio 2017 Community Check the Desktop development with C++ in the install options.
More information7/21/10 MOTIVATION. Did you see Inception this weekend? COMP 10 EXPLORING COMPUTER SCIENCE. Lecture 6 Arrays
MOTIVATION Did you see Inception this weekend? COMP 10 EXPLORING COMPUTER SCIENCE Lecture 6 Arrays float movierating1 = 1.0;! float movierating2 = 3.5;! float movierating3 = 1.0;! float movierating4 =
More information