Welcome 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

Size: px
Start display at page:

Download "Welcome 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"

Transcription

1 Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website: You do not need to keep the same partner from last lab We will come around checking your prelabs after we introduce the lab Let us know if you have any questions!

2 Lab 2: MSP430 Hero! Week I: A New Lab The Introduction

3 MSP430 Hero! Basic requirements: Play a song on the buzzer and flash the blue LEDs accordingly Press buttons at the right times to score points This is a two week lab. You will have this lab session and next week s to work! Feel free to add more features than are in the lab document we may award extra credit! Show the song on the display (like actual Guitar Hero) Multiple songs Other ideas?

4 The Important Parts Functions for reading the switches and using the LEDs A data structure to store the song Like with Simon, you can decide how to handle this Must store a pitch and a duration for each note A timer which controls how fast the song plays We ll talk about this in the next few lectures

5 How to start: Week 1 0. Like last week, start by making copy of the template project (see instructions in the lab 1 intro) 1. We recommend you start with the small stuff, like the functions for the LEDs and buttons It s easier to build and debug these functions now instead of when you re building the main program! Build and test these functions today You can do this by writing a simple main() (no welcome screen, countdown, etc.) that just uses your functions

6 Example test for LEDs and Buttons Here s an example of a way to test your button and LED functions Write a simple main() that does the following: When S1 is pressed, turn on the Red User LED When S2 is pressed, turn on the Green User LED When both S1 and S2 are pressed, turn on both the on the Red and Green User LEDs Otherwise, the LEDs should be off As you work on this, see here and here for important informa5on on using the bu8ons and LEDs!

7 How to start (cont d) 2. After you have your LED and button functions working, try to play some notes using the buzzer See here for more info 3. Since we haven t covered interrupts yet, try to create a song using your data structure and play it in main() with delays between the notes If you have trouble with the C syntax for working with the song structure (using arrays, structs, etc.) see here, or Google for examples of initializing structs or arrays in C

8 Remember your training Looking back on your last lab, can you do anything differently to make your life easier? Simplifying your control flow? Not using so many globals? Using the debugger? This ki'y has developed strong systems programming skills. Remember that we are here to help you become be8er embedded programmers. Feel free to ask us conceptual ques5ons and we will be happy to teach you! (Please do this before the last day, though!)

9 Good luck and have fun! The rest of these slides contain important info about specific parts of the lab Skim them over at the beginning of lab Look at them when you reach each part or if you have trouble Be sure to look at the Frequently Asked Questions, too! These include helpful tips on C programming and using CCS efficiently! Thank you for listening!

10 Important Stuff: LEDs Are LEDs inputs or outputs? You are working with the LEDs on the Launchpad board this is the small board that contains the MSP430 The Launchpad User s Guide shows the I/O pin assignments for the User LEDs and buttons If you are curious about how configuserled() from the prelab should work, ask us!

11 Important stuff: Buttons Important questions: Are buttons inputs or outputs? Do you need pull up/pull down resistors? Hint: Yes. Which one? Figure it out using the board schematic! Once you can answer these questions, to configure the registers see Table 12-1 on page 408 of the MSP430 User s Guide MSP430 I/O Pins User Buttons P2.1 P1.1 S1 1 2 S2 1 2 GND This is the schema5c representa5on of the bu8ons What logic level (what voltage) is at P2.1 when S1 is pressed? When it is not pressed? How does this change if a pull- up resistor is added at P2.1? What about a pull- down?

12 Important Stuff: The Buzzer You can modify BuzzerOn() in peripherals.c to take an argument that represents the frequency of the note to play Don t forget to also modify the function prototype in peripherals.h! How can you modify it to play a specific frequency? Take a look at the comments in BuzzerOn() You ll need a bit of math try it on paper first!

13 Important Stuff: The Documentation Everything you need is on the Docs page of the course website The tricky part is figuring out which one you need Document MSP430 F55xx User s Guide MSP430F5529 Launchpad User s Guide & Lab Development Board SchemaPc MSP430F5529 Datasheet What s in it Contains hardware informapon for MSP430s similar to ours How peripherals work conceptually Diagrams and explana5ons of all registers Contains all documentapon regarding the board we use in lab, not the MSP430 chip itself Includes schemapcs of our board Describes all peripherals connected to our MSP430 (bu'ons, LEDs, display, etc.) Specific info about our MSP430 chip (package and pin diagrams, electrical specs, etc.) Includes memory map for all peripherals

14 Lab 2: MSP430 Hero! Week II: The Lab Strikes Back An Introduction

15 How to start Work on the LED, button, and buzzer functions from Week 1 if you haven t already Now that you have seen timers in lecture, focus on configuring your timer today After that, work on the logic to play the song using interrupts and keep score Make sure your interrupts work before you leave today! Ask us if you need help!

16 Starting with interrupts Look at the stopwatch example for help with syntax Don t just copy it Make sure you globally enable interrupts! See the lecture notes for instructions. How do you know if your interrupts work? Using the debugger, of course! 1. Put a breakpoint inside your interrupt roupne and hit Run 2. If you hit the breakpoint, you know that your Pmer successfully triggered an interrupt!

17 A note on interrupts As we said in lecture, interrupt routines (ISRs) should be short. Why? For this reason, do NOT do the following in an ISR: Update the display Do float math or call big functions Wait in a loop until something happens Send a Snapchat If you can t think of a way to design your lab without keeping your ISR short, ask us for help! This ki'y will be sad if your ISRs are too long. If you use an ISR improperly, you will lose points!

18 Playing the game The key point here is figuring out how to use the timer interrupts to control the song This allows you to scan for button presses while the song is playing How does the timer let you play notes for precise durations? After that, how can you determine if the player pressed the correct button?

19 Good luck and have fun! Feel free to ask us if you have questions we re here to help! Be sure to look at the FAQs When you are done, make sure you submit your code online like for lab 1 See the Lab 1 intro for instructions Thank you for listening!

20 Frequently Asked Questions (1/?) My buttons don t work! Did you configure the buttons to use pull-up resistors? Look at table 12-1 on page 408 of the MSP430 User s Guide for the register configuration! My interrupts aren t firing! Did you globally enable interrupts? See the lecture notes for help! Check your timer config and ISR. Make sure you are using the same components and syntax as the stopwatch example.

21 FAQ: Initializing arrays and structs How do I set the value of (or initialize ) an array or struct? Here are some examples:

22 Frequently Asked Questions My program isn t working, and when I pause it says Cannot disassemble address 0xfffe (or similar) This is because your program has jumped to a place in memory that does not contain actual code. This is equivalent to a segfault meaning you are accessing memory you shouldn t. On an MSP430, there s no OS to clean up after a segfault. Instead, your program will experience Undefined Behavior To fix this, check the following: Did you configure the display at the start of your program? Are you accessing beyond the bounds of an array? Are you doing any Bad Things with pointers? If you are having trouble, ask the us for help!

23 Frequently Asked Questions Help! I lost a window in CCS! Reset all of your windows to defaults, go to : View > Reset Perspective I have the warning Function declared implicitly Make sure you aren t missing any #include statements (rand() is in stdlib.h) If the warning is for one of your own functions, you are missing a function prototype. Google function prototypes for help!

24 Frequently Asked Questions I have a vague error saying Errors exist in project or Errors encountered during linking Look in the Console for the full output during compilation. If you scroll up a few lines, you may see some more information about the error. See the next slide for more info

25 Frequently Asked Questions Why does this variable have a value of.? This is because CCS is trying to show it as an ASCII character, but it has a value that isn t a character. You can change the format like this: Right click on the variable here Pick a format to display it here

26 Frequently Asked Questions Using the graphics library See lab 0 for examples especially the comments You can draw lines and shapes See the Graphics Library User Guide on the course website for examples You can also draw bitmaps (pixel art) Some examples are on the local machine at: C:\ti\ccsv5\ccs_base\msp430\msp430ware_1_40_00_26\examples\grlib\MSP- EXP430F5529_Grlib_Example\images We use a black and which screen, so all images should use 1bit/pixel resolution This is an advanced topic. If you want to do it, you re on your own.

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

Lab 1: Simon. The Introduction

Lab 1: Simon. The Introduction Lab 1: Simon The Introduction 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

More information

Lab 1: Space Invaders. The Introduction

Lab 1: Space Invaders. The Introduction Lab 1: Space Invaders The Introduction Welcome to Lab! Feel free to get started until we start talking! The lab document is located on course website: https://users.wpi.edu/~sjarvis/ece2049_smj/ Be sure

More information

Welcome 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: 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/ece2049_labs.html You do not need to keep

More information

Lab 1 Implementing a Simon Says Game

Lab 1 Implementing a Simon Says Game ECE2049 Embedded Computing in Engineering Design Lab 1 Implementing a Simon Says Game In the late 1970s and early 1980s, one of the first and most popular electronic games was Simon by Milton Bradley.

More information

Lab 1 Implementing a Simon Says Game

Lab 1 Implementing a Simon Says Game ECE2049 Embedded Computing in Engineering Design Lab 1 Implementing a Simon Says Game In the late 1970s and early 1980s, one of the first and most popular electronic games was Simon by Milton Bradley.

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

By 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. 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 information

Lab 0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio

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

More information

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

These are notes for the third lecture; if statements and loops.

These are notes for the third lecture; if statements and loops. These are notes for the third lecture; if statements and loops. 1 Yeah, this is going to be the second slide in a lot of lectures. 2 - Dominant language for desktop application development - Most modern

More information

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

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

More information

Illuminating the Big Picture

Illuminating the Big Picture EE16A Imaging 2 Why? Imaging 1: Finding a link between physical quantities and voltage is powerful If you can digitize it, you can do anything (IOT devices, internet, code, processing) Imaging 2: What

More information

ECE2049: Embedded Systems in Engineering Design Lab Exercise #3 C Term Making a Time and Temperature Display

ECE2049: Embedded Systems in Engineering Design Lab Exercise #3 C Term Making a Time and Temperature Display ECE2049: Embedded Systems in Engineering Design Lab Exercise #3 C Term 2019 Making a Time and Temperature Display In this laboratory you will use the MSP430 and several of its peripherals to implement

More information

Outline for Today. Lab Equipment & Procedures. Teaching Assistants. Announcements

Outline for Today. Lab Equipment & Procedures. Teaching Assistants. Announcements Announcements Homework #2 (due before class) submit file on LMS. Submit a soft copy using LMS, everybody individually. Log onto the course LMS site Online Assignments Homework 2 Upload your corrected HW2-vn.c

More information

ENGR 40M Project 3c: Switch debouncing

ENGR 40M Project 3c: Switch debouncing ENGR 40M Project 3c: Switch debouncing For due dates, see the overview handout 1 Introduction This week, you will build on the previous two labs and program the Arduino to respond to an input from the

More information

Device: PLT This document Version: 3.0. For hardware Version: 4. For firmware Version: Date: April 2014

Device: PLT This document Version: 3.0. For hardware Version: 4. For firmware Version: Date: April 2014 Device: PLT-1001 This document Version: 3.0 For hardware Version: 4 For firmware Version: 2.10 Date: April 2014 Description: LED Matrix Display Driver board PLT-1001v4 datasheet Page 2 Contents Introduction...

More information

A practicalintroduction to embedded programming. Brian Plancher 10/17/2018

A practicalintroduction to embedded programming. Brian Plancher 10/17/2018 A practicalintroduction to embedded programming Brian Plancher Brian_Plancher@g.harvard.edu 10/17/2018 This week s task is simple: 1. Since the boards you made 2 weeks ago are perfect and are still in

More information

Programming assignment A

Programming assignment A Programming assignment A ASCII Minesweeper Official release on Feb 14 th at 1pm (Document may change before then without notice) Due 5pm Feb 25 th Minesweeper is computer game that was first written in

More information

Lab 4: Interrupts and Realtime

Lab 4: Interrupts and Realtime Lab 4: Interrupts and Realtime Overview At this point, we have learned the basics of how to write kernel driver module, and we wrote a driver kernel module for the LCD+shift register. Writing kernel driver

More information

ENGR 40M Project 4b: Displaying ECG waveforms. Lab is due Monday June 4, 11:59pm

ENGR 40M Project 4b: Displaying ECG waveforms. Lab is due Monday June 4, 11:59pm ENGR 40M Project 4b: Displaying ECG waveforms Lab is due Monday June 4, 11:59pm 1 Introduction Last week, you built a circuit that amplified a small 1Hz simulated heartbeat signal. In this week s you will

More information

EECS150 Lab Lecture 5 Introduction to the Project

EECS150 Lab Lecture 5 Introduction to the Project EECS150 Lab Lecture 5 Introduction to the Project Ian Juch Electrical Engineering and Computer Sciences University of California, Berkeley 9/28/2012 1 Note on Lab4 You should augment the testbenches we

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

GDB Tutorial. A Walkthrough with Examples. CMSC Spring Last modified March 22, GDB Tutorial

GDB Tutorial. A Walkthrough with Examples. CMSC Spring Last modified March 22, GDB Tutorial A Walkthrough with Examples CMSC 212 - Spring 2009 Last modified March 22, 2009 What is gdb? GNU Debugger A debugger for several languages, including C and C++ It allows you to inspect what the program

More information

Lab 4: Imperative & Debugging 12:00 PM, Feb 14, 2018

Lab 4: Imperative & Debugging 12:00 PM, Feb 14, 2018 CS18 Integrated Introduction to Computer Science Fisler, Nelson Lab 4: Imperative & Debugging 12:00 PM, Feb 14, 2018 Contents 1 Imperative Programming 1 1.1 Sky High Grades......................................

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

Welcome to CS61A! Last modified: Thu Jan 23 03:58: CS61A: Lecture #1 1

Welcome to CS61A! Last modified: Thu Jan 23 03:58: CS61A: Lecture #1 1 Welcome to CS61A! This is a course about programming, which is the art and science of constructing artifacts ( programs ) that perform computations or interact with the physical world. To do this, we have

More information

M. Horowitz E40M Lecture 13

M. Horowitz E40M Lecture 13 http://applecorp.avature.net/ursite? projectid=7260&source=ur+site+ Portal&tags=stanford%7Cfall_2017 %7Cstanford_university_fall_2017_ careers_in_hardware_and_silicon_ panel%7crsvp 1 Lecture 13 Driving

More information

CS354 gdb Tutorial Written by Chris Feilbach

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

More information

CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch

CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch Purpose: We will take a look at programming this week using a language called Scratch. Scratch is a programming language that was developed

More information

For Volunteers An Elvanto Guide

For Volunteers An Elvanto Guide For Volunteers An Elvanto Guide www.elvanto.com Volunteers are what keep churches running! This guide is for volunteers who use Elvanto. If you re in charge of volunteers, why not check out our Volunteer

More information

Note. The above image and many others are courtesy of - this is a wonderful resource for designing circuits.

Note. The above image and many others are courtesy of   - this is a wonderful resource for designing circuits. Robotics and Electronics Unit 2. Arduino Objectives. Students will understand the basic characteristics of an Arduino Uno microcontroller. understand the basic structure of an Arduino program. know how

More information

6L00IA - Introduction to Synergy Software Package Short Version (SSP v1.2.0) Renesas Synergy Family - S7 Series

6L00IA - Introduction to Synergy Software Package Short Version (SSP v1.2.0) Renesas Synergy Family - S7 Series 6L00IA - Introduction to Synergy Software Package Short Version (SSP v1.2.0) Renesas Synergy Family - S7 Series LAB PROCEDURE Description: The purpose of this lab is to familiarize the user with the Synergy

More information

Problem Score 1 / 27 2 / 19 3 / 16 4 / 14 code check off 5 / 22 /2 Total /100

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

ECE 362 Experiment 3: General Purpose I/O

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

7 8 9 C. PRELAB REQUIREMENTS You must adhere to the Lab Rules and Policies document for every lab.

7 8 9 C. PRELAB REQUIREMENTS You must adhere to the Lab Rules and Policies document for every lab. Page 1/ Revision 1 OBJECTIVES To understand how a keypad functions as a raster scan input device and to learn how to interface a keypad to a microprocessor. Further explore and understand the implementation

More information

Digital Design and Computer Architecture

Digital Design and Computer Architecture Digital Design and Computer Architecture Lab 6: C Programming Introduction In this lab, you will learn to program an ARM processor on the Raspberry Pi in C by following a tutorial and then writing several

More information

Magic 8 Ball. Student's name & ID (1): Partner's name & ID (2): Your Section number & TA's name

Magic 8 Ball. Student's name & ID (1): Partner's name & ID (2): Your Section number & TA's name MPS Magic 8 Ball Lab Exercise Magic 8 Ball Student's name & ID (1): Partner's name & ID (2): Your Section number & TA's name Notes: You must work on this assignment with your partner. Hand in a printer

More information

Marten van Dijk, Syed Kamran Haider

Marten van Dijk, Syed Kamran Haider ECE3411 Fall 2015 Debugging Techniques Marten van Dijk, Syed Kamran Haider Department of Electrical & Computer Engineering University of Connecticut Email: {vandijk, syed.haider}@engr.uconn.edu Debugging

More information

Sixth lecture; classes, objects, reference operator.

Sixth lecture; classes, objects, reference operator. Sixth lecture; classes, objects, reference operator. 1 Some notes on the administration of the class: From here on out, homework assignments should be a bit shorter, and labs a bit longer. My office hours

More information

Physics 120/220 Lab Equipment, Hints & Tips

Physics 120/220 Lab Equipment, Hints & Tips Physics 120/220 Lab Equipment, Hints & Tips Solderless Breadboard... 2 Power supply... 4 Multimeters... 5 Function generator... 5 Oscilloscope... 6 10X probe... 7 Resistor color code... 7 Components...

More information

University of Hull Department of Computer Science C4DI Interfacing with Arduinos

University of Hull Department of Computer Science C4DI Interfacing with Arduinos Introduction Welcome to our Arduino hardware sessions. University of Hull Department of Computer Science C4DI Interfacing with Arduinos Vsn. 1.0 Rob Miles 2014 Please follow the instructions carefully.

More information

Halloween Pumpkinusing. Wednesday, October 17, 12

Halloween Pumpkinusing. Wednesday, October 17, 12 Halloween Pumpkinusing Blink LED 1 What you will need: 1 MSP-EXP430G2 1 3 x 2 Breadboard 3 560 Ohm Resistors 3 LED s (in Red Color Range) 3 Male to female jumper wires 1 Double AA BatteryPack 2 AA Batteries

More information

Week 5, continued. This is CS50. Harvard University. Fall Cheng Gong

Week 5, continued. This is CS50. Harvard University. Fall Cheng Gong This is CS50. Harvard University. Fall 2014. Cheng Gong Table of Contents News... 1 Buffer Overflow... 1 Malloc... 6 Linked Lists... 7 Searching... 13 Inserting... 16 Removing... 19 News Good news everyone!

More information

427 Class Notes Lab2: Real-Time Clock Lab

427 Class Notes Lab2: Real-Time Clock Lab This document will lead you through the steps of creating a new hardware base system that contains the necessary components and connections for the Real-Time Clock Lab. 1. Start up Xilinx Platform Studio

More information

Assignment 4: Flight Simulator

Assignment 4: Flight Simulator VR Assignment 4: Flight Simulator Released : Feb 19 Due : March 26th @ 4:00 PM Please start early as this is long assignment with a lot of details. We simply want to make sure that you have started the

More information

Introduction to Embedded Systems. Lab Logistics

Introduction to Embedded Systems. Lab Logistics Introduction to Embedded Systems CS/ECE 6780/5780 Al Davis Today s topics: lab logistics interrupt synchronization reentrant code 1 CS 5780 Lab Logistics Lab2 Status Wed: 3/11 teams have completed their

More information

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science EECS 150 Fall 2000 Original Lab By: J.Wawrzynek and N. Weaver Edited by B. Choi, R.

More information

Lecture 1: Overview

Lecture 1: Overview 15-150 Lecture 1: Overview Lecture by Stefan Muller May 21, 2018 Welcome to 15-150! Today s lecture was an overview that showed the highlights of everything you re learning this semester, which also meant

More information

Getting Up and Running

Getting Up and Running Version 3.2.1 / February, 2011 2 SECTION 1. SYSTEM REQUIREMENTS Getting Up and Running To use VizZle, it s best to have the most current version of Adobe Flash Player. When you download VizZle, Adobe will

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

Device: PLT This document Version: 1. For hardware Version: 1. For firmware Version: Date: 9 May 2014

Device: PLT This document Version: 1. For hardware Version: 1. For firmware Version: Date: 9 May 2014 Device: PLT-2001 This document Version: 1 For hardware Version: 1 For firmware Version: 5.00 Date: 9 May 2014 Description: LED Matrix Display Driver board PLT-2001v1 datasheet Page 2 Contents Introduction...

More information

6.S189 Homework 1. What to turn in. Exercise 1.1 Installing Python. Exercise 1.2 Hello, world!

6.S189 Homework 1. What to turn in. Exercise 1.1 Installing Python. Exercise 1.2 Hello, world! 6.S189 Homework 1 http://web.mit.edu/6.189/www/materials.html What to turn in Do the warm-up problems for Days 1 & 2 on the online tutor. Complete the problems below on your computer and get a checkoff

More information

COMP390 (Design &) Implementation

COMP390 (Design &) Implementation COMP390 (Design &) Implementation Phil (& Dave s) rough guide Consisting of some ideas to assist the development of large and small projects in Computer Science (and a chance for me to try out some features

More information

Lab 8: Debugging Embedded Devices and Software

Lab 8: Debugging Embedded Devices and Software Lab 8: Debugging Embedded Devices and Software Summary: Given pre-written code, isolate code and functional errors to create a working memory interfacing program. Learning Objectives: Debug and fix pre-written

More information

InfoSphere goes Android Flappy Bird

InfoSphere goes Android Flappy Bird So you have decided on FlappyBird. FlappyBird is a fun game, where you have to help your bird create an App, which to dodge the storm clouds. This work sheet will help you let s you control a generates

More information

Basic Input and Output

Basic Input and Output Basic Input and Output CSE 120 Winter 2018 Instructor: Teaching Assistants: Justin Hsia Anupam Gupta, Cheng Ni, Eugene Oh, Sam Wolfson, Sophie Tian, Teagan Horkan How the Facebook algorithm update will

More information

Basic Input and Output

Basic Input and Output Basic Input and Output CSE 120 Spring 2017 Instructor: Justin Hsia Teaching Assistants: Anupam Gupta, Braydon Hall, Eugene Oh, Savanna Yee Administrivia Assignments: Animal Functions due today (4/12) Reading

More information

Smoother Graphics Taking Control of Painting the Screen

Smoother Graphics Taking Control of Painting the Screen It is very likely that by now you ve tried something that made your game run rather slow. Perhaps you tried to use an image with a transparent background, or had a gazillion objects moving on the window

More information

TWO PLAYER REACTION GAME

TWO PLAYER REACTION GAME LESSON 18 TWO PLAYER REACTION GAME OBJECTIVE For your final project for this level for the course, create a game in Python that will test your reaction time versus another player. MATERIALS This lesson

More information

Debugging in AVR32 Studio

Debugging in AVR32 Studio Embedded Systems for Mechatronics 1, MF2042 Tutorial Debugging in AVR32 Studio version 2011 10 04 Debugging in AVR32 Studio Debugging is a very powerful tool if you want to have a deeper look into your

More information

CS 103 Lab The Files are *In* the Computer

CS 103 Lab The Files are *In* the Computer CS 103 Lab The Files are *In* the Computer 1 Introduction In this lab you will modify a word scramble game so that instead of using a hardcoded word list, it selects a word from a file. You will learn

More information

Lesson 2. Introducing Apps. In this lesson, you ll unlock the true power of your computer by learning to use apps!

Lesson 2. Introducing Apps. In this lesson, you ll unlock the true power of your computer by learning to use apps! Lesson 2 Introducing Apps In this lesson, you ll unlock the true power of your computer by learning to use apps! So What Is an App?...258 Did Someone Say Free?... 259 The Microsoft Solitaire Collection

More information

Goal: We want to build an autonomous vehicle (robot)

Goal: We want to build an autonomous vehicle (robot) Goal: We want to build an autonomous vehicle (robot) This means it will have to think for itself, its going to need a brain Our robot s brain will be a tiny computer called a microcontroller Specifically

More information

Lab 5: EBI and ADC: Digital Voltmeter

Lab 5: EBI and ADC: Digital Voltmeter Page 1/5 OBJECTIVES Learn how to use C (as an alternative to Assembly) in your programs. Learn how to use an analog-to-digital conversion (ADC, also known as A/D) system on a microcontroller. Use the ADC

More information

1. You re boring your audience

1. You re boring your audience 1. You re boring your audience OK, so you ve convinced your users to visit your landing page. Or even better they ve signed up for your mailing list. That s great! Now that you have their attention, the

More information

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #29 Arrays in C

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #29 Arrays in C Introduction to Programming in C Department of Computer Science and Engineering Lecture No. #29 Arrays in C (Refer Slide Time: 00:08) This session will learn about arrays in C. Now, what is the word array

More information

Reviewing gcc, make, gdb, and Linux Editors 1

Reviewing gcc, make, gdb, and Linux Editors 1 Reviewing gcc, make, gdb, and Linux Editors 1 Colin Gordon csgordon@cs.washington.edu University of Washington CSE333 Section 1, 3/31/11 1 Lots of material borrowed from 351/303 slides Colin Gordon (University

More information

IAS0430 MICROPROCESSOR SYSTEMS

IAS0430 MICROPROCESSOR SYSTEMS IAS0430 MICROPROCESSOR SYSTEMS Fall 2018 Arduino and assembly language Martin Jaanus U02-308 martin.jaanus@ttu.ee 620 2110, 56 91 31 93 Learning environment : http://isc.ttu.ee Materials : http://isc.ttu.ee/martin

More information

Google Drive: Access and organize your files

Google Drive: Access and organize your files Google Drive: Access and organize your files Use Google Drive to store and access your files, folders, and Google Docs anywhere. Change a file on the web, your computer, or your mobile device, and it updates

More information

CSCE 436/836: Embedded Systems Lab 1b: Hoverboard Programming Introduction

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

Using Virtual EEPROM and Flash API for Renesas MCUs RX600 Series

Using Virtual EEPROM and Flash API for Renesas MCUs RX600 Series Using Virtual EEPROM and Flash API for Renesas MCUs RX600 Series Description: This lab will take the user through using the Virtual EEPROM (VEE) project for RX. The user will learn to use the Virtual EEPROM

More information

BASICS OF THE RENESAS SYNERGY TM

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

Lecture 1. Course Overview Types & Expressions

Lecture 1. Course Overview Types & Expressions Lecture 1 Course Overview Types & Expressions CS 1110 Spring 2012: Walker White Outcomes: Basics of (Java) procedural programming Usage of assignments, conditionals, and loops. Ability to write recursive

More information

February 11, Nintendo. Bob Rost January 14, 2004

February 11, Nintendo. Bob Rost January 14, 2004 98-026 Nintendo Bob Rost January 14, 2004 Today Email from the real world. What do other people care about in NES development? nesmus Announcements Drawing tips Practical sprite drawing Some programming

More information

Laboratory Assignment #4 Debugging in Eclipse CDT 1

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

More information

Blocky: A Game of Falling Blocks

Blocky: A Game of Falling Blocks ECE220: Computer Systems and Programming Machine Problem 6 Spring 2018 Honors Section due: Thursday 1 March, 11:59:59 p.m. Blocky: A Game of Falling Blocks Your task this week is to implement a game of

More information

CSE 351. GDB Introduction

CSE 351. GDB Introduction CSE 351 GDB Introduction Lab 2 Out either tonight or tomorrow Due April 27 th (you have ~12 days) Reading and understanding x86_64 assembly Debugging and disassembling programs Today: General debugging

More information

CSCI341. Lecture 22, MIPS Programming: Directives, Linkers, Loaders, Memory

CSCI341. Lecture 22, MIPS Programming: Directives, Linkers, Loaders, Memory CSCI341 Lecture 22, MIPS Programming: Directives, Linkers, Loaders, Memory REVIEW Assemblers understand special commands called directives Assemblers understand macro commands Assembly programs become

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 0 Date : 28.2.2018 Prelab Filling the gaps Goals of this Lab You are expected to be already familiar

More information

Lecture 14: more class, C++ streams

Lecture 14: more class, C++ streams CIS 330: / / / / (_) / / / / _/_/ / / / / / \/ / /_/ / `/ \/ / / / _/_// / / / / /_ / /_/ / / / / /> < / /_/ / / / / /_/ / / / /_/ / / / / / \ /_/ /_/_/_/ _ \,_/_/ /_/\,_/ \ /_/ \ //_/ /_/ Lecture 14:

More information

Introduction to Programming with JES

Introduction to Programming with JES Introduction to Programming with JES Titus Winters & Josef Spjut October 6, 2005 1 Introduction First off, welcome to UCR, and congratulations on becoming a Computer Engineering major. Excellent choice.

More information

Hands-On with STM32 MCU Francesco Conti

Hands-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 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

Lab 7 Unit testing and debugging

Lab 7 Unit testing and debugging CMSC160 Intro to Algorithmic Design Blaheta Lab 7 Unit testing and debugging 13 March 2018 Below are the instructions for the drill. Pull out your hand traces, and in a few minutes we ll go over what you

More information

COMP390 (Design &) Implementation

COMP390 (Design &) Implementation COMP390 (Design &) Implementation Phil (& Dave s) rough guide Consisting of some ideas to assist the development of large and small projects in Computer Science (and a chance for me to try out some features

More information

COMP I/O, interrupts, exceptions April 3, 2016

COMP I/O, interrupts, exceptions April 3, 2016 In this lecture, I will elaborate on some of the details of the past few weeks, and attempt to pull some threads together. System Bus and Memory (cache, RAM, HDD) We first return to an topic we discussed

More information

HTML/CSS Lesson Plans

HTML/CSS Lesson Plans HTML/CSS Lesson Plans Course Outline 8 lessons x 1 hour Class size: 15-25 students Age: 10-12 years Requirements Computer for each student (or pair) and a classroom projector Pencil and paper Internet

More information

ECE 362 Lab Verification / Evaluation Form Experiment 3

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

Lecture 13: more class, C++ memory management

Lecture 13: more class, C++ memory management CIS 330: / / / / (_) / / / / _/_/ / / / / / \/ / /_/ / `/ \/ / / / _/_// / / / / /_ / /_/ / / / / /> < / /_/ / / / / /_/ / / / /_/ / / / / / \ /_/ /_/_/_/ _ \,_/_/ /_/\,_/ \ /_/ \ //_/ /_/ Lecture 13:

More information

ARM Microcontroller Course

ARM Microcontroller Course February 15, 2017 Please dowload the software available on https://www.scintilla.utwente.nl/docs/cursus/ourse2017 Table of ontents 1 Introduction 2 Data types Operators Events 3 The ourse Five Wednesday

More information

BASICS OF THE RENESAS SYNERGY PLATFORM

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

UNIVERSITY OF CALIFORNIA, SANTA CRUZ BOARD OF STUDIES IN COMPUTER ENGINEERING CMPE13/L: INTRODUCTION TO PROGRAMMING IN C SPRING 2013

UNIVERSITY OF CALIFORNIA, SANTA CRUZ BOARD OF STUDIES IN COMPUTER ENGINEERING CMPE13/L: INTRODUCTION TO PROGRAMMING IN C SPRING 2013 Introduction Reading Concepts UNIVERSITY OF CALIFORNIA, SANTA CRUZ BOARD OF STUDIES IN COMPUTER ENGINEERING CMPE13/L: INTRODUCTION TO PROGRAMMING IN C SPRING 2013 Lab 2 Bouncing LEDs In this lab, you will

More information

HOUR 4 Understanding Events

HOUR 4 Understanding Events HOUR 4 Understanding Events It s fairly easy to produce an attractive interface for an application using Visual Basic.NET s integrated design tools. You can create beautiful forms that have buttons to

More information

JavaScript Fundamentals_

JavaScript Fundamentals_ JavaScript Fundamentals_ HackerYou Course Syllabus CLASS 1 Intro to JavaScript Welcome to JavaScript Fundamentals! Today we ll go over what programming languages are, JavaScript syntax, variables, and

More information

Lecture 10: building large projects, beginning C++, C++ and structs

Lecture 10: building large projects, beginning C++, C++ and structs CIS 330: / / / / (_) / / / / _/_/ / / / / / \/ / /_/ / `/ \/ / / / _/_// / / / / /_ / /_/ / / / / /> < / /_/ / / / / /_/ / / / /_/ / / / / / \ /_/ /_/_/_/ _ \,_/_/ /_/\,_/ \ /_/ \ //_/ /_/ Lecture 10:

More information

Course Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++

Course Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++ Introduction to Programming in C++ Course Text Programming in C++, Zyante, Fall 2013 edition. Course book provided along with the course. Course Description This course introduces programming in C++ and

More information

Lecture notes Lectures 1 through 5 (up through lecture 5 slide 63) Book Chapters 1-4

Lecture notes Lectures 1 through 5 (up through lecture 5 slide 63) Book Chapters 1-4 EE445M Midterm Study Guide (Spring 2017) (updated February 25, 2017): Instructions: Open book and open notes. No calculators or any electronic devices (turn cell phones off). Please be sure that your answers

More information

Overview of the ECE Computer Software Curriculum. David O Hallaron Associate Professor of ECE and CS Carnegie Mellon University

Overview of the ECE Computer Software Curriculum. David O Hallaron Associate Professor of ECE and CS Carnegie Mellon University Overview of the ECE Computer Software Curriculum David O Hallaron Associate Professor of ECE and CS Carnegie Mellon University The Fundamental Idea of Abstraction Human beings Applications Software systems

More information

Google Tag Manager GUIDE. Total Completion Time Pros: 37 min 1hr 52 min Beginners: +4 hrs. blitzmetrics.com Google Tag Manager V2.

Google Tag Manager GUIDE. Total Completion Time Pros: 37 min 1hr 52 min Beginners: +4 hrs. blitzmetrics.com Google Tag Manager V2. Google Tag Manager GUIDE Total Completion Time Pros: 37 min 1hr 52 min Beginners: +4 hrs Google Tag Manager Creating Your Google Tag Manager Account Steps 1-4 take 5 minutes. Step 5 can take 1 hour. Setting

More information