Register Access. Common - Last updated 7/25/18

Size: px
Start display at page:

Download "Register Access. Common - Last updated 7/25/18"

Transcription

1 Common - Last updated 7/25/18

2 Peripheral Each peripheral has a series of registers Configuration Control Inputs Outputs Registers are memory mapped Accessed via memory addresses 2 tj

3 Peripheral TI / Code Composer / MSP432 Use C-Structures to access the registers #define IO volatile #define I constant #define PERIPH_BASE ((uint32_t)0x ) // Peripherals start address #define TIMER_A1_BASE (PERIPH_BASE + 0x ) // Base address of module #define TIMER_A1 ((Timer_A_Type *) TIMER_A1_BASE) // pointer to Timer_A1 base addr typedef struct { IO uint16_t CTL; /*!< TimerAx Control Register */ IO uint16_t CCTL[7]; /*!< Timer_A Capture/Compare Control Register */ IO uint16_t R; /*!< TimerA register */ IO uint16_t CCR[7]; /*!< Timer_A Capture/Compare Register */ IO uint16_t EX0; /*!< TimerAx Expansion 0 Register */ uint16_t RESERVED0[6]; I uint16_t IV; /*!< TimerAx Interrupt Vector Register */ } Timer_A_Type; 3 tj

4 Peripheral TI / Code Composer / MSP432 Uses C-Structures to access the registers Base Register address (structure) is memory mapped Registers are accessed via the structure TIMER_A1 -> CTL = 0x0000; // Clear Timer_A1 control register Note the -> notation: we are accessing the structure via a pointer 4 tj

5 IO Structure Controlled by a series of registers 5 tj

6 IO Structure Output Path Direction Register 1 for output Data Register 0 or 1 6 tj

7 IO Structure Input Path Direction Register 0 for input Input Register 0 or 1 7 tj

8 IO Structure Input Path w/ Pull-up Pull Up/Down Register 1 for Enable Direction Register 0 for input Data Register 1 for pull-up Input Register 0 or 1 8 tj

9 IO Structure Input Path w/ Pull-down Pull Up/Down Register 1 for Enable Direction Register 0 for input Data Register 0 for pull-down Input Register 0 or 1 9 tj

10 Register Set (simplified) 8 bit registers 1 bit for each of 8 I/O pins 8 I/O pins assigned to a port 10 ports 1 through 10 Register Names P port x port number function port function P2->DIR Port 2 Direction Register 10 tj

11 Register Set (simplified) Px->DIR Direction register 0 for input, 1 for output Px->IN Input Data Register Holds the value of the input pin 0 or 1 Px->OUT Output Data Register Holds the value for the output pin 0 or 1 Holds the value of the pull-up/down when pull ups/down enabled 0 for pull down, 1 for pull up Px->REN Enable Pull-Up/Down Register 1 for enabled 11 tj

12 Register Set (simplified) IN 0 DIR OUT 1 disabled 0 REN enabled 1 LOW 0 OUT HIGH 1 IN 0 1 x PD 0 OUT PU 1 IN x 12 tj

13 Register Set (advanced) Px->DS Drive Strength Register 0 for regular strength, 1 for high drive strength Px->SEL0, Px->SEL1 Mode Select Register Px->IE Interrupt Enable Register 1 for enable Px->IES Interrupt Edge Select Register 0 for low high, 1 for high low Px->IFG Interrupt Flag Register Set to 1 on selected edge transition Px->IV Interrupt Vector Register 13 tj

14 IO Port Configuration Set pin 2 to an output Pin 2 is actually Port 6, bit 0 Need to set this pin to an output P6->DIR = 0x01; // set port 6 bit 0 to an output P6->DIR = b ; // set port 6 bit 0 to an output P6->DIR = 1; // set port 6 bit 0 to an output 14 tj

15 IO Port Configuration Set pin 2 to an output Pin 2 is actually Port 6, bit 0 Need to set this pin to an output P6->DIR = 0x01; // set port 6 bit 0 to an output P6->DIR = b ; // set port 6 bit 0 to an output P6->DIR = 1; // set port 6 bit 0 to an output 15 tj

16 IO Port Configuration P6DIR = 0x01; P6DIR = b ; P6DIR = 1; // set port 6 bit 0 to an output // set port 6 bit 0 to an output // set port 6 bit 0 to an output These set the other 7 pins to inputs this may not be OK P6->DIR = 0x01; // set port 6 bit 0 to an output P6->DIR = babcdefgh b P6->DIR = babcdefg1 Only the bit we want to change is changed 16 tj

17 IO Port Configuration Set pin 3 to an input Pin 3 is actually Port 3, pin 2 P3->DIR &= ~0x04; P3->DIR &= ~b ; P3->DIR = babcdefgh & ~b // set port 3 bit 2 to an input // set port 3 bit 2 to an input P3->DIR = babcdefgh & b P3->DIR = babcde0gh Only the bit we want to change is changed 17 tj

18 IO Port Configuration Set pin 4 to input with pullup Pin 4 is actually Port 3, pin 3 P3->DIR &= ~0x08; // set port 3 bit 3 to an input P3->OUT = 0x08; // prepare to make pullup P3->REN = 0x08 // enable pull_x for port 3 pin 3 18 tj

19 IO Port Configuration Set pin 5 to input with pull down Pin 5 is actually Port 4, pin 1 P4->DIR &= ~0x02; // set port 4 bit 1 to an input P4->OUT &= ~0x02; // prepare to make pulldown P4->REN = 0x02 // enable pull_x for port 4 pin 1 19 tj

20 IO usage Write a square wave to pin 5 to drive an LED #include msp.h P4->DIR = 0x02; // set port 4 bit 1 (pin 5) to an output P4->OUT &= ~0x02; // initialize output to 0 while(1){ _delay_cycles( ); P4->OUT = 0x02; _delay_cycles( ); P4->OUT &= ~0x02; } // high // low 20 tj

21 IO usage Read from pin 5 as an input #include msp.h P4->DIR &= ~0x02; P4->REN &= ~0x02; // set port 4 bit 1 (pin 5) to an input // Ensure pullx not enabled while(1){ int foo; foo = P4->IN & 0x02; // check only bit 1 // if high foo has the value 0x02 NOT 1 // or foo = (P4->IN & 0x02) && 0x01; // if high foo has the value 0x01 } 21 tj

22 IO usage Make a decision based on pin 5 as an input #include msp.h P4->DIR &= ~0x02; P4->REN &= ~0x02; // set port 4 bit 1 (pin 5) to an input // Ensure pullx not enabled while(1){ if ((P4->IN & 0x02)!= 0) //do this if high else // do this if low // or } if (P4->IN & 0x02) //do this if high else // do this if low THIS WILL NOT WORK if ((P4->IN & 0x02) == 1) //do this if high else // do this if low 22 tj

23 Register modification Change a few bits in a register to 1s and 0s // Modify bits 5 and 7 to 1s, and 3 and 12 to zeros // without altering any other bits TIMER_A1->CTL = ((TIMER_A1->CTL & ~0x1008) 0x00A0) babcd EFGH IJKL MNOP b ~ b & babc0 EFGH IJKL 0NOP b babc0 EFGH 1J1L 0NOP 23 tj

24 IO memory map 24 tj

25 IO memory map 25 tj

26 IO memory map 26 tj

Scope & Register Access

Scope & Register Access Scope & Register Access Scope Scope Region of a program in which a defined object is visible Defined Objects Variables Functions Two types of regions Blocks Not in a block 2 tj Scope Program Prototype

More information

Code Composer Studio. MSP Project Setup

Code 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 information

Using Code Composer Studio IDE with MSP432

Using 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 information

Scope. Scope. Region of a program in which a defined object is visible. Defined Objects. Two types of regions. Variables Functions

Scope. Scope. Region of a program in which a defined object is visible. Defined Objects. Two types of regions. Variables Functions Scope & Repetition Scope Scope Region of a program in which a defined object is visible Defined Objects Variables Functions Two types of regions Blocks Not in a block 2 tj Scope Program Prototype Blocks

More information

Two Wire Interface (TWI) also commonly called I2C

Two Wire Interface (TWI) also commonly called I2C (TWI) also commonly called I2C MSP432 I2C 2 tj MSP432 I2C ARM (AMBA Compliant) 8 bit transmission word 7/10 bit addressing Multi-master/slave modes 4 slave addresses 4 eusci-b modules 3 tj Overview 8 bit

More information

Type Definition. C Types. Derived. Function Array Pointer Structure Union Enumerated. EE 1910 Winter 2017/18

Type Definition. C Types. Derived. Function Array Pointer Structure Union Enumerated. EE 1910 Winter 2017/18 Enum and Struct Type Definition C Types Derived Function Array Pointer Structure Union Enumerated 2 tj Type Definition Typedef Define a new Type Inherits members and operations from a standard or previously

More information

Timer 32. Last updated 8/7/18

Timer 32. Last updated 8/7/18 Last updated 8/7/18 Basic Timer Function Delay Counter Load a value into a counter register The counter counts Down to zero (count down timer) Up from zero (count up timer) An action is triggered when

More information

Interrupts. Why Interrupts

Interrupts. Why Interrupts Why Interrupts I/O operations Peripherals and external devices can let the processor know they are ready vs. the processor polling each device Routine tasks Updating the time Making sure the processor

More information

Timers and Clocks CS4101 嵌入式系統概論. Prof. Chung-Ta King. Department of Computer Science National Tsing Hua University, Taiwan

Timers and Clocks CS4101 嵌入式系統概論. Prof. Chung-Ta King. Department of Computer Science National Tsing Hua University, Taiwan CS4101 嵌入式系統概論 Timers and Clocks Prof. Chung-Ta King Department of Computer Science, Taiwan Materials from MSP430 Microcontroller Basics, John H. Davies, Newnes, 2008 Recall the Container Thermometer Container

More information

Lecture 5: MSP430 Interrupt

Lecture 5: MSP430 Interrupt ECE342 Intro. to Embedded Systems Lecture 5: MSP430 Interrupt Ying Tang Electrical and Computer Engineering Rowan University 1 How A Computer React to Inputs? Polling: the processor regularly looks at

More information

Serial Peripheral Interface (SPI) Last updated 8/7/18

Serial Peripheral Interface (SPI) Last updated 8/7/18 Serial Peripheral Interface (SPI) Last updated 8/7/18 MSP432 SPI eusci = enhanced Universal Serial Communications Interface 2 tj MSP432 SPI ARM (AMBA Compliant) 7/8 bit transmission Master/Slave LSB/MSB

More information

ECE2049 Homework #2 The MSP430 Architecture & Basic Digital IO (DUE Friday 9/8/17 at 4 pm in class)

ECE2049 Homework #2 The MSP430 Architecture & Basic Digital IO (DUE Friday 9/8/17 at 4 pm in class) ECE2049 Homework #2 The MSP430 Architecture & Basic Digital IO (DUE Friday 9/8/17 at 4 pm in class) Your homework should be neat and professional looking. You will loose points if your HW is not properly

More information

Arrays. C Types. Derived. Function Array Pointer Structure Union Enumerated. EE 1910 Winter 2017/18

Arrays. C Types. Derived. Function Array Pointer Structure Union Enumerated. EE 1910 Winter 2017/18 C Types Derived Function Array Pointer Structure Union Enumerated 2 tj Arrays Student 0 Student 1 Student 2 Student 3 Student 4 Student 0 Student 1 Student 2 Student 3 Student 4 Student[0] Student[1] Student[2]

More information

Serial Peripheral Interface (SPI)

Serial Peripheral Interface (SPI) Serial Peripheral Interface (SPI) MSP432 SPI eusci = enhanced Universal Serial Communications Interface 2 tj MSP432 SPI ARM (AMBA Compliant) 7/8 bit transmission Master/Slave LSB/MSB first Separate RX/TX

More information

Universal Asynchronous Receiver / Transmitter (UART)

Universal Asynchronous Receiver / Transmitter (UART) Universal Asynchronous Receiver / Transmitter (UART) MSP432 UART 2 tj MSP432 UART ARM (AMBA Compliant) Asynchronous operation 7/8 bit transmission Master/Slave LSB/MSB first Separate RX/TX registers 4

More information

ECE2049-E18 Lecture 6 Notes 1. ECE2049: Embedded Computing in Engineering Design E Term Lecture #6: Exam Review

ECE2049-E18 Lecture 6 Notes 1. ECE2049: Embedded Computing in Engineering Design E Term Lecture #6: Exam Review ECE2049-E18 Lecture 6 Notes 1 ECE2049: Embedded Computing in Engineering Design E Term 2018 Lecture #6: Exam Review Administrivia Exam 1: Next Tuesday (6/5) HW4: Short assignment, due Tuesday Lab 1: Due

More information

Lab 4: Interrupt. CS4101 Introduction to Embedded Systems. Prof. Chung-Ta King. Department of Computer Science National Tsing Hua University, Taiwan

Lab 4: Interrupt. CS4101 Introduction to Embedded Systems. Prof. Chung-Ta King. Department of Computer Science National Tsing Hua University, Taiwan CS4101 Introduction to Embedded Systems Lab 4: Interrupt Prof. Chung-Ta King Department of Computer Science, Taiwan Introduction In this lab, we will learn interrupts of MSP430 Handling interrupts in MSP430

More information

Embedded Systems - FS 2018

Embedded 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 information

Basic System Memory Architecture View (Functional)

Basic System Memory Architecture View (Functional) Memory Organization Basic System Memory Architecture View (Functional) Notation: [FFFE]=27h FFFE: 27 Basic Characteristics (1/3) Memory cell registers are one byte wide Memory Word is the contents of the

More information

// Conditions for 9600/4=2400 Baud SW UART, SMCLK = 1MHz #define Bitime_5 0x05*4 // ~ 0.5 bit length + small adjustment #define Bitime 13*4//0x0D

// Conditions for 9600/4=2400 Baud SW UART, SMCLK = 1MHz #define Bitime_5 0x05*4 // ~ 0.5 bit length + small adjustment #define Bitime 13*4//0x0D /****************************************************************************** * * * 1. Device starts up in LPM3 + blinking LED to indicate device is alive * + Upon first button press, device transitions

More information

ECE2049: Embedded Computing in Engineering Design C Term Spring 2018 Lecture #20: Using SPI The DAC

ECE2049: Embedded Computing in Engineering Design C Term Spring 2018 Lecture #20: Using SPI The DAC ECE2049: Embedded Computing in Engineering Design C Term Spring 2018 Lecture #20: Using SPI The DAC Reading for Today: Users Guide Ch 35, MCP4921, data sheet, on-line articles Reading for Next Class: Users

More information

ADC 14. Last updated 9/1/18

ADC 14. Last updated 9/1/18 Last updated 9/1/18 MSP432 ADC 2 tj MSP432 ADC ARM (AMBA Compliant) ADC 14 bit resolution 1 MSPS conversion rate Integrated S/H 24 external input channels 2 internal input channels Single-ended and Differential

More information

ECE2049: Embedded Computing in Engineering Design A Term Fall Lecture #9: Exam Review w/ Solutions

ECE2049: Embedded Computing in Engineering Design A Term Fall Lecture #9: Exam Review w/ Solutions ECE2049: Embedded Computing in Engineering Design A Term Fall 2018 Lecture #9: Exam Review w/ Solutions Reading for Today: Review all reading and notes, Davies Ch 1, 2, 4,7, MSP430 User's Guide Ch 6.1,

More information

Input/Output Programming

Input/Output Programming Input/Output Programming Chapter 3: Section 3.1, 3.2 Input and output (I/O) programming Communicating with I/O devices Busy-wait I/O Interrupt-driven I/O I/O devices Devices may include digital and non-digital

More information

PAC52XX GPIO Peripheral Firmware Design

PAC52XX 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 information

ELEC 3040/3050 Lab Manual Lab 2 Revised 8/20/14. LAB 2: Developing and Debugging C Programs in MDK-ARM for the STM32L100RC Microcontroller

ELEC 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 information

ECGR 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: 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 information

ECE2049-E17 Lecture 6 1. ECE2049: Embedded Computing in Engineering Design E Term Lecture #6: Exam Review

ECE2049-E17 Lecture 6 1. ECE2049: Embedded Computing in Engineering Design E Term Lecture #6: Exam Review ECE2049-E17 Lecture 6 1 ECE2049: Embedded Computing in Engineering Design E Term 2017 Lecture #6: Exam Review Administrivia Exam 1: Next Tuesday (6/6) HW2: Due Tonight at 7pm Lab 1: Due next Tuesday (6/6),

More information

MSP430F149 P3.4/UTXD0 P3.5/URXD0 P1.5 P1.6 P1.7 MSP430F149 P1.0 P5.4 P5.3 P5.2 P5.1. Figure B-1. BSL Replicator Block Diagram

MSP430F149 P3.4/UTXD0 P3.5/URXD0 P1.5 P1.6 P1.7 MSP430F149 P1.0 P5.4 P5.3 P5.2 P5.1. Figure B-1. BSL Replicator Block Diagram Appendix B Appendix B MSP430 BSL Replicator Author: Greg Morton, MSP430 Applications B.1 BSL Replicator Overview The BSL Replicator application, executing on a host MSP430F149 device, uses the BSL protocol

More information

Real Time & Embedded Systems. STM32 GPIO and Timers

Real Time & Embedded Systems. STM32 GPIO and Timers Real Time & Embedded Systems STM GPIO and Timers GPIO Memory Map of Cortex-M. GB xffffffff xe System NVIC, System Timer, SCB, vendor-specific memory GB External Device Such as SD card xa GB External RAM

More information

CPE 323: MSP430 Timers

CPE 323: MSP430 Timers CPE 323: MSP430 Timers Aleksandar Milenkovic Electrical and Computer Engineering The University of Alabama in Huntsville milenka@ece.uah.edu http://www.ece.uah.edu/~milenka Outline Watchdog Timer TimerA

More information

Embedded Systems - FS 2018

Embedded 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 information

Hacettepe University

Hacettepe University MSP430 Teaching Materials Week 5 FUNDAMENTALS OF INTERFACING AND TIMERS for MSP430 Hacettepe University Elements in Basic MCU Interface Power Source Feeds CPU and peripherals Clock Oscillators System synchronization

More information

Hacettepe University

Hacettepe University MSP430 Teaching Materials Week 5 FUNDAMENTALS OF INTERFACING AND TIMERS for MSP430 Hacettepe University Elements in Basic MCU Interface Power Source Feeds CPU and peripherals Clock Oscillators System synchronization

More information

Administrivia. ECE/CS 5780/6780: Embedded System Design. Port Pull Configuration. Interfacing a Switch to a Computer

Administrivia. ECE/CS 5780/6780: Embedded System Design. Port Pull Configuration. Interfacing a Switch to a Computer Administrivia ECE/CS 5780/6780: Embedded System Design Scott R. Little Give yourself enough time on Lab 3 prelab. Lecture 6: Debouncing and Matrix Keypads Scott R. Little (Lecture 6: Keypads) ECE/CS 5780/6780

More information

CPE 325: Embedded Systems Laboratory Laboratory #7 Tutorial MSP430 Timers, Watchdog Timer, Timers A and B

CPE 325: Embedded Systems Laboratory Laboratory #7 Tutorial MSP430 Timers, Watchdog Timer, Timers A and B CPE 325: Embedded Systems Laboratory Laboratory #7 Tutorial MSP430 Timers, Watchdog Timer, Timers A and B Aleksandar Milenković Email: milenka@uah.edu Web: http://www.ece.uah.edu/~milenka Objective This

More information

What is an Interrupt?

What is an Interrupt? MSP430 Interrupts What is an Interrupt? Reaction to something in I/O (human, comm link) Usually asynchronous to processor activities interrupt handler or interrupt service routine (ISR) invoked to take

More information

Embedded 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 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 information

Chapter 6 Interrupts. (I. Scott Mackenzie) By: Masud-ul-Hasan

Chapter 6 Interrupts. (I. Scott Mackenzie) By: Masud-ul-Hasan Chapter 6 Interrupts (I. Scott Mackenzie) 1 Interrupts An interrupt is the occurrence of an event that causes a temporary suspension of a program while the condition is serviced by another program. It

More information

General Purpose I/O ARM University Program Copyright ARM Ltd

General Purpose I/O ARM University Program Copyright ARM Ltd General Purpose I/O 1 Overview How do we make a program light up LEDs in response to a switch? GPIO Basic Concepts Port Circuitry Control Registers Accessing Hardware Registers in C Clocking and Muxing

More information

CPE 323 Introduction to Embedded Computer Systems: MSP430 System Architecture An Overview

CPE 323 Introduction to Embedded Computer Systems: MSP430 System Architecture An Overview CPE 323 Introduction to Embedded Computer Systems: MSP430 System Architecture An Overview Aleksandar Milenkovic Electrical and Computer Engineering The University of Alabama in Huntsville milenka@ece.uah.edu

More information

ECE2049 E17 Lecture 4 MSP430 Architecture & Intro to Digital I/O

ECE2049 E17 Lecture 4 MSP430 Architecture & Intro to Digital I/O ECE2049-E17 Lecture 4 1 ECE2049 E17 Lecture 4 MSP430 Architecture & Intro to Digital I/O Administrivia Homework 1: Due today by 7pm o Either place in box in ECE office or give to me o Office hours tonight!

More information

University of Texas at El Paso Electrical and Computer Engineering Department. EE 3176 Laboratory for Microprocessors I.

University of Texas at El Paso Electrical and Computer Engineering Department. EE 3176 Laboratory for Microprocessors I. University of Texas at El Paso Electrical and Computer Engineering Department EE 3176 Laboratory for Microprocessors I Fall 2016 LAB 04 Timer Interrupts Goals: Learn about Timer Interrupts. Learn how to

More information

Texas Instruments Mixed Signal Processor Tutorial Abstract

Texas Instruments Mixed Signal Processor Tutorial Abstract Texas Instruments Mixed Signal Processor Tutorial Abstract This tutorial goes through the process of writing a program that uses buttons to manipulate LEDs. One LED will be hard connected to the output

More information

Computer Architecture Review CS 595

Computer Architecture Review CS 595 Computer Architecture Review CS 595 1 The von Neumann Model Von Neumann (1946) proposed that a fundamental model of a computer should include 5 primary components: Memory Processing Unit Input Device(s)

More information

Before next weeks lab:

Before next weeks lab: Before next weeks lab: - To sign in to lab computers use student and Phys319. - read the lab manual for week two. - look at the tools installation guide for OS of your choice and/or lab computer guide,

More information

Developing and Debugging C Programs in MDK-ARM for the STM32L100RC Microcontroller

Developing 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 information

2002 Mixed Signal Products SLAU056B

2002 Mixed Signal Products SLAU056B User s Guide 22 Mixed Signal Products SLAU56B IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements, improvements,

More information

Using peripherals on the MSP430 (if time)

Using 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 information

Physics 319 Spring 2015: Introduction to the Programming and Use of Microprocessors

Physics 319 Spring 2015: Introduction to the Programming and Use of Microprocessors Physics 319 Spring 2015: Introduction to the Programming and Use of Microprocessors Sing Chow, Andrzej Kotlicki, Ryan Wicks, and Carl Michal December 2014 This lab is going to introduce you to the world

More information

The digital I/O is configured with user software. The setup and operation of the digital I/O is discussed in the following sections.

The digital I/O is configured with user software. The setup and operation of the digital I/O is discussed in the following sections. Digital I/O Introduction www.ti.com 8. Digital I/O Introduction MSP43 devices have up to eight digital I/O ports implemented, P to P8. Each port has up to eight I/O pins. Every I/O pin is individually

More information

EMERALD-MM-8P. 8-Channel Software Programmable Protocol. Serial Port PC/104 TM Module. User Manual V1.20

EMERALD-MM-8P. 8-Channel Software Programmable Protocol. Serial Port PC/104 TM Module. User Manual V1.20 EMERALD-MM-8P 8-Channel Software Programmable Protocol Serial Port PC/104 TM Module User Manual V1.20 Copyright 2005, 2008, 2011 DIAMOND SYSTEMS CORPORATION 555 Ellis Street Mountain View, CA 94043 Tel

More information

Wireless Sensor Networks (WSN)

Wireless Sensor Networks (WSN) Wireless Sensor Networks (WSN) Operating Systems M. Schölzel Operating System Tasks Traditional OS Controlling and protecting access to resources (memory, I/O, computing resources) managing their allocation

More information

Structures, Unions Alignment, Padding, Bit Fields Access, Initialization Compound Literals Opaque Structures Summary. Structures

Structures, Unions Alignment, Padding, Bit Fields Access, Initialization Compound Literals Opaque Structures Summary. Structures Structures Proseminar C Grundlagen und Konzepte Michael Kuhn Research Group Scientific Computing Department of Informatics Faculty of Mathematics, Informatics und Natural Sciences University of Hamburg

More information

Getting Started with the MSP430 IAR Assembly

Getting Started with the MSP430 IAR Assembly Getting Started with the MSP430 IAR Assembly by Alex Milenkovich, milenkovic@computer.org Objectives: This tutorial will help you get started with the MSP30 IAR Assembly program development. You will learn

More information

MSP430 Interrupts. Change value of internal variable (count) Read a data value (sensor, receive) Write a data value (actuator, send)

MSP430 Interrupts. Change value of internal variable (count) Read a data value (sensor, receive) Write a data value (actuator, send) MSP430 Interrupts What is an Interrupt? Reaction to something in I/O (human, comm link) Usually asynchronous to processor activities interrupt handler or interrupt service routine (ISR) invoked to take

More information

PHYS 319. Things to do before next week's lab Whirlwind tour of the MSP430 CPU and its assembly language Activity 1.

PHYS 319. Things to do before next week's lab Whirlwind tour of the MSP430 CPU and its assembly language Activity 1. PHYS 319 Things to do before next week's lab Whirlwind tour of the MSP430 CPU and its assembly language Activity 1. Before next week's lab: Read manual for Lab 2 and your OS setup guide then prepare your

More information

ECE2049: Embedded Computing in Engineering Design C Term Spring Lecture #11: More Clocks and Timers

ECE2049: Embedded Computing in Engineering Design C Term Spring Lecture #11: More Clocks and Timers ECE2049: Embedded Computing in Engineering Design C Term Spring 2018 Lecture #11: More Clocks and Timers Reading for Today: Davie's Ch 8.3-8.4, 8.9-8.10, User's Guide Ch. 17 Reading for Next Class: User's

More information

Unit Testing the MSP430 Within a Desktop Environment

Unit Testing the MSP430 Within a Desktop Environment Unit Testing the MSP430 Within a Desktop Environment Kris Dickie B.Tech Clarius Mobile Health kris.dickie@clarius.me I. Introduction designing a proper architecture from the beginning. The MSP430 microcontroller

More information

e-pg Pathshala Subject: Computer Science Paper: Embedded System Module: Interrupt Programming in Embedded C Module No: CS/ES/20 Quadrant 1 e-text

e-pg Pathshala Subject: Computer Science Paper: Embedded System Module: Interrupt Programming in Embedded C Module No: CS/ES/20 Quadrant 1 e-text e-pg Pathshala Subject: Computer Science Paper: Embedded System Module: Interrupt Programming in Embedded C Module No: CS/ES/20 Quadrant 1 e-text In this lecture embedded C program for interrupt handling

More information

ECE332, Week 8. Topics. October 15, Exceptions. Hardware Interrupts Software exceptions

ECE332, Week 8. Topics. October 15, Exceptions. Hardware Interrupts Software exceptions ECE332, Week 8 October 15, 2007 1 Topics Exceptions Hardware Interrupts Software exceptions Unimplemented instructions Software traps Other exceptions 2 1 Exception An exception is a transfer of control

More information

This resource describes how to program the myrio in C to perform timer interrupts.

This resource describes how to program the myrio in C to perform timer interrupts. Resource 07 Timer interrupts This resource describes how to program the myrio in C to perform timer interrupts. C.07.1 Main thread: background Initializing the timer interrupt is similar to initializing

More information

MSP430/IAR scmrtos The Real-Time Operating System for single-chip microcontrollers Version 4

MSP430/IAR scmrtos The Real-Time Operating System for single-chip microcontrollers Version 4 MSP430/IAR scmrtos The Real-Time Operating System for single-chip microcontrollers Version 4 2003-2011 2 scmrtos MSP430/IAR Systems General CPU core of the microcontroller family MSP430 (Texas Instruments)

More information

Binary Representations, and the Teensy 3.5

Binary 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 information

Timer Module Timer A. ReadMeFirst

Timer Module Timer A. ReadMeFirst Timer Module Timer A ReadMeFirst Lab Folder Content 1) ReadMeFirst 2) TimerModule Lecture material 3) PinOutSummary 4) InterruptsVectorTable 5) Source code for screencast Interrupt Review Overview A Timer

More information

Block diagram of processor (Harvard)

Block diagram of processor (Harvard) Block diagram of processor (Harvard) Register transfer view of Harvard architecture Separate busses for instruction memory and data memory Example: PIC 16 load path OP REG AC 16 16 store path rd wr data

More information

Extending CircuitPython: An Introduction

Extending CircuitPython: An Introduction Extending CircuitPython: An Introduction Created by Dave Astels Last updated on 2018-11-15 11:08:03 PM UTC Guide Contents Guide Contents Overview How-To A Simple Example shared-module shared-bindings ports/atmel-samd

More information

Development Board (Quick start) LDM-MCp Q208 Evolution

Development Board (Quick start) LDM-MCp Q208 Evolution Development Board (Quick start) LDM-MCp0411100101-Q208 Evolution UNITING THE BEST LDM SYSTEMS QUICK START MANUAL Development Board (Quick start) LDM-MCp0411100101-Q208 Evolution Made in Russia Product

More information

Co-processor Math Processor. Richa Upadhyay Prabhu. NMIMS s MPSTME February 9, 2016

Co-processor Math Processor. Richa Upadhyay Prabhu. NMIMS s MPSTME February 9, 2016 8087 Math Processor Richa Upadhyay Prabhu NMIMS s MPSTME richa.upadhyay@nmims.edu February 9, 2016 Introduction Need of Math Processor: In application where fast calculation is required Also where there

More information

RL78/G14, RL78/G1C, RL78/L12, RL78/L13, RL78/L1C Group

RL78/G14, RL78/G1C, RL78/L12, RL78/L13, RL78/L1C Group APPLICATION NOTE RL78/G14, RL78/G1C, RL78/L12, RL78/L13, RL78/L1C Group Clock Synchronous Single Master Control Software Using CSI Mode of Serial Array Unit Introduction This application note explains

More information

Interrupts CS4101 嵌入式系統概論. Prof. Chung-Ta King. Department of Computer Science National Tsing Hua University, Taiwan

Interrupts CS4101 嵌入式系統概論. Prof. Chung-Ta King. Department of Computer Science National Tsing Hua University, Taiwan CS4101 嵌入式系統概論 Interrupts Prof. Chung-Ta King Department of Computer Science, Taiwan Materials from MSP430 Microcontroller Basics, John H. Davies, Newnes, 2008 Inside MSP430 (MSP430G2551) 1 Introduction

More information

Getting Started in C Programming with Keil MDK-ARM Version 5

Getting Started in C Programming with Keil MDK-ARM Version 5 Getting Started in C Programming with Keil MDK-ARM Version 5 Reason for Revision This document was revised for Keil MDK-ARM v5.14 on February 18, 2015. This document was revised for MSP432 LaunchPad on

More information

8051 Microcontroller Interrupts

8051 Microcontroller Interrupts 8051 Microcontroller Interrupts There are five interrupt sources for the 8051, which means that they can recognize 5 different events that can interrupt regular program execution. Each interrupt can be

More information

RX Family APPLICATION NOTE. Simple I 2 C Module Using Firmware Integration Technology. Introduction. Target Device.

RX Family APPLICATION NOTE. Simple I 2 C Module Using Firmware Integration Technology. Introduction. Target Device. APPLICATION NOTE RX Family R01AN1691EJ0220 Rev. 2.20 Introduction This application note describes the simple I 2 C module using firmware integration technology (FIT) for communications between devices

More information

FiE on Firmware Finding Vulnerabilities in Embedded Systems using Symbolic Execution. Drew Davidson Ben Moench Somesh Jha Thomas Ristenpart

FiE on Firmware Finding Vulnerabilities in Embedded Systems using Symbolic Execution. Drew Davidson Ben Moench Somesh Jha Thomas Ristenpart FiE on Firmware Finding Vulnerabilities in Embedded Systems using Symbolic Execution Drew Davidson Ben Moench Somesh Jha Thomas Ristenpart 1 FiE in a Nutshell Symbolic execution tailored to embedded firmware

More information

Why embedded systems?

Why embedded systems? MSP430 Intro Why embedded systems? Big bang-for-the-buck by adding some intelligence to systems. Embedded Systems are ubiquitous. Embedded Systems more common as prices drop, and power decreases. Which

More information

CHAPTER 11 INTERRUPTS PROGRAMMING

CHAPTER 11 INTERRUPTS PROGRAMMING CHAPTER 11 INTERRUPTS PROGRAMMING Interrupts vs. Polling An interrupt is an external or internal event that interrupts the microcontroller To inform it that a device needs its service A single microcontroller

More information

80C51 Block Diagram. CSE Overview 1

80C51 Block Diagram. CSE Overview 1 80C51 Block Diagram CSE 477 8051 Overview 1 80C51 Memory CSE 477 8051 Overview 3 8051 Memory The data width is 8 bits Registers are 8 bits Addresses are 8 bits i.e. addresses for only 256 bytes! PC is

More information

ECE2049: Embedded Computing in Engineering Design C Term Spring 2018 Lecture #15: More ADC Examples

ECE2049: Embedded Computing in Engineering Design C Term Spring 2018 Lecture #15: More ADC Examples ECE2049: Embedded Computing in Engineering Design C Term Spring 2018 Lecture #15: More ADC Examples Reading for Today: TI example code Reading for Next Class: Users Guide 6.2, Davies Ch 6.6-6.9 HW #4 (on

More information

ELEC 3040/3050 Lab 5. Matrix Keypad Interface Using Parallel I/O

ELEC 3040/3050 Lab 5. Matrix Keypad Interface Using Parallel I/O ELEC 3040/3050 Lab 5 Matrix Keypad Interface Using Parallel I/O Goals of this lab exercise Control a real device with the microcontroller Coordinate parallel I/O ports to control and access a device Implement

More information

MSP430 Interface to LMP91000 Code Library

MSP430 Interface to LMP91000 Code Library Application Note 2230 Vishy Viswanathan July 13, 2012 MSP430 Interface to LMP91000 Code 1.0 Abstract The MSP430 is an ideal microcontroller solution for low-cost, low-power precision sensor applications

More information

Embedded Systems. PIC16F84A Internal Architecture. Eng. Anis Nazer First Semester

Embedded Systems. PIC16F84A Internal Architecture. Eng. Anis Nazer First Semester Embedded Systems PIC16F84A Internal Architecture Eng. Anis Nazer First Semester 2017-2018 Review Computer system basic components? CPU? Memory? I/O? buses? Instruction? Program? Instruction set? CISC,

More information

Task Executive. Gary J. Minden February 9, 2017

Task Executive. Gary J. Minden February 9, 2017 Task Executive Gary J. Minden February 9, 2017 1 Task Executive Motivation Implementation 2 Current Approach Each task has a Task_X subroutine Each task has X_NextExecute and X_DeltaExecute variables Each

More information

Lab 4 Interrupts ReadMeFirst

Lab 4 Interrupts ReadMeFirst Lab 4 Interrupts ReadMeFirst Lab Folder Content 1) ReadMeFirst 2) Interrupt Vector Table 3) Pin out Summary Objectives Understand how interrupts work Learn to program Interrupt Service Routines in C Language

More information

8051 Microcontroller memory Organization and its Applications

8051 Microcontroller memory Organization and its Applications 8051 Microcontroller memory Organization and its Applications Memory mapping in 8051 ROM memory map in 8051 family 0000H 4k 0000H 8k 0000H 32k 0FFFH DS5000-32 8051 1FFFH 8752 7FFFH from Atmel Corporation

More information

git and the virtue of version control ECE /2/2015

git and the virtue of version control ECE /2/2015 git and the virtue of version control ECE 18-545 9/2/2015 Version Control What is it? A tool for collaborative editing A tool for keeping an edit history A tool for managing edit versions For the code

More information

University of Texas at El Paso Electrical and Computer Engineering Department. EE 3176 Laboratory for Microprocessors I.

University of Texas at El Paso Electrical and Computer Engineering Department. EE 3176 Laboratory for Microprocessors I. University of Texas at El Paso Electrical and Computer Engineering Department EE 3176 Laboratory for Microprocessors I Fall 2016 LAB 08 UART Communication Goals: Learn about UART Communication and the

More information

Common Misunderstandings from Exam 1 Material

Common Misunderstandings from Exam 1 Material Common Misunderstandings from Exam 1 Material Kyle Dewey Stack and Heap Allocation with Pointers char c = c ; char* p1 = malloc(sizeof(char)); char** p2 = &p1; Where is c allocated? Where is p1 itself

More information

EL6483: Brief Overview of C Programming Language

EL6483: Brief Overview of C Programming Language EL6483: Brief Overview of C Programming Language EL6483 Spring 2016 EL6483 EL6483: Brief Overview of C Programming Language Spring 2016 1 / 30 Preprocessor macros, Syntax for comments Macro definitions

More information

Review Activity 1 CALL and RET commands in assembler

Review Activity 1 CALL and RET commands in assembler Today's Plan: Announcements Review Activity 1 CALL and RET commands in assembler Lecture test Programming in C continue Announcements: Projects: should be starting to think about. You will need to provide

More information

Getting Started with the Texas Instruments ez430

Getting Started with the Texas Instruments ez430 1 of 6 03.01.2009 01:33 HOME Running Your Code>> Getting Started with the Texas Instruments ez430 Working with the Workbench Software Step 1: Each program needs an associated project. The project includes

More information

6. General purpose Input/Output

6. General purpose Input/Output Chapter 6 6. General purpose Input/Output This chapter starts with a description of one of the simplest integrated peripherals of the MSP430 the General Purpose 8-bit Input Output (GPIO). The Input/Output

More information

Xbee module configuration from a µcontroller

Xbee module configuration from a µcontroller APPLICATION NOTE AN_P12AB04_1 Xbee module configuration from a µcontroller Soulier Baptiste Polytech Clermont Ferrand 2012-2013 The purpose of this application note is to explain how to configure the main

More information

Data Storage. August 9, Indiana University. Geoffrey Brown, Bryce Himebaugh 2015 August 9, / 19

Data Storage. August 9, Indiana University. Geoffrey Brown, Bryce Himebaugh 2015 August 9, / 19 Data Storage Geoffrey Brown Bryce Himebaugh Indiana University August 9, 2016 Geoffrey Brown, Bryce Himebaugh 2015 August 9, 2016 1 / 19 Outline Bits, Bytes, Words Word Size Byte Addressable Memory Byte

More information

STM32F1xx motor-control firmware for dspin. Quick guide

STM32F1xx motor-control firmware for dspin. Quick guide STM32F1xx motor-control firmware for dspin Quick guide 2 STM32F1xx firmware for dspin STM32F1xx firmware allows you to control L6470 dspin micro-stepping motor driver via STM32F1 MCU. This firmware supports

More information

ELEC 3040/3050 Lab 5. Matrix Keypad Interface Using Parallel I/O

ELEC 3040/3050 Lab 5. Matrix Keypad Interface Using Parallel I/O ELEC 3040/3050 Lab 5 Matrix Keypad Interface Using Parallel I/O Goals of this lab exercise Control a real device with the microcontroller Coordinate parallel I/O ports to control and access a device Implement

More information

Tool Setup. Code Composer Studio

Tool Setup. Code Composer Studio Tool Setup Code Composer Studio Code Composer Studio Integrated Development Environment (IDE) Free for non-commercial use Eclipse based We will use this for our MSP432 and Console Based code development

More information

Decisions II. Switch Statement. If else allows a 2 way decision Switch allows for n-way decisions

Decisions II. Switch Statement. If else allows a 2 way decision Switch allows for n-way decisions Switch Statement If else allows a 2 way decision Switch allows for n-way decisions switch(variable){ case val1: statement; case val2: statement; case val3: statement; default: statement; variable must

More information

Unit B - Rotary Encoders B.1

Unit B - Rotary Encoders B.1 Unit B - Rotary Encoders B.1 B.2 Rotary Encoders Electromechanical devices used to measure the angular position or rotation of a shaft. Two types: Absolute: Output a binary number for the current angular

More information

Copyright 2015 by Stephen A. Zajac & Gregory M. Wierzba. All rights reserved..spring 2015.

Copyright 2015 by Stephen A. Zajac & Gregory M. Wierzba. All rights reserved..spring 2015. Copyright 2015 by Stephen A. Zajac & Gregory M. Wierzba. All rights reserved..spring 2015. Copyright 2015 by Stephen A. Zajac & Gregory M. Wierzba. All rights reserved..spring 2015. Copyright 2015 by Stephen

More information