LABORATORIO DI ARCHITETTURE E PROGRAMMAZIONE DEI SISTEMI ELETTRONICI INDUSTRIALI. Laboratory Lesson 2: - General Purpose I/O - SysTick
|
|
- Jonah Small
- 5 years ago
- Views:
Transcription
1 LABORATORIO DI ARCHITETTURE E PROGRAMMAZIONE DEI SISTEMI ELETTRONICI INDUSTRIALI Laboratory Lesson 2: - General Purpose I/O - SysTick Prof. Luca Benini <luca.benini@unibo.it> Prof Davide Rossi <davide.rossi@unibo.it> Simone Benatti <simone.benatti@unibo.it> Victor Kartsch<victor.kartsch@unibo.it>
2 Info & Communications
3 Course Organization Check website for announcements, course material: Send homework via mail, mandatory subject with group number and lesson number (with spaces, for easy indexing) LABARCH2018 Group 22 Lab 02 (Lab 2 is the lesson number). THIS IS LAB 2!!! Please name correctly your files NO Attachments with same name or code sent in.txt: (main.c, main.c, main.c), main1.c.txt OK Attachments: main-lab2-es1.c, main-lab2-es2.c, Send replies to questions via mail, always report question and response (formats: doc, txt, pdf)
4 STM32F4Discovery Kit Read the Manual(s)!!! (all available on ST website and on course site) UM1472 User Manual User manual for the STM32F4Discovert Kit (information on board, its components, connectors, schematics, ) RM0090 Reference Manual Reference manual for MCU STM32F407 (detailed information on all peripherals) PM0241 Programming Manual Programming manuals for STM32F4 (detailed information on CortexM4 core)
5 For Help At the beginning of every lab session you are provided with all the documents needed to understand what it is going on in the lab and to successfully do your homework if you don t know something related to the hardware: If it is a component on the board (e.g. a LED) look at the Discovery User Manual If it is related to a peripheral of the MCU (e.g. UART, Timers) look at the MCU Reference manual If it is related to the ARM core look in the MCU Programming manual If you do not know how to use a peripheral: Look at the MCU Reference Manual for the pheripheral description Look at the StdPeriph Library and its code examples (download the full version of the StdPeriph Lib for STM32F4).
6 Recap Lab1: IDE & Debug Intro to embedded programming Crate/compile/debug Eclipse projects
7 General Purpose I/O (GPIO)
8 GPIO: Intuition Take a bit from the physical world and put it in software (or vice versa). Input Buttons Somewhere in a register of our MCU Voltage logic level to be read Output LEDs Somewhere in a register of our MCU Voltage logic level to be set
9 GPIO: Diagram Each MCU pin can be used as a General Purpose digital input or output. Input: read binary value of specified pin, (e.g. button state) Output: set binary value of specified pin (e.g. LED, simple signal trigger) GPIO Pins can be configured to trigger an interrupt GPIO Pins can not source significant current (typ. 4mA max!)
10 APB2 GPIO in STM32 The STM32 is well served with general purpose IO pins, having up to 81 bidirectional IO pins with interrupt capability. The IO pins are arranged as five ports each having 16 IO lines. PA [15:0] GPIO port A PB [15:0] GPIO port B PC [15:0] GPIO port C PD [15:0] GPIO port D PE [15:0] GPIO port E
11 GPIO: Block Diagram
12 GPIO: Turn on a LED Turning on a LED one of the most common hello world applications for all MCUs: LED driving circuitry is very simple : it consists in a voltage source connected to a diode in series to a limiting resistor Our GPIO acts as a voltage source (0..3.3V) (it can provide a small current too!) GPIO PIN OUTPUT CURRENT MCU and let there be light!
13 GPIO: What I want to use a GPIO. What do I need to know? Which bus the GPIOs are connected to? GPIO ports are on the AHB1 bus Which Port/PIN the GPIO is on? Depends on the application/board I want to use a LED on the Discovery board. What do I need to know? Which PIN the LED is connected to? look at your board schematic! Four user LEDs: LD3 (orange), LD4 (green), LD5 (red) and LD6 (blue): User LD3 orange: connected to the I/O PD13 User LD4 green: connected to the I/O PD12 User LD5 red: connected to the I/O PD14 User LD6 blue: connected to the I/O PD15 What do I need to do with this GPIO? (input, output,...) I need to write (output)
14 GPIO: Where I want to use a GPIO. Where can I gather these information? Look at the Discovery User Manual Board schematic and information on how the LEDs are connected Look at the MCU Reference Manual Info on GPIO peripheral, its clock, its BUS, To check electrical characteristics look in the MCU Data Sheet Info on electrical specifications and supported current/voltages
15 GPIO: How I want to use a GPIO. How can I use this information to actually turn on a LED? 1) Enable the High Speed AHB (AHB1) peripheral by enabling its clock: void RCC_AHB1PeriphClockCmd(uint32_t RCC_AHB1Periph_GPIOD, FunctionalState NewState); Look at: stm32f4xx_rcc.c 2) Configure the GPIO Port, by declaring and populating: GPIO_InitTypeDef myconfig Look at: stm32f4xx_gpio.h 3) Init the GPIO Port void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); Look at: stm32f4xx_gpio.c 4) Turn ON the LED void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) Look at: stm32f4xx_gpio.c
16 GPIO: Code example #include "stm32f4xx.h" int main(void) { GPIO_InitTypeDef GPIO_InitStructure; /* Enable the GPIO_LED Clock */ /* Configure the GPIO_LED pin and enable AHB1 BUS Port D */ RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE); /*Configure for Pin 12 Port D as output*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOD, &GPIO_InitStructure); GPIO_SetBits(GPIOD,GPIO_Pin_12); /*And light was made*/ } while(1);
17 GPIO: LED blink int main(void) {... } while(1) { mydelay( ); GPIO_SetBits(GPIOD,GPIO_Pin_15); mydelay( ); GPIO_ResetBits(GPIOD,GPIO_Pin_15); } Check the code example: main-lab2-gpio.c void mydelay(int delay) { while (delay > 0) delay--; } return;
18 GPIO: Use library #include "stm32f4xx.h" #include "stm32f4_discovery.h" int main(void) { STM_EVAL_LEDInit(LED6) } while(1) { mydelay( ); STM_EVAL_LEDToggle(LED6); } Check the code example: main-lab2-led.c void mydelay(int delay) { while (delay > 0) delay--; Tip: to see the code of a library function right-click on it and select Open Declaration (or hit F3) } return;
19 SysTick
20 SysTick: Intro What if I need to repeat a periodic task or put a delay in my code? Very common problem in all embedded applications! Example: blink a LED every second Bad engineer solution: wait in a loop Decrement a variable to waste time for(i = 0; i< 10000;i++ ) { dummy_counter++; } Smart embedded engineer: use timers and interrupt! SysTick timer!
21 SysTick: What SystTick It is part of the ARM Cortex M CORE. System timer that can generate periodic interrupts Widely used in embedded applications to have an exact timing SysTick is used to schedule periodic events (usually configured to fire in the range of 1-100ms) When enabled, it periodically generates an interrupt Current program state is saved The IRQ handler is exectured: SysTick_Handler
22 SysTick: Setup I want to schedule a periodic event. How can I use SysTick? 1) We need to setup the SysTick static INLINE uint32_t SysTick_Config(uint32_t ticks) ticks is the number of ticks between two interrupts SystemCoreClock is the number of ticks in 1 sec Returns 0 if ok, 1 if something wrong 2) We need to implement the ISR (Interrupt Service Routine) void SysTick_Handler(void) The ISR is always defined in stm32f4xx_it.h (but you con re-define it) The name of the ISR for SysTick is SysTick_Handler(void) Here is the code executed every ticks ticks
23 SysTick: Code example int main(void) { } if (SysTick_Config(SystemCoreClock / 1000)) { /* Capture error */ while(1); } ISR executed every 1 ms void SysTick_Handler(void) { static u16 counter = 0; static variable } counter++; if (counter >= 500) { STM_EVAL_LEDToggle(LED6); counter = 0; } Every 500 increments: 500ms period Check the code example: main-lab2-systick.c
24 Weekly assignments
25 Setup Recap Import the template project form course webpage Go to course website Download the Template_Labarch2018_1.zip Import Now you should have an empty new project Copy the provided main to your main.c: Go to course website For each Lab the needed files are provided Chose Lab2: etc. Select All > Copy-Paste into your main.c
26 GPIO: Assignments 1.1) Write a code to use all the LEDs on the board. All LEDs should be used together (same state or blink for all LEDS). Do not use STM_EVAL_xxx functions, write the code using only GPIO functions. Use Delay function, not SysTick 1.2) Write a code to use all LEDs and use them to compose a blinking pattern. The pattern can be anything but not all LEDs together (e.g. circular pattern, alternate 2 and 2, different frequencies for each LED, ). Do not use STM_EVAL_xxx functions, write the code using only GPIO functions. Use Delay function, not SysTick
27 GPIO: Questions Look at the Reference manual, stm32f10x_gpio.h/stm32f4xx_gpio.c (and google). The answers can be in Italian or in English 1.a) To use a LED, why we do not configure GPIO_Mode = GPIO_Mode_AN? 1.b) Describe all the available GPIO configuration modalities (GPIO_Mode). 1.c) What is the purpose of the configurations Input pull-up and Input pulldown?
28 SysTick: Assignments 1.3) Write a code to blink two or more LEDs with different patterns/blinking frequency. You can use STM_EVAL_xxx functions or write your functions using GPIO functions. Use only the SysTick, no Delay functions 1.4) Write a code to blink more than one LED, with different patterns/blinking frequency. All the blinking frequencies should be below 1Hz. You can use STM_EVAL_xxx functions or write your functions using GPIO functions. Use only the SysTick, no Delay functions
29 SysTick: Questions 1.d) What is SystemCoreClock? Where is it defined and what is its value? 1.e) What is SysTick_Handler and what is its purpose?
LABORATORIO 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 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 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 1: - Introduction to System Workbench for STM32 - Programming and debugging Prof. Luca Benini
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 informationEmbedded System Design
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN KỸ THUẬT ĐIỆN TỬ Embedded System Design Chapter 3: C Programming for ARM Microcontroller 1. C Program Basics 2. ARM Cortex-M
More informationIntroduction to Microcontrollers LAB
Introduction to Microcontrollers LAB Michele Magno IIS Group - ETH Zurich michele.magno@iis.ee.ethz.ch 1 EXERCISE LAB ACTIVITIES STM32F401DISCOVERY STM32F401VC MCU ST-LINK/V2 embedded debugger ST MEMS
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 informationIntroduction to Microcontrollers LAB
Introduction to Microcontrollers LAB Michele Magno IIS Group - ETH Zurich michele.magno@iis.ee.ethz.ch 1 Lunch the Windows Machine Go to your account in Linux machine Click on activities -> look for terminal
More informationGeneral Purpose Input/Output (GPIO)
GPIO 1 General Purpose Input/Output (GPIO) Sometimes it is called bus expander GPIO is an interface available on microcontrollers/microprocessors It can act as input or output GPIO often are arranged into
More informationW7200 User s Guide. for STM32F10x Standard Library. - USART - GPIO - Timer. Version 1.0.0e
W7200 User s Guide for STM32F10x Standard Library - USART - GPIO - Timer Version 1.0.0e 2013 WIZnet Co., Inc. All Rights Reserved. For more information, visit our website at http://www.wiznet.co.kr Table
More informationSTM32F3 Hands-On Workshop
STM32F3 Hands-On Workshop Ensure you picked-up Welcome Hands-On 2 USB Flash Drive with STM32F3 Discovery Kit Contents USB Cable STM32F3-Discovery Kit will be provided after software is loaded Keil uvision
More informationLearn how to communicate
USART 1 Learn how to communicate Programmed I/O (Software Polling) Interrupt Driven I/O Direct Memory Access (DMA) 2 Programmed I/O (Polling) Processor must read and check I/O ready bits for proper value
More informationECE 362 Experiment 3: General Purpose I/O
ECE 362 Experiment 3: General Purpose I/O 1.0 Introduction In this experiment, you will learn how to attach simple input devices (pushbuttons) and simple output devices (LEDs) to an STM32 development board.
More informationSTM32F4 Labs. T.O.M.A.S Technically Oriented Microcontroller Application Services V1.07
STM32F4 Labs T.O.M.A.S Technically Oriented Microcontroller Application Services V1.07 CONTENT 1/3 2 1. GPIO lab 2. EXTI lab 3. SLEEP lab 4. STOP lab 5. STANDBY lab 6. DMA Poll lab 7. DMA Interrupt lab
More informationELEC 3040/3050 Lab Manual Lab 2 Revised 8/20/14. LAB 2: Developing and Debugging C Programs in MDK-ARM for the STM32L100RC Microcontroller
LAB 2: Developing and Debugging C Programs in MDK-ARM for the STM32L100RC Microcontroller The objective of this laboratory session is to become more familiar with the process for creating, executing and
More informationECE 362 Experiment 4: Interrupts
ECE 362 Experiment 4: Interrupts 1.0 Introduction Microprocessors consistently follow a straight sequence of instructions, and you have likely only worked with this kind of programming until now. In this
More informationMeD SeS Worksheet 4 11/01/18
Title: Serial data communication Author: Craig Duffy 9/9/14, 11/01/18 Module: Mobile and Embedded Devices, Secure Embedded Systems Awards: BSc CSI, BSc Forensic Computing, Computer Security. Prerequisites:
More information17. Serial communication - I 2 C
7. Serial communication - I 2 C Two typical serial busses will be discussed and their use will be demonstrated in this and next chapter, these are I 2 C (Inter Integrated Circuit, IIC or I2C) and SPI (Serial
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 informationUSART. USART stands for Universal Synchronous Asynchronous Receiver Transmitter. Full-duplex NRZ asynchronous serial data transmission
USART 1 USART USART stands for Universal Synchronous Asynchronous Receiver Transmitter Full-duplex NRZ asynchronous serial data transmission Offer wide ranges of baud rate 2 Serial communication Can support
More informationDeveloping and Debugging C Programs in MDK-ARM for the STM32L100RC Microcontroller
Developing and Debugging C Programs in MDK-ARM for the STM32L100RC Microcontroller ELCE 3040/3050 Lab Session 2 (write-up on course web page) Important References (on course web page): Tutorial: C programming
More informationSTM32F4 Standard Peripheral Library. EE599: Real-Time Operating Systems University of Kentucky. Dr. Samir Rawashdeh
STM32F4 Standard Peripheral Library EE599: Real-Time Operating Systems University of Kentucky Dr. Samir Rawashdeh Includes material by: - ST Reference Material 1 Include files STM32F10x_StdPeriph_Driver
More informationWelcome to Lab! You do not need to keep the same partner from last lab. We will come around checking your prelabs after we introduce the lab
Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website: http://users.wpi.edu/~ndemarinis/ece2049/ You do not need to keep the same partner from
More informationHibernation Module. Introduction. Agenda
Hibernation Module Introduction In this chapter we ll take a look at the hibernation module and the low power modes of the M4F. The lab will show you how to place the device in sleep mode and you ll measure
More informationStart a New Project with Keil MDK-ARM Version 5 and ST Micro Nucleo-F446RE
Start a New Project with Keil MDK-ARM Version 5 and ST Micro Nucleo-F446RE This tutorial is intended for starting a new project to develop software with ST Micro Nucleo-F446RE board (with STM32F446RE MCU)
More informationECE 362 Lab Verification / Evaluation Form Experiment 3
ECE 362 Lab Verification / Evaluation Form Experiment 3 Evaluation: IMPORTANT! You must complete this experiment during your scheduled lab perior. All work for this experiment must be demonstrated and
More informationSTM32F4 family practical session
STM32F4 family practical session Atollic TrueSTUDIO STM32 + STM32F4 discovery kit modified by Before the training Select/configure PC with MS Windows 2000/XP/Vista/7 in order to have administrative rights
More informationEmbedded Systems. October 2, 2017
15-348 Embedded Systems October 2, 2017 Announcements Read pages 267 275 The Plan! Timers and Counter Interrupts A little review of timers How do we keep track of seconds using a timer? We have several
More informationECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives:
ECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives: This lab will introduce basic embedded systems programming concepts by familiarizing the user with an embedded programming
More informationLab Assignment: Interrupt + Lookup Tables + Binary
Lab Assignment: Interrupt + Lookup Tables + Binary Semaphores Objective To learn how to create a single dynamic user defined interrupt service routine callback driver/library. This lab will utilize: Semaphores
More informationThe board contains the connector for SWD bus to implement SWD method of programming. Fig. K190 VDD 2 GND 4
3. Programming Once the machine code containing the user program is prepared on a personal computer, the user must load the code into the memory of the processor. Several methods for loading are available.
More informationAN3268 Application note
Application note STM32VLDISCOVERY firmware package Introduction The purpose of this application note is to describe the STM32VLDISCOVERY package structure and provide short descriptions of: STM32VLDISCOVERY
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 informationEECS 373 Midterm Winter 2017
EECS 373 Midterm Winter 2017 Name: unique name: Sign the following honor code pledge. I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: Problem Points 1 /12
More informationBinary Representations, and the Teensy 3.5
Binary Representations, and the Teensy 3.5 Data Types short, int, long: size depends on the particular microprocessor In order to be clear about sizes, gcc (our compiler) provides a set of types, including:
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 informationTEVATRON TECHNOLOGIES PVT. LTD Embedded! Robotics! IoT! VLSI Design! Projects! Technical Consultancy! Education! STEM! Software!
Summer Training 2016 Advance Embedded Systems Fast track of AVR and detailed working on STM32 ARM Processor with RTOS- Real Time Operating Systems Covering 1. Hands on Topics and Sessions Covered in Summer
More informationEECS 388 Embedded Systems Example Program Structure. Gary J. Minden August 24, 2016
EECS 388 Embedded Systems Example Program Structure Gary J. Minden August 24, 2016 1 EECS 388 Program Structure Initial program structure A set of Main, Tasks, and Timer Tasks consists of: Task variables
More informationEmbedded Systems - FS 2018
Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Embedded Systems - FS 2018 Lab 1 Date : 14.3.2018 LaunchPad Basic Bare-Metal Programming Goals of this Lab Get to know the MSP-EXP432P401R
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 informationLPC4088 Timer Interrupts CM0506 Small Embedded Systems
LPC4088 Timer Interrupts CM0506 Small Embedded Systems Dr Alun Moon Seminar 5 Here the module begins to separate from EN0572. The programming structure will make extensive use of interrupts to handle events,
More informationAN3996 Application Note
Application Note Adjustable LED blinking speed using STM8SVLDISCOVERY Application overview This application note provides a short description of the demonstration firmware Discover which is preprogrammed
More informationEE445L Fall 2014 Final Version A Page 1 of 7
EE445L Fall 2014 Final Version A Page 1 of 7 Jonathan W. Valvano First: Last: This is the closed book section. You must put your answers in the boxes. When you are done, you turn in the closed-book part
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 informationEmbedded Programming with ARM Cortex-M3 Basic Experiments 1
Embedded Programming with ARM Cortex-M3 Basic Experiments 1 Alan Xiao, Ph.D Handheld Scientific, Inc. qiwei@handheldsci.com Today s Topics Basics (with the Discovery board): 1. General Input/Output (GPIO)
More informationBy the end of Class. Outline. Homework 5. C8051F020 Block Diagram (pg 18) Pseudo-code for Lab 1-2 due as part of prelab
By the end of Class Pseudo-code for Lab 1-2 due as part of prelab Homework #5 on website due before next class Outline Introduce Lab 1-2 Counting Timers on C8051 Interrupts Laboratory Worksheet #05 Copy
More informationSTM32 Ecosystem workshop. T.O.M.A.S Team
STM32 Ecosystem workshop T.O.M.A.S Team 2 Now it is a right time for some slides We will present briefly what is STM32CubeMX and the structure of the Cube library What it is STM32CubeMX? STM32CubeMX application
More informationDesign and Implementation Interrupt Mechanism
Design and Implementation Interrupt Mechanism 1 Module Overview Study processor interruption; Design and implement of an interrupt mechanism which responds to interrupts from timer and UART; Program interrupt
More informationBASICS OF THE RENESAS SYNERGY PLATFORM
BASICS OF THE RENESAS SYNERGY PLATFORM TM Richard Oed 2017.12 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 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 informationWelcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website:
Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website: https://users.wpi.edu/~sjarvis/ece2049_smj/ We will come around checking your pre-labs
More informationEmbedded Systems. 3. Hardware Software Interface. Lothar Thiele. Computer Engineering and Networks Laboratory
Embedded Systems 3. Hardware Software Interface Lothar Thiele Computer Engineering and Networks Laboratory Do you Remember? 3 2 3 3 High Level Physical View 3 4 High Level Physical View 3 5 What you will
More informationECE 362 Lab Verification / Evaluation Form Experiment 5
ECE 362 Lab Verification / Evaluation Form Experiment 5 Evaluation: IMPORTANT! You must complete this experiment during your scheduled lab perior. All work for this experiment must be demonstrated and
More informationGetting started with the STM32 Nucleo pack for USB Type-C and Power Delivery with the Nucleo-F072RB board and the STUSB1602
User manual Getting started with the STM32 Nucleo pack for USB Type-C and Power Delivery with the Nucleo-F072RB board and the STUSB1602 Introduction The USB Type-C and Power Delivery Nucleo pack P-NUCLEO-USB002
More informationAN2606 Application note
Application note STM32 microcontroller system memory boot mode Introduction The bootloader is stored in the internal boot ROM memory (system memory) of STM32 devices. It is programmed by ST during production.
More informationAN719 PRECISION32 IDE AND APPBUILDER DETAILED TUTORIAL AND WALKTHROUGH. 1. Introduction. Figure 1. Precision32 IDE and AppBuilder Walkthrough Overview
PRECISION32 IDE AND APPBUILDER DETAILED TUTORIAL AND WALKTHROUGH 1. Introduction This document provides a step-by-step tutorial walkthrough for the Precision32 Development Tools (IDE and AppBuilder) using
More informationELC4438: Embedded System Design ARM Cortex-M Architecture II
ELC4438: Embedded System Design ARM Cortex-M Architecture II Liang Dong Electrical and Computer Engineering Baylor University Memory system The memory systems in microcontrollers often contain two or more
More informationSmart.IO Host Interface Layer and Demo Programs
Smart.IO Host Interface Layer and Demo Programs V0.3 Nov 15th, 2017 richard@imagecraft.com Richard Man, ImageCraft, https://imagecraft.com/smartio To use the Smart.IO toolkit, you include the Smart.IO
More informationAN3279 Application Note
Application Note Adjustable LED blinking speed using STM8S-DISCOVERY touch sensing key Application overview This application note provides a short description of how to use the touch sensing key to change
More informationUser Manual Rev. 0. Freescale Semiconductor Inc. FRDMKL02ZUM
FRDM-KL02Z User Manual Rev. 0 Freescale Semiconductor Inc. FRDMKL02ZUM 1. Overview The Freescale Freedom development platform is an evaluation and development tool ideal for rapid prototyping of microcontroller-based
More informationNuMicro Family NuMaker Brick Design Guide
ARM Cortex -M4 32-bit Microcontroller NuMicro Family Design Guide The information described in this document is the exclusive intellectual property of Nuvoton Technology Corporation and shall not be reproduced
More informationEECS 373 Midterm 2 Fall 2018
EECS 373 Midterm 2 Fall 2018 Name: unique name: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Nor did I discuss this exam with anyone after
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 informationReal Time Embedded Systems. Lecture 10 January 31, 2012 Interrupts
Interrupts Real Time Embedded Systems www.atomicrhubarb.com/embedded Lecture 10 January 31, 2012 Interrupts Section Topic Where in the books Catsoulis chapter 1 (pg 10-12) Simon chapter4 Zilog UM197 (ZNEO
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 informationProblem Score 1 / 27 2 / 19 3 / 16 4 / 14 code check off 5 / 22 /2 Total /100
ME430 Mechatronics Examination I Page 1 Name CM Section You may use only: ME430 Mechatronics Examination I Sept 22nd, 2016 Problem Score 1 / 27 2 / 19 3 / 16 4 / 14 code check off 5 / 22 /2 Total /100
More informationP-NUCLEO-USB001. STM32 Nucleo pack for USB Type-C and Power Delivery Data brief. Features. Description
STM32 Nucleo pack for USB Type-C and Power Delivery Data brief Features Two DRP USB Type-C receptacles USB 2.0 FS data communication interface as peripheral V BUS load and discharge switches V CONN switches
More informationAN3265 Application note
Application note Handling hardware and software failures with the STM8S-DISCOVERY Application overview This application is based on the STM8S-DISCOVERY. It demonstrates how to use the STM8S window watchdog
More informationInterrupts. Embedded Systems Interfacing. 08 September 2011
08 September 2011 An iterrupt is an internal or external event that forces a hardware call to a specified function called an interrupt service routine Interrupt enable must be set (initialization) The
More informationCypress FM4 Tools Set-up with Keil 5.x
Introduction Mark Wickert, 9/4/16, Revised 1/28/19 This document will describe the details of setting up your own system with the ARM IDE Keil, and software drivers that support the Cypress FM4 board.
More informationC:\Users\Bryan\Documents\RIT\Senior Design\P14345\web\public\FinalDocuments\main.c
****************************************************************************** * @file System / main.c * @author P14345 * @version V1.1.0 * @date 11/6/14 * @brief Program body ******************************************************************************
More informationECE 381 Lab 1a PSoC5 Blinking LED 1. Launch PSoC Creator 3.3 from the star menu
ECE 381 Lab 1a PSoC5 Blinking LED 1. Launch PSoC Creator 3.3 from the star menu 2. Go to File New Project 3. Select the Target Device radio button and PSoC 5LP in the first dropdown menu 4. In the second
More informationAN4666 Application note
Application note Parallel synchronous transmission using GPIO and DMA Introduction The STM32 MCUs are able to emulate a parallel synchronous communication through the GPIO interface, using the embedded
More informationFigure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick
TOOLSTICK C8051F560 DAUGHTER CARD USER S GUIDE 1. Handling Recommendations To enable development, the ToolStick Base Adapter and daughter cards are distributed without any protective plastics. To prevent
More informationTable 1: Cross Reference of Applicable Products. INTERNAL PIC NUMBER Arm Cortex M0+ UT32M0R GPIO Module QS30
Standard Product Enable the GPIO Module UT32M0R500 32-bit Arm Cortex M0+ Microcontroller Application Note December 21, 2017 The most important thing we build is trust PRODUCT NAME Table 1: Cross Reference
More informationSTM32 F4xx Discovery Board Setup Guide
STM32 F4xx Discovery Board Setup Guide Audio Weaver November 2016 Copyright Information 2014 DSP Concepts, Inc., ALL RIGHTS RESERVED. This document may not be reproduced in any form without prior, express
More information// middle priority ISR Status.flag = 1; Status.y = 6;
EE445L Spring 2018 Quiz 1A Page 1 of 6 Jonathan W. Valvano First: Last: March 1, 2018, 3:30pm-4:45pm. This is a closed book exam, with one 8.5 by 11-inch crib sheet. You have 75 minutes, so please allocate
More informationSTM32 F0 Value Line. Entry-level MCUs
STM32 F0 Value Line Entry-level MCUs Key Messages 2 STM32 F0: Is the Cortex -M0 core generated with ST s STM32 DNA, for cost sensitive designs. The STM32 F0 is benefiting of STM32 DNA, providing the essential
More informationFigure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick
TOOLSTICK C8051F330 DAUGHTER CARD USER S GUIDE 1. Handling Recommendations To enable development, the ToolStick Base Adapter and daughter cards are distributed without any protective plastics. To prevent
More informationCSCE 436/836: Embedded Systems Lab 1b: Hoverboard Programming Introduction
1 Overview CSCE 436/836: Embedded Systems Lab 1b: Hoverboard Programming Introduction Instructor: Carrick Detweiler carrick _at_ cse.unl.edu University of Nebraska-Lincoln Spring 2011 Started: Jan 27,
More informationHello, and welcome to this presentation of the STM32 general-purpose IO interface. It covers the general-purpose input and output interface and how
Hello, and welcome to this presentation of the STM32 general-purpose IO interface. It covers the general-purpose input and output interface and how it allows connectivity to the environment around the
More informationBooting a LEON system over SpaceWire RMAP. Application note Doc. No GRLIB-AN-0002 Issue 2.1
Template: GQMS-TPLT-1-1-0 Booting a LEON system over SpaceWire RMAP Application note 2017-05-23 Doc. No Issue 2.1 Date: 2017-05-23 Page: 2 of 11 CHANGE RECORD Issue Date Section / Page Description 1.0
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 informationEmbedded Systems - FS 2018
Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Embedded Systems - FS 2018 Sample solution to Lab 1 Date : 14.3.2018 LaunchPad Basic Bare-Metal Programming Goals of this Lab
More informationAVR32 UC3B Hands-on 01: Using Low-Level Drivers of the UC3B Software Framework
AVR32 UC3B Hands-on 01: Using Low-Level Drivers of the UC3B Software Framework Prerequisites Hands-On - AVR32 Studio Hands-On 01 Knowledge Requirements - Basic understanding of microcontrollers - Basic
More informationAN2585 Application note
AN2585 Application note Application examples of the STM32F101xx and STM32F103xx core and system peripherals Introduction The STM32F10xxx is built around the latest Cortex -M3 core from ARM designed for
More informationVORAGO VA108x0 GCC IDE application note
AN2015 VORAGO VA108x0 GCC IDE application note June 11, 2018 Version 1.0 VA10800/VA10820 Abstract ARM has provided support for the GCC (GNU C compiler) and GDB (GNU DeBug) tools such that it is now a very
More informationExperiment 3. Interrupts. Hazem Selmi, Ahmad Khayyat
Experiment 3 Interrupts Hazem Selmi, Ahmad Khayyat Version 162, 24 February 2017 Table of Contents 1. Objectives........................................................................................
More informationCode Composer Studio. MSP Project Setup
Code Composer Studio MSP Project Setup Complete the installation of the Code Composer Studio software using the Code Composer Studio setup slides Start Code Composer Studio desktop shortcut start menu
More informationFinal Exam. Date: May 12, 2017
Final Exam Date: May 12, 2017 UT EID: Printed Name: Last, First Your signature is your promise that you have not cheated and will not cheat on this exam, nor will you help others to cheat on this exam:
More informationDesign and development of embedded systems for the Internet of Things (IoT) Fabio Angeletti Fabrizio Gattuso
Design and development of embedded systems for the Internet of Things (IoT) Fabio Angeletti Fabrizio Gattuso Microcontroller It is essentially a small computer on a chip Like any computer, it has memory,
More informationDAVE 3 Hands on / Quick Start Tutorial. Presentation Tutorial Start 1 v1.1: Creating a simple Project using PWM and Count Apps
DAVE Hands on / Quick Start Tutorial Presentation Tutorial Start v.: Creating a simple Project using PWM and Count Apps Project Changing the brightness of an LED with the PWM App PWMSP00 Interrupt on timer
More informationUser Manual Rev. 0. Freescale Semiconductor Inc. FRDMKL02ZUM
FRDM-KL02Z User Manual Rev. 0 Freescale Semiconductor Inc. FRDMKL02ZUM 1. Overview The Freescale Freedom development platform is an evaluation and development tool ideal for rapid prototyping of microcontroller-based
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 informationCOEN-4720 Embedded Systems Design Lecture 4 Interrupts (Part 1) Cristinel Ababei Dept. of Electrical and Computer Engineering Marquette University
COEN-4720 Embedded Systems Design Lecture 4 Interrupts (Part 1) Cristinel Ababei Dept. of Electrical and Computer Engineering Marquette University Outline Introduction NVIC and Interrupt Control Interrupt
More informationInterrupts and Low Power Features
ARM University Program 1 Copyright ARM Ltd 2013 Interrupts and Low Power Features Module Syllabus Interrupts What are interrupts? Why use interrupts? Interrupts Entering an Exception Handler Exiting an
More informationPAC52XX GPIO Peripheral Firmware Design
APPLICATION NOTE PAC52XX GPIO Peripheral Firmware Design TM Marc Sousa Senior Manager, Systems and Firmware www.active-semi.com Copyright 2014 Active-Semi, Inc. TABLE OF CONTENTS APPLICATION NOTE... 1
More informationAN4311 Application note
Application note Assessing STM32L1 Series current consumption Introduction The STMicroelectronics ARM Cortex -M3 based STM32L1 series uses ST s proprietary ultra-low-leakage process technology with an
More informationARROW ARIS EDGE S3 Board User s Guide 21/02/2018
ARROW ARIS EDGE S3 Board 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 is
More information