EECS 373 Fall 2018 Homework #3
|
|
- Bethanie Lambert
- 5 years ago
- Views:
Transcription
1 EECS 373 Fall 2018 Homework #3 Answers 1) Loaders, Linkers and Executables a) In straightforward English, explain the role of a linker. [7 points] A linker receives object files as input and must emit an executable, library, or another object file. This involves cross-referencing symbol tables between object files as well as laying out the sections (data, text, etc.) of a program in memory. b) Consider the linker script at Briefly explain why the label eoa is at a higher address than the label stop even though the label eoa appears first. (Though largely irrelevant to the question, be aware this appears to be ARM not Thumb assembly). [8 points] The linker script specified that the data section come after the text section. Since eoa is in the data section (which starts at location 0x400, it is at a higher (larger) address than any label in the text section (which starts at location 0x000), including stop.
2 2) Write rewrite the function A in UAL assembly which does the same thing as the following C code. You should assume print is some ABI compliant function which takes a single integer argument and does _something_ with a (probably prints it somewhere eh?) and B is also an ABI compliant function. (Note, one point of the ABI is to be able to mix C and assembly like this, the linker will make it all work!) [15 points] void main() { int a=4,b=3; b=a(a,b); print(b); int A(int x, int y) { int a; a=b(x+y); print(a); There are a number of ways to do this, here is params: r0 = x, r1 = y A: push {lr, r4, r5, r6 mov r4, r0 mov r5, r1 add r0, r0, r0 = x + y bl a = B(r0) mov r6, r0 bl print(r0) add r0, r6, r0 = a + x sub r0, r0, r0 -= y pop {lr, r4, r5, r6 bx lr
3 3) Consider the basic example from lecture 3 (starting slide 23). a) Write a short UAL assembly program which every time the button is pressed toggles the light (so that if it s off pressing the button turns it back on and if it s on pressing the button turns it off. You can assume the switch is debounced. Be sure that pressing the button doesn t cause the light to quickly flicker rather each button press (off to on) should cause the light to toggle. [10 this code assumes the button is active-high after debounce mov r3, read button address mov r2, write LED address mov r0, LED state mov r4, button state loop: ldr r1, get button state cmp r4, check for rising edge. Must have been low and bne now be high cmp r1, check for button press beq same eor r0, r0, toggle LED str r0, [r2] same: mov r4, save button state b loop b) The same as part a, but in C this time. [10 points] #include <stdint.h> #define BUTTON_ADDR 0x05 #define LED_ADDR 0x04 int main() { volatile uint8_t *button_ptr = (uint8_t *) BUTTON_ADDR ; volatile uint8_t *led_ptr = (uint8_t *) LED_ADDR; uint8_t prev_button_down = 0; uint8_t led_on = 0; while (1) { // this code assumes the button is active high after debounce uint8_t button_down = *button_ptr; if (!prev_button_down && button_down) { led_on =!led_on; *led_ptr = led_on; prev_button_down = button_down;
4 Anemometer design Your task is to design the measurement system for a hand-held anemometer. The measures wind speed with a traditional rotating cup system. Wind speed is determined by measuring the rotation period, scaling and displaying accordingly. You will likely find it helpful to read the rest of the exam before solving any of the parts. To make the measurement, you have at your disposal a simplified Smart Fusion kit hardware timer. device following and a Interface to the APB bus The kit has the following APB3 bus interface. The signal names are shown in bold. The ABP3 bus signals follow APB3 timing and protocol. Read and write cycles are provided on the next page. PSEL is configured to be 1 when memory locations 0x x are accessed. SmartFusion Level Sensitive Interrupt: INT APB Write Data: PWDATA (32 bits) APB Read Data: PRDATA (32 bits) APB Peripheral Write: PWRITE Peripheral Address: PADDR (8 bits) Peripheral Select: PSEL Bus Clock: PCLK Bus Ready: PREADY As shown, this system has a single interrupt that can be generated. It is level-sensitive and is named INT.
5 Hardware Timer The hardware timer will become the value on TDI if TWE is high on the positive edge of the timer clock. Otherwise the counter will increment every cycle. If the counter reaches its maximum value it wraps around to zero (i.e. it is a modulo counter). The current value of the timer is always available on TDO. Timer Timer Data In: TDI (32 bits) Timer Data Out: TDO (32 bits) Timer Write Enable: TWE Timer Clock: TC APB Timing diagram The following diagrams are provided as a reminder of the APB timing with no wait states. ABP3 Read Timing ABP3 Write Timing
6 Part 1: Hardware Timer APB3 Bus Interface (16 points) Provide a hardware interface between the SmartFusion APB3 bus and the hardware timer to allow the SmartFusion to read and write the counter. Assume the timer s counter register is at address 0x (and only that address). You may use standard gates such as ANDs, ORs, NOTs (as well as standard bubbles). Be sure to show all connections. You may use GND and VCC to indicate a logical 0 and 1 respectively. You may not use Boolean or Verilog expressions. You will lose points for having unneeded logic. Note: we have put all the APB connections on the left and all the Timer connections on the right. This means inputs and outputs are intermixed, be sure you are driving all outputs! [10 points]
7 Part 2: Anemometer Interrupt Hardware Interface (16 points) The anemometer provides a high pulse (signal name PULSE) that is several clock (PCLK) cycles wide and is not synchronized to the APB clock. We wish to use this signal to generate an interrupt and then use the counter to time the period of each anemometer rotation. The only interrupt line available on your processor is level sensitive and is active high. This means it will interrupt as long as it remains high. Design logic using standard gates and D flip-flops that will provide the level-sensitive interrupt when PULSE goes high. Recall you have to hold a level-sensitive interrupt true until it is cleared by the interrupt service return. o One D flip-flop is provided, though you may use additional ones as needed. Also, provide logic that will clear the interrupt when a write to memory address 0x (and only that address) occurs.
8 Part 3: Interrupt Service Routine (18 points) Write an interrupt service routine in C called anemometer_interupt that will calculate and display the wind speed by reading the time of a rotation, scaling and then displaying the result using your hardware designed above. Assume that you have a function called scale that will convert the time of rotation to KPH. Scale accepts time per rotation in microseconds. Assume that you have another function called display that accepts KPH and provides display. It is acceptable if the first speed value is incorrect. All subsequent values should be correct. Assume the APB bus runs at 1 MHz. Function Prototypes: (void) display (int kph) (int kph)scale (int ms) Providing comments may improve your chance for partial credit.
EECS 373 Winter 2017 Homework #3
EECS 373 Winter 2017 Homework #3 Due January 25 th on Gradescope. Late homework is not accepted. Name: unique name: You are to turn in this assignment filling in the blanks as needed. Assignments that
More informationEECS 373 Midterm Winter 2013
EECS 373 Midterm Winter 2013 Name: unique name: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: # Page Points 2 /15 3 /20 4 /12 5 /13
More informationEECS 373 Midterm Winter 2016
EECS 373 Midterm Winter 2016 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 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 informationEECS 373 Midterm Winter 2012
EECS 373 Midterm Winter 2012 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 informationEECS 373 Practice Midterm / Homework #3 Fall 2014
Exam #: EECS 373 Practice Midterm / Homework #3 Fall 2014 Name: Uniquename: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: Problem #
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 informationEECS 373 Practice Midterm & Homework #2 Fall 2011
Exam #: EECS 373 Practice Midterm & Homework #2 Fall 2011 Name: Uniquename: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: Problem #
More informationesi-multichannel Timer
1 Contents 1 Contents 2 2 Overview 3 3 Hardware Interface 4 4 Software Interface 5 4.1 Register Map 5 4.2 Interrupts 6 Version 2.2 - Confidential 2 of 6 2010 EnSilica Ltd, All Rights Reserved 2 Overview
More informationEECS 373 Lab 3: Introduction to Memory Mapped I/O
EECS 373 Lab 3: Introduction to Memory Mapped I/O In this lab we will learn: To develop custom peripheral hardware in the SmartFusion FPGA using the Libero CAD tools. The fundamentals of memory-mapped
More informationEECS 373 Design of Microprocessor-Based Systems
EECS 373 Design of Microprocessor-Based Systems Ron Dreslinski University of Michigan Lecture 4: Bit of assembly, Memory-mapped I/O, APB January 16, 2018 1 Admin HW2 Due Thursday. HW1 answers posted as
More informationEECS 373 Midterm 2 Exam Winter 2018
EECS 373 Midterm 2 Exam Winter 2018 Name: SOLUTION unique name: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: Problem # Points 1 /15
More informationEECS 373, Homework 4, Fall 2018 Assigned: Wednesday 10/3; Due: Wednesday 10/10 at 10pm
EECS 373, Homework 4, Fall 2018 Assigned: Wednesday 10/3; Due: Wednesday 10/10 at 10pm 1. Read https://blog.feabhas.com/2013/01/weak-linkage-in-c-programming/ [4 points] a. Define the term weak linkage.
More informationEECS 373 Design of Microprocessor-Based Systems
EECS 373 Design of Microprocessor-Based Systems Mark Brehob University of Michigan Lecture 5: Memory-mapped I/O review, APB, start interrupts. Mostly APB though Sept. 19 th 2018 1 Today Memory-mapped I/O
More informationEECS 373 Design of Microprocessor-Based Systems
EECS 373 Design of Microprocessor-Based Systems Ron Dreslinski University of Michigan Lecture 5: Memory-mapped I/O review, APB, Mostly APB though J January 18 th 2018 1 Administra,ve Midterm Exam: Monday,
More informationCprE 288 Introduction to Embedded Systems ARM Assembly Programming: Translating C Control Statements and Function Calls
CprE 288 Introduction to Embedded Systems ARM Assembly Programming: Translating C Control Statements and Function Calls Instructors: Dr. Phillip Jones 1 Announcements Final Projects Projects: Mandatory
More informationEECS 373 Design of Microprocessor-Based Systems
EECS 373 Design of Microprocessor-Based Systems Branden Ghena University of Michigan Lecture 4: Memory-Mapped I/O, Bus Architectures September 11, 2014 Slides developed in part by Mark Brehob & Prabal
More informationLAB4. Program the on chip SPI module
LAB4 Program the on chip SPI module Outline Learn to utilize the on-chip SPI module Implement it in C Translate it to ARM Assembly Test and verify the result using oscilloscope and shift register. Serial
More informationE85 Lab 8: Assembly Language
E85 Lab 8: Assembly Language E85 Spring 2016 Due: 4/6/16 Overview: This lab is focused on assembly programming. Assembly language serves as a bridge between the machine code we will need to understand
More informationEECS 373 Design of Microprocessor-Based Systems
EECS 373 Design of Microprocessor-Based Systems Mark Brehob University of Michigan Lecture 3: Toolchain, ABI, Memory Mapped I/O Sept. 12 th, 2018 Slides developed in part by Prof. Dutta 1 Announcements
More informationTimers and Pulse Accumulator
7 7.1 Objectives: Tiva is equipped with six General Purpose Timer Modules named TIMERn. Additionally, each TIMERn consists of two 16 bit timers (A and B). Most GPIO pins can be assigned a TIMERn as an
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 informationEECS 373. Design of Microprocessor-Based Systems. Prabal Dutta University of Michigan. Announcements. Homework #2 Where was I last week?
Announcements EECS 373 Homework #2 Where was I last week? Design of Microprocessor-Based Systems VLCS 14 MobiCom 14 HotWireless 14 Prabal Dutta University of Michigan Lecture 5: Memory and Peripheral Busses
More informationCprE 288 Introduction to Embedded Systems Course Review for Exam 3. Instructors: Dr. Phillip Jones
CprE 288 Introduction to Embedded Systems Course Review for Exam 3 Instructors: Dr. Phillip Jones 1 Announcements Exam 3: See course website for day/time. Exam 3 location: Our regular classroom Allowed
More informationExam 1. Date: March 1, 2019
Exam 1 Date: March 1, 2019 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: Signature:
More information1 Contents. Version of EnSilica Ltd, All Rights Reserved
1 Contents 1 Contents 2 2 Overview 3 3 Hardware Interface 4 3.1 Resource requirements 4 4 Software Interface 5 4.1 Register Map 5 4.2 Interrupts 7 5 RSA Operation 8 5.1 Introduction 8 5.2 Cycle counts
More informationRoa Logic. APB4 Multiplexer. Datasheet. October, c Roa Logic B.V.
Roa Logic Silicon Proven IP for FPGA and ASIC www.roalogic.com APB4 Multiplexer Datasheet http://roalogic.github.io/plic October, 2017 c Roa Logic B.V. Contents 1 Introduction 1 1.1 Features......................................
More informationCMPSCI 201 Fall 2004 Midterm #2 Answers
CMPSCI 201 Fall 2004 Midterm #2 Answers Professor William T. Verts 15 Points You should be quite familiar by now with the single-precision floating point numeric format (one 32-bit word containing
More informationExam 1 Fun Times. EE319K Fall 2012 Exam 1A Modified Page 1. Date: October 5, Printed Name:
EE319K Fall 2012 Exam 1A Modified Page 1 Exam 1 Fun Times Date: October 5, 2012 Printed Name: Last, First Your signature is your promise that you have not cheated and will not cheat on this exam, nor will
More informationExam 1. Date: February 23, 2016
Exam 1 Date: February 23, 2016 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 informationEmbedded assembly is more useful. Embedded assembly places an assembly function inside a C program and can be used with the ARM Cortex M0 processor.
EE 354 Fall 2015 ARM Lecture 4 Assembly Language, Floating Point, PWM The ARM Cortex M0 processor supports only the thumb2 assembly language instruction set. This instruction set consists of fifty 16-bit
More information(2) Part a) Registers (e.g., R0, R1, themselves). other Registers do not exists at any address in the memory map
(14) Question 1. For each of the following components, decide where to place it within the memory map of the microcontroller. Multiple choice select: RAM, ROM, or other. Select other if the component is
More informationCprE 288 Translating C Control Statements and Function Calls, Loops, Interrupt Processing. Instructors: Dr. Phillip Jones Dr.
CprE 288 Translating C Control Statements and Function Calls, Loops, Interrupt Processing Instructors: Dr. Phillip Jones Dr. Zhao Zhang 1 Announcements Final Projects Projects: Mandatory Demos Deadweek
More informationExam 1. Date: February 23, 2018
Exam 1 Date: February 23, 2018 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 informationall: arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb main.c \ -T generic-hosted.ld -o main.out -g arm-none-eabi-objdump -S main.out > main.
EECS 373-F10 Homework #1 Solutions Sep 28, 2010 Due: Oct 7, 2010 at the beginning of class. Problem 1: Assembly (40 pts). On a machine with the ARM GNU tools installed, type the following into a file named
More informationNET3001. Advanced Assembly
NET3001 Advanced Assembly Arrays and Indexing supposed we have an array of 16 bytes at 0x0800.0100 write a program that determines if the array contains the byte '0x12' set r0=1 if the byte is found plan:
More informationCoreAHBtoAPB3 v3.1. Handbook
CoreAHBtoAPB3 v3.1 Handbook CoreAHBtoAPB3 v3.1 Handbook Table of Contents Introduction... 3 Core Overview... 3 Key Features... 3 Supported Microsemi FPGA Families... 3 Core Version... 4 Supported Interfaces...
More informationARM PROGRAMMING. When use assembly
ARM PROGRAMMING Bùi Quốc Bảo When use assembly Functions that cannot be implemented in C, such as special register accesses and exclusive accesses Timing-critical routines Tight memory requirements, causing
More informationEECS 373 Design of Microprocessor-Based Systems
EECS 373 Design of Microprocessor-Based Systems Branden Ghena University of Michigan Today Memory-Mapped I/O Example Bus with Memory-Mapped I/O Bus Architectures AMBA APB Lecture 4: Memory-Mapped I/O,
More informationChapter 15. ARM Architecture, Programming and Development Tools
Chapter 15 ARM Architecture, Programming and Development Tools Lesson 5 ARM 16-bit Thumb Instruction Set 2 - Thumb 16 bit subset Better code density than 32-bit architecture instruction set 3 Basic Programming
More informationCMPSCI 201 Fall 2004 Midterm #1 Answers
CMPSCI 201 Fall 2004 Midterm #1 Answers 10 Points Short Essay Answer The 8088 is primarily a CISC processor design, and the ARM is primarily RISC. The 6502 is such an early design that it is difficult
More informationA VHDL 8254 Timer core
An www.opencores.org Project hlefevre@opencores.org Revision History Revision Date Author Description 0.1 3 Aug 2008 H LeFevre Initial Release of source files 0.5 4 Aug 2008 H LeFevre Add info about Timer
More informationReturning from an Exception. ARM Exception(Interrupt) Processing. Exception Vector Table (Assembly code) Exception Handlers (and Vectors) in C code
ARM Exception(Interrupt) Processing Returning from an Exception main: instruction instruction instruction instruction Exception The ARM processor automatically: 1. Saves CPSR into banked SPSR 2. Saves
More informationAPB4 GPIO. APB4 GPIO Datasheet Roa Logic, All rights reserved
1 APB4 GPIO Datasheet 2 Introduction The APB4 GPIO Core is fully parameterised core designed to provide a userdefined number of general purpose, bidirectional IO to a design. The IO are accessible via
More informationStack Frames. September 2, Indiana University. Geoffrey Brown, Bryce Himebaugh 2015 September 2, / 15
Stack Frames Geoffrey Brown Bryce Himebaugh Indiana University September 2, 2016 Geoffrey Brown, Bryce Himebaugh 2015 September 2, 2016 1 / 15 Outline Preserving Registers Saving and Restoring Registers
More informationEE319K Spring 2015 Exam 1 Page 1. Exam 1. Date: Feb 26, 2015
EE319K Spring 2015 Exam 1 Page 1 Exam 1 Date: Feb 26, 2015 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
More informationGeneral Purpose Programmable Peripheral Devices. Assistant Professor, EC Dept., Sankalchand Patel College of Engg.,Visnagar
Chapter 15 General Purpose Programmable Peripheral Devices by Rahul Patel, Assistant Professor, EC Dept., Sankalchand Patel College of Engg.,Visnagar Microprocessor & Interfacing (140701) Rahul Patel 1
More informationInterrupts (I) Lecturer: Sri Notes by Annie Guo. Week8 1
Interrupts (I) Lecturer: Sri Notes by Annie Guo Week8 1 Lecture overview Introduction to Interrupts Interrupt system specifications Multiple Sources of Interrupts Interrupt Priorities Interrupts in AVR
More informationEE319K Exam 1 Summer 2014 Page 1. Exam 1. Date: July 9, Printed Name:
EE319K Exam 1 Summer 2014 Page 1 Exam 1 Date: July 9, 2014 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
More informationDepartment of Electrical and Computer Engineering Introduction to Computer Engineering I (ECSE-221) Assignment 3: Sequential Logic
Available: February 16, 2009 Due: March 9, 2009 Department of Electrical and Computer Engineering (ECSE-221) Assignment 3: Sequential Logic Information regarding submission and final deposition time can
More informationEE445M/EE380L.6 Quiz 2 Spring 2017 Solution Page 1 of 5
EE445M/EE380L.6 Quiz 2 Spring 2017 Solution Page 1 of 5 First Name: Last Name: April 21, 2017, 10:00 to 10:50am Open book, open notes, calculator (no laptops, phones, devices with screens larger than a
More informationARM Assembler Workbook. CS160 Computer Organization Version 1.1 October 27 th, 2002 Revised Fall 2005
ARM Assembler Workbook CS160 Computer Organization Version 1.1 October 27 th, 2002 Revised Fall 2005 ARM University Program Version 1.0 January 14th, 1997 Introduction Aim This workbook provides the student
More informationECE 598 Advanced Operating Systems Lecture 8
ECE 598 Advanced Operating Systems Lecture 8 Vince Weaver http://www.eece.maine.edu/~vweaver vincent.weaver@maine.edu 11 February 2016 Homework #3 Due. Announcements Homework #4 Posted Soon 1 HW#3 Comments
More informationEE 231 Fall EE 231 Homework 8 Due October 20, 2010
EE 231 Homework 8 Due October 20, 20 1. Consider the circuit below. It has three inputs (x and clock), and one output (z). At reset, the circuit starts with the outputs of all flip-flops at 0. x z J Q
More informationECE 598 Advanced Operating Systems Lecture 4
ECE 598 Advanced Operating Systems Lecture 4 Vince Weaver http://www.eece.maine.edu/~vweaver vincent.weaver@maine.edu 28 January 2016 Announcements HW#1 was due HW#2 was posted, will be tricky Let me know
More informationAn Introduction to Assembly Programming with the ARM 32-bit Processor Family
An Introduction to Assembly Programming with the ARM 32-bit Processor Family G. Agosta Politecnico di Milano December 3, 2011 Contents 1 Introduction 1 1.1 Prerequisites............................. 2
More informationExam 1. Date: February 23, 2018
Exam 1 Date: February 23, 2018 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 informationEE4144: ARM Cortex-M Processor
EE4144: ARM Cortex-M Processor EE4144 Fall 2014 EE4144 EE4144: ARM Cortex-M Processor Fall 2014 1 / 10 ARM Cortex-M 32-bit RISC processor Cortex-M4F Cortex-M3 + DSP instructions + floating point unit (FPU)
More informationExam 1. Date: Oct 4, 2018
Exam 1 Date: Oct 4, 2018 UT EID: Professor: Valvano 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
More informationECE 598 Advanced Operating Systems Lecture 8
ECE 598 Advanced Operating Systems Lecture 8 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 15 February 2018 Homework #3 Due. Announcements Homework #4 Posted Soon 1 (Review)
More information1 Contents. Version of EnSilica Ltd, All Rights Reserved
56/SHA224 1 Contents 1 Contents 2 2 Overview 3 3 Hardware Interface 4 3.1 Area 4 4 Software Interface 5 4.1 Register Map 5 5 SHA256/SHA224 Operation 8 5.1 Introduction 8 5.2 Cycle counts 8 6 Revision History
More information1 Contents 2 2 Overview 3 3 Hardware Interface 4 4 Software Interface Register Map Interrupts 6 5 Revision History 8
1 Contents 1 Contents 2 2 Overview 3 3 Hardware Interface 4 4 Software Interface 5 4.1 Register Map 5 4.2 Interrupts 6 5 Revision History 8 Version 2.3.2 - Confidential 2 of 8 2011 EnSilica Ltd, All Rights
More informationSupport for high-level languages
Outline: Support for high-level languages memory organization ARM data types conditional statements & loop structures the ARM Procedure Call Standard hands-on: writing & debugging C programs 2005 PEVE
More informationUniversity of Technology
University of Technology Lecturer: Dr. Sinan Majid Course Title: microprocessors 4 th year Lecture 13 Counters Overview Counters are important components in computers The increment or decrement by one
More informationArchitectural design proposal for real time clock for wireless microcontroller unit
Architectural design proposal for real time clock for wireless microcontroller unit Muhammad Nor Azwan Mohd Alias 1, *, and Shaiful Nizam Mohyar 1 1 School of Microelectronic Engineering, University Malaysia
More informationInterrupt-Driven Input/Output
Interrupt-Driven Input/Output Textbook: Chapter 11 (Interrupts) ARM Cortex-M4 User Guide (Interrupts, exceptions, NVIC) Sections 2.1.4, 2.3 Exceptions and interrupts Section 4.2 Nested Vectored Interrupt
More informationMicroprocessors & Interfacing
Lecture Overview Microprocessors & Interfacing Interrupts (I) Lecturer : Dr. Annie Guo Introduction to Interrupts Interrupt system specifications Multiple sources of interrupts Interrupt priorities Interrupts
More informationEE319K Spring 2016 Exam 1 Solution Page 1. Exam 1. Date: Feb 25, UT EID: Solution Professor (circle): Janapa Reddi, Tiwari, Valvano, Yerraballi
EE319K Spring 2016 Exam 1 Solution Page 1 Exam 1 Date: Feb 25, 2016 UT EID: Solution Professor (circle): Janapa Reddi, Tiwari, Valvano, Yerraballi Printed Name: Last, First Your signature is your promise
More informationCSE 410. Operating Systems
CSE 410 Operating Systems Handout: syllabus 1 Today s Lecture Course organization Computing environment Overview of course topics 2 Course Organization Course website http://www.cse.msu.edu/~cse410/ Syllabus
More informationEE319K Fall 2013 Exam 1B Modified Page 1. Exam 1. Date: October 3, 2013
EE319K Fall 2013 Exam 1B Modified Page 1 Exam 1 Date: October 3, 2013 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
More informationRipple Counters. Lecture 30 1
Ripple Counters A register that goes through a prescribed sequence of states upon the application of input pulses is called a counter. The input pulses may be clock pulses, or they may originate from some
More informationARM Assembly Exercise (1B) Young Won Lim 7/16/16
ARM Assembly Exercise (1B) Copyright (c) 2014-2016 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2
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 informationOverview COMP Microprocessors and Embedded Systems. Lectures 18 : Pointers & Arrays in C/ Assembly
COMP 3221 Microprocessors and Embedded Systems Lectures 18 : Pointers & Arrays in C/ Assembly http://www.cse.unsw.edu.au/~cs3221 Overview Arrays, Pointers, Functions in C Example Pointers, Arithmetic,
More informationFormat. 10 multiple choice 8 points each. 1 short answer 20 points. Same basic principals as the midterm
Final Review Format 10 multiple choice 8 points each Make sure to show your work Can write a description to the side as to why you think your answer is correct for possible partial credit 1 short answer
More informationECE251: Thursday September 27
ECE251: Thursday September 27 Exceptions: Interrupts and Resets Chapter in text and Lab #6. READ ALL this material! This will NOT be on the mid-term exam. Lab Practical Exam #1 Homework # due today at
More informationDE1-SoC Computer System with ARM Cortex-A9. 1 Introduction. 2 DE1-SoC Computer Contents. 2.1 Hard Processor System. For Quartus Prime 16.
DE1-SoC Computer System with ARM Cortex-A9 For Quartus Prime 16.1 1 Introduction This document describes a computer system that can be implemented on the Intel DE1-SoC development and education board.
More informationEE319K (Gerstlauer), Spring 2013, Midterm 1 1. Midterm 1. Date: February 21, 2013
EE319K (Gerstlauer), Spring 2013, Midterm 1 1 Midterm 1 Date: February 21, 2013 UT EID: Printed Name: Last, First Your signature is your promise that you have not cheated and will not cheat on this exam,
More informationComputer Fundamentals and Operating System Theory. By Neil Bloomberg Spring 2017
Computer Fundamentals and Operating System Theory By Neil Bloomberg Spring 2017 INTRODUCTION This presentation will cover the fundamentals of Computer Operating Systems as a layered architecture using
More informationUniversität Dortmund. ARM Cortex-M3 Buses
ARM Cortex-M3 Buses Modulo 2 No change in class organization Thursday aftenoon (17-19) Lectures (Rossi) Aprile Giugno (Mod 2) room 1.3 Friday afternoon (14-18) (Benatti): LAB2 Content natural prosecution
More informationEE251: Tuesday October 23
EE251: Tuesday October 23 Higher Frequency Clock via Phase Locked Loop TIMER MODULE: SysTick-Basis of next week s lab Section 12.4 and 18 in text describes our SysTick Section 2.5 of Valvano s Real Time
More informationARM Assembly Programming
ARM Assembly Programming Computer Organization and Assembly Languages g Yung-Yu Chuang 2007/12/1 with slides by Peng-Sheng Chen GNU compiler and binutils HAM uses GNU compiler and binutils gcc: GNU C compiler
More informationMajor and Minor States
Major and Minor States We now consider the micro operations and control signals associated with the execution of each instruction in the ISA. The execution of each instruction is divided into three phases.
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 informationECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS
ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS Note: Closed book no notes or other material allowed apart from the one
More informationAssembly Language Programming
Assembly Language Programming ECE 362 https://engineering.purdue.edu/ee362/ Rick Reading and writing arrays Consider this C code again: int array1[100]; int array2[100]; for(n=0; n
More informationARM Assembly Programming
ARM Assembly Programming Computer Organization and Assembly Languages g Yung-Yu Chuang with slides by Peng-Sheng Chen GNU compiler and binutils HAM uses GNU compiler and binutils gcc: GNU C compiler as:
More informationAPB Free ware, 2015 Fen Logic Ltd.
APB Free ware, 205 Fen Logic Ltd. The ARM APB interface is used by many IP providers. In this directory you will find various APB related code examples. The docs directory has a copy of the ARM APB AMBA
More informationARM Cortex-M4 Architecture and Instruction Set 4: The Stack and subroutines
ARM Cortex-M4 Architecture and Instruction Set 4: The Stack and subroutines M J Brockway February 13, 2016 The Cortex-M4 Stack SP The subroutine stack is full, descending It grows downwards from higher
More informationComputer Organization & Assembly Language Programming (CSE 2312)
Computer Organization & Assembly Language Programming (CSE 2312) Lecture 16: Processor Pipeline Introduction and Debugging with GDB Taylor Johnson Announcements and Outline Homework 5 due today Know how
More informationExam 1. Date: March 1, 2019
Exam 1 Date: March 1, 2019 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: Signature:
More informationCPE/EE 421 Microcomputers
CPE/EE 421 Microcomputers THE 68000 CPU HARDWARE MODEL Instructor: Dr Aleksandar Milenkovic Lecture Notes Lecture 19 CPE/EE 421/521 Microcomputers 1 THE 68000 CPU HARDWARE MODEL Chapter 4 68000 interface
More informationSubroutines and the Stack
3 31 Objectives: A subroutine is a reusable program module A main program can call or jump to the subroutine one or more times The stack is used in several ways when subroutines are called In this lab
More informationSummer 2003 Lecture 21 07/15/03
Summer 2003 Lecture 21 07/15/03 Simple I/O Devices Simple i/o hardware generally refers to simple input or output ports. These devices generally accept external logic signals as input and allow the CPU
More informationMeasuring Interrupt Latency
NXP Semiconductors Document Number: AN12078 Application Note Rev. 0, 10/2017 Measuring Interrupt Latency 1. Introduction The term interrupt latency refers to the delay between the start of an Interrupt
More informationECE 498 Linux Assembly Language Lecture 5
ECE 498 Linux Assembly Language Lecture 5 Vince Weaver http://www.eece.maine.edu/ vweaver vincent.weaver@maine.edu 29 November 2012 Clarifications from Lecture 4 What is the Q saturate status bit? Some
More informationMultitasking on Cortex-M(0) class MCU A deepdive into the Chromium-EC scheduler
Multitasking on Cortex-M(0) class MCU A deepdive into the Chromium-EC scheduler $whoami Embedded Software Engineer at National Instruments We just finished our first product using Chromium-EC and future
More informationF28HS Hardware-Software Interface: Systems Programming
F28HS Hardware-Software Interface: Systems Programming Hans-Wolfgang Loidl School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh Semester 2 2017/18 0 No proprietary software has
More informationA User s Experience with SystemVerilog
A User s Experience with SystemVerilog and Doulos Ltd Ringwood, U.K. BH24 1AW jonathan.bromley@doulos.com michael.smith@doulos.com 2 Objectives Practical use of SystemVerilog Synopsys tools (VCS, Design
More informationExam 1. EE319K Spring 2013 Exam 1 (Practice 1) Page 1. Date: February 21, 2013; 9:30-10:45am. Printed Name:
EE319K Spring 2013 Exam 1 (Practice 1) Page 1 Exam 1 Date: February 21, 2013; 9:30-10:45am Printed Name: Last, First Your signature is your promise that you have not cheated and will not cheat on this
More information