Interrupt Basics Karl-Ragmar Riemschneider

Size: px
Start display at page:

Download "Interrupt Basics Karl-Ragmar Riemschneider"

Transcription

1 Interrupt Basics Exceptions and Interrupts Interrupts Handlers vs. Subroutines Accept or hold Pending: Priority control Exception vector table Example Karl-Ragmar Riemschneider

2

3

4

5

6

7

8

9

10

11

12

13

14

15 Exceptions in H8S/2357

16 Example for IRQ Input

17 Interrupt Controller

18 Interrupt Controller Two interrupt control Mode 0 or Mode 2: 2 interrupt control modes can be set INTM1 and INTM0 bits in the system control register (SYSCR). Priorities settable with IPR Interrupt priority register (IPR) is provided for setting interrupt priorities. 8 priority levels can be set for all interrupts except NMI. NMI is assigned the highest priority level of 8, and can be accepted at all times. Independent vector addresses All interrupt sources are assigned independent vector addresses No need for interrupt handling routine to determine the source of interrupts. Comfortable but NOT typical!! Often the handler has to find out the source of the interrupt, see daisy chain principles in the literature of other processors.) Nine external interrupts IRQ_7 to IRQ_0 + NMI Edge of interrupt signal is selectable: IRQ_7 to IRQ_0: NMI: falling edge, rising edge, or both edge detection, or level sensing. Rising edge or falling edge.

19 Interrupt Request (IRQ) Enable Register - IER Additional switch to enable/disable the IRQ lines Remark: before use one IRQ you have enable this

20 Interrupt Request (IRQ) Sense Control Registers - ISCRH, ISCRL defines the effective event or state on IRQ Pins (falling, rising edge both edges or low level)

21 Decision Chain in Mode 0

22 System Control Register SYSCR

23 System Control Register SYSCR Bit NMIEG sets the active edge (falling/rising) of the Signal which effects non maskable interrupts NMI

24 NMI

25 Interrupt Controller - discussed until now

26 System Control Register SYSCR Interrupt Control Mode 0 or 2 is set by INTM1 (and INTM0)

27 System Control Register SYSCR - Interrupt Control Mode 0 or 2 Setting of Interrupt Control Mode 0 INTM1=0 and INTM0=0 Interrupt acceptance will controlled by One single bit (I bit) in Status Register CCR [Condition Control Register] Function: I bit set to 1 = allowed interrupts I bit reset to 0 = interrupts not allowed Setting of Interrupt Control Mode 2 INTM1=1 and INTM0=0 8 interrupt priorities for: 8 external interrupts sources ( = IRQ interrupts) and 16 internal interrupts sources (on-chip supporting module interrupts). Interrupt control mode 2 is described in the following

28 Current Status with respect to Exceptions System Byte tatus Register(s) Extended Control Registe Code Condition Register User Byte

29 Current Status with respect to Exceptions sed in Trace Mode esetted in Interrupt handlers System Byte Contains the current masked priority set by program (incl. handlers) tatus Register(s) Extended Control Registe Code Condition Register Used in Interrupt Control Mode 0 User Byte

30 Handling in Interrupt Mode 0

31 Feature of Exceptions Each exception is associated with a vector number. This vector number gives the address of an exception vector table entry. An exception vector table is an array of the type long (short jump addresses). The address of an exception vector table entry is the vector number multiplied by 4. Address of an Entry in EVT = Vector number (Index of EVT) x 4. All the H8S/2357 exception handler start addresses are stored in a table of 92 longwords. This table is reaching from address 0x to 0x F.

32 Exception Vector Table

33 Content of Exception Vector Table (summarized)

34 Priority of Exception Types

35 11 Interrupt Priority Registers IPRx to set the Priority Level of 21 Exceptions Sources Initialized to 0x77 that means set highest Prio-lev Block of 3 Bit => Prio-level 0 to 7 Block of 3 Bit => Prio-level 0 to 7

36 Correspondence between interrupt sources and settings in the 11 Interupt Priority Registers IPRx

37 Interrupt Controller - discussed until now

38 Phase of Exception Handling

39 Flowchart of Interrupt Phase 1 (HW Result:...? or...? Two functions:...? and...?

40 Flowchart of Interrupt Phase 1 (HW Result: Accepted (starting handler) or Held pending (do not start handler) Two functions: 1) Highest Priority will be at started first (if there more then one with different Priorities) 2) Priority equal or or lower is not accepted (the source is set to held pending )

41 List abridged see Manual if more Info necessary How handling Interrupts with same Priorities happens at the same time?

42 Interrupt Controller - discussed until now

43 Interrupt Request Status Register ISR IRQ Status Register ISR indicates the Status of an IRQ ISR flag clearing: Cleared by reading IRQnF flag when IRQnF = 1, then writing 0 to IRQnF flag. When interrupt exception handling is executed AND low-level detection is set (IRQnSCB = IRQnSCA = 0) AND IRQn input is high (again). When IRQn interrupt exception handling is executed AND falling, rising, or both edge detection is set (IRQnSCB=1 and/or IRQnSCA = 1). These Flags block the re-entry of the own handler!

44 ISR Flag clearing

45 Memory Map in the Evaluation-Board (EVB) in Lab Firmware (download, upload, serial communication, debugg...) Not allowed to write there

46 C Areas

47 Example of Shadow EVT

48 Phase as Result of Rotation Direction

49 One Page Example -Task Task: Detect the Direction of Rotation! Input: one the digital light barrier signal for interrupting the other digital light barrier signal will be polled Output: output clockwise rotation with one LED output counterclockwise rotation with one other LED Control: stop with one manual switched High Level on one Pin

50 One Page Example S1, S0 Digital Input Signals P4(2) Stop manual switch Port(1) and P5(0) Output to LED

51 One Page Example - Rules I #include <mpp1.h> volatile unsigned char direction; pre-definitions in header files... interrupt void IRQ0hnd(void) { if(port4 & 0x01 == 0) direction = 0; else direction = 1; } define a global buffer to communicate between main() void main(void) { and IRQ0hnd P5DDR= 0x03; /* P5(1) and P5(0) as outputs */ hanges independent P5DR= 0x00; of program /* flow initialize Output Clockwise = Countercl. = 0 */ => instruction to compiler SYSCR = 0x20; /* Interrupt mode 2 */ nothing to optimize IPRA = 0x30; /* Priority 3 for IRQ_0 */ } ISCRL = 0x02; /* Rising edge of IRQ_0 */ SHADOW_IH(IRQ_0) = IRQ0hnd; /* Update shadow EVT */ SHADOW_JMP(IRQ_0)= OPCODE_JMP; /* Add the JMP instruction */ and_exr(0xf8); /* Mask level = 0 */ IER =0x01; /* Enable IRQ_0 interrupt */ do { if (direction == 0) P5DR= 0x02; /* Clockwise */ else P5DR = 0x01; /* Counterclockwise */ /*... */ /* Execute additional tasks*/ } while(port4 & 0x04 == 0); /* while no stop signal */ IER & = 0xFÉ; /* Disable IRQ_0 interrupt */

52 One Page Example - Rules II #include <mpp1.h> volatile unsigned char direction; free indentifier name no parameters! interrupt void IRQ0hnd(void) { if(port4 & 0x01 == 0) direction = 0; else direction = 1; } no return value pragma interrupt void main(void) { P5DDR= 0x03; /* P5(1) and P5(0) as outputs */ P5DR= 0x00; /* initialize Output Clockwise = Countercl. = 0 */ SYSCR = 0x20; /* Interrupt mode 2 */ IPRA = 0x30; /* Priority 3 for IRQ_0 */ ISCRL = 0x02; /* Rising edge of IRQ_0 */ SHADOW_IH(IRQ_0) = IRQ0hnd; /* Update shadow EVT */ SHADOW_JMP(IRQ_0)= OPCODE_JMP; /* Add the JMP instruction */ and_exr(0xf8); /* Mask level = 0 */ IER =0x01; /* Enable IRQ_0 interrupt */ do { if (direction == 0) P5DR= 0x02; /* Clockwise */ else P5DR = 0x01; /* Counterclockwise */ /*... */ /* Execute additional tasks*/ } while(port4 & 0x04 == 0); /* while no stop signal */ IER & = 0xFÉ; /* Disable IRQ_0 interrupt */ }

53 One Page Example - Rules III #include <mpp1.h> volatile unsigned char direction; Two bits as Outputs No output at first interrupt void IRQ0hnd(void) { if(port4 & 0x01 == 0) direction = 0; else direction = 1; } void main(void) { P5DDR= 0x03; /* P5(1) and P5(0) as outputs */ P5DR= 0x00; /* initialize Output Clockwise = Countercl. = 0 */ SYSCR = 0x20; /* Interrupt mode 2 */ IPRA = 0x30; /* Priority 3 for IRQ_0 */ ISCRL = 0x02; /* Rising edge of IRQ_0 */ SHADOW_IH(IRQ_0) = IRQ0hnd; /* Update shadow EVT */ SHADOW_JMP(IRQ_0)= OPCODE_JMP; /* Add the JMP instruction */ and_exr(0xf8); /* Mask level = 0 */ IER =0x01; /* Enable IRQ_0 interrupt */ do { if (direction == 0) P5DR= 0x02; /* Clockwise */ else P5DR = 0x01; /* Counterclockwise */ /*... */ /* Execute additional tasks*/ } while(port4 & 0x04 == 0); /* while no stop signal */ IER & = 0xFE; /* Disable IRQ_0 interrupt */ }

54 #include <mpp1.h> volatile unsigned char direction; interrupt void IRQ0hnd(void) { if(port4 & 0x01 == 0) direction = 0; else direction Determine = 1; the active edge of IRQ0 } One Page Example - Rules III Interrupt mode 2 = prioritized Interrupts Give the signal IRQ3 the priority 3 void main(void) { P5DDR= 0x03; /* P5(1) and P5(0) as outputs */ Entry pointer (start address) of a self defined handler P5DR= 0x00; /* initialize Output Clockwise = Countercl. in Shadow EVT = 0 (SVT) */ SYSCR = 0x20; /* Interrupt mode 2 */ at IRQ_O number! } IPRA = 0x30; /* Priority 3 for IRQ_0 */ ISCRL = 0x02; /* Rising edge of IRQ_0 */ write the Opcode of unconditional SHADOW_IH(IRQ_0) = IRQ0hnd; /* Update shadow EVT */ Jump Opcode before the start addresses SHADOW_JMP(IRQ_0)= OPCODE_JMP; /* Add the JMP instruction */ and_exr(0xf8); /* Mask level = 0 */ IER =0x01; /* Enable IRQ_0 interrupt */ do { if (direction == 0) P5DR= 0x02; /* Clockwise */ else P5DR = 0x01; /* Counterclockwise Write 0 */ in EXR Bit 2, Bit 1, Bit 0 /*... */ /* Execute additional tasks*/ without changes of the other bits! } while(port4 & 0x04 == 0); /* while no stop signal */ IER & = 0xFÉ; /* Disable IRQ_0 interrupt */ Last step of initialization: Enable the IRQ_0 signal

55 One Page Example - Rules IV #include <mpp1.h> volatile unsigned char direction; interrupt void IRQ0hnd(void) { if(port4 & 0x01 == 0) direction = 0; else direction Start = busy 1; waiting & output loop } void main(void) { } P5DDR= 0x03; /* P5(1) and P5(0) as outputs */ P5DR= 0x00; /* initialize Output Clockwise = Countercl. = 0 */ SYSCR = 0x20; /* Interrupt mode 2 */ IPRA = 0x30; /* Priority 3 for IRQ_0 */ ISCRL = 0x02; /* Rising edge of IRQ_0 */ SHADOW_IH(IRQ_0) = IRQ0hnd; /* Update shadow EVT */ Test the content of the global buffer Output P5DR = (binary) SHADOW_JMP(IRQ_0)= OPCODE_JMP; /* Add the JMP instruction */ Output P5DR = (binary) and_exr(0xf8); /* Mask level = 0 */ IER =0x01; /* Enable IRQ_0 interrupt */ Check one Pin: P4(2) if high leave the loop do { else loop again if (direction == 0) P5DR= 0x02; /* Clockwise */ else P5DR = 0x01; /* Counterclockwise Last */ step of using interrupts is /*... */ /* Execute additional tasks*/ disabling } while(port4 & 0x04 == 0); /* while no stop signal prevents */ not wished handler starts for the future IER & = 0xFÉ; /* Disable IRQ_0 interrupt */ (here disable the IRQ_0)

56 One Page Example - Rules IV #include <mpp1.h> volatile unsigned char direction; Start busy waiting & output interrupt void IRQ0hnd(void) { loop if(port4 & 0x01 == 0) direction = 0; else direction = 1; } void main(void) { P5DDR= 0x03; /* P5(1) and P5(0) as outputs */ Test the content of the global buffer P5DR= 0x00; /* initialize Output Clockwise = Countercl. = 0 */ SYSCR = 0x20; /* Interrupt mode 2 */ IPRA = 0x30; /* Priority 3 for IRQ_0 */ ISCRL = 0x02; /* Rising edge of IRQ_0 */ SHADOW_IH(IRQ_0) = IRQ0hnd; /* Update shadow EVT Output */ P5DR = (binary) SHADOW_JMP(IRQ_0)= OPCODE_JMP; /* Add the JMP instruction */ Check one Pin: P4(2) and_exr(0xf8); /* Mask level = 0 */ if high leave the loop IER =0x01; /* Enable IRQ_0 interrupt */ else loop again do { if (direction == 0) P5DR= 0x02; /* Clockwise */ else P5DR = 0x01; /* Counterclockwise */ Output P5DR = (binary) /*... */ /* Execute additional tasks*/ Last step of using interrupts is disabling } while(port4 & 0x04 == 0); /* while no stop signal */ (here disable the IRQ_0)

57 One Page Example - Completed #include <mpp1.h> volatile unsigned char direction; interrupt void IRQ0hnd(void) { } if(port4 & 0x01 == 0) direction = 0; else direction = 1; void main(void) { P5DDR= 0x03; /* P5(1) and P5(0) as outputs */ P5DR= 0x00; /* initialize Output Clockwise = Countercl. = 0 */ SYSCR = 0x20; /* Interrupt mode 2 */ IPRA = 0x30; /* Priority 3 for IRQ_0 */ ISCRL = 0x02; /* Rising edge of IRQ_0 */ SHADOW_IH(IRQ_0) = IRQ0hnd; /* Update shadow EVT */ SHADOW_JMP(IRQ_0)= OPCODE_JMP; /* Add the JMP instruction */ and_exr(0xf8); /* Mask level = 0 */ IER =0x01; /* Enable IRQ_0 interrupt */ do { if (direction == 0) P5DR= 0x02; /* Clockwise */ else P5DR = 0x01; /* Counterclockwise */ /*... */ /* Execute additional tasks*/ } while(port4 & 0x04 == 0); /* while no stop signal */ IER & = 0xFÉ; /* Disable IRQ_0 interrupt */ }

58 Golden Rules for Exception Handler Writing Don t modify any general purpose register CPU pushes no registers automatically for interrupts! Assembler: Push the needed registers (and pop them at end - under all circumstances) C: Use local Variables only if really needed (Interrupt latency time!!) Keep Handlers short! Avoid Nested Interrupts! => Priority /Level change in Handler could be dangerous Don t forget Re-enable or Unmask Interrupts!!! Assembler : Use the proper Return instruction RTE => NOT RTS!! Stop Interrupts if not more in use

Exceptions in H8S/2357. Exercise Interrupts "Traffic Light Controller"

Exceptions in H8S/2357. Exercise Interrupts Traffic Light Controller Exceptions in H8S/2357 Exercise Interrupts "Traffic Light Controller" - Principles Time Based Event Handling - Implementation H8S/2357 as Internal TPU Controlled Interrupts - Recapitulation - Handling

More information

EEL 4744C: Microprocessor Applications. Lecture 7. Part 1. Interrupt. Dr. Tao Li 1

EEL 4744C: Microprocessor Applications. Lecture 7. Part 1. Interrupt. Dr. Tao Li 1 EEL 4744C: Microprocessor Applications Lecture 7 Part 1 Interrupt Dr. Tao Li 1 M&M: Chapter 8 Or Reading Assignment Software and Hardware Engineering (new version): Chapter 12 Dr. Tao Li 2 Interrupt An

More information

Reading Assignment. Interrupt. Interrupt. Interrupt. EEL 4744C: Microprocessor Applications. Lecture 7. Part 1

Reading Assignment. Interrupt. Interrupt. Interrupt. EEL 4744C: Microprocessor Applications. Lecture 7. Part 1 Reading Assignment EEL 4744C: Microprocessor Applications Lecture 7 M&M: Chapter 8 Or Software and Hardware Engineering (new version): Chapter 12 Part 1 Interrupt Dr. Tao Li 1 Dr. Tao Li 2 Interrupt An

More information

Grundlagen Microcontroller Interrupts. Günther Gridling Bettina Weiss

Grundlagen Microcontroller Interrupts. Günther Gridling Bettina Weiss Grundlagen Microcontroller Interrupts Günther Gridling Bettina Weiss 1 Interrupts Lecture Overview Definition Sources ISR Priorities & Nesting 2 Definition Interrupt: reaction to (asynchronous) external

More information

Microcontrollers. Program organization Interrupt driven I/O. EECE 218 Microcontrollers 1

Microcontrollers. Program organization Interrupt driven I/O. EECE 218 Microcontrollers 1 EECE 218 Microcontrollers Program organization Interrupt driven I/O EECE 218 Microcontrollers 1 Software Architecture How to organize the code for a microcontoller application? Typical microcontroller

More information

ME 4447/6405. Microprocessor Control of Manufacturing Systems and Introduction to Mechatronics. Instructor: Professor Charles Ume LECTURE 6

ME 4447/6405. Microprocessor Control of Manufacturing Systems and Introduction to Mechatronics. Instructor: Professor Charles Ume LECTURE 6 ME 4447/6405 Microprocessor Control of Manufacturing Systems and Introduction to Mechatronics Instructor: Professor Charles Ume LECTURE 6 MC9S12C Microcontroller Covered in Lecture 5: Quick Introduction

More information

Interrupts and Low Power Features

Interrupts and Low Power Features ARM University Program 1 Copyright ARM Ltd 2013 Interrupts and Low Power Features Module Syllabus Interrupts What are interrupts? Why use interrupts? Interrupts Entering an Exception Handler Exiting an

More information

Interrupts, Low Power Modes

Interrupts, Low Power Modes Interrupts, Low Power Modes Registers Status Register Interrupts (Chapter 6 in text) A computer has 2 basic ways to react to inputs: 1) polling: The processor regularly looks at the input and reacts as

More information

Microprocessors & Interfacing

Microprocessors & 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 information

Interrupts (I) Lecturer: Sri Notes by Annie Guo. Week8 1

Interrupts (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 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

Introduction to Embedded Systems

Introduction to Embedded Systems Stefan Kowalewski, 4. November 25 Introduction to Embedded Systems Part 2: Microcontrollers. Basics 2. Structure/elements 3. Digital I/O 4. Interrupts 5. Timers/Counters Introduction to Embedded Systems

More information

Interrupts. How can we synchronize with a peripheral? Polling

Interrupts. How can we synchronize with a peripheral? Polling Interrupts How can we synchronize with a peripheral? Polling run a program loop continually checking status of the peripheral wait for it to be ready for us to communicate with it Then handle I/O with

More information

INTERRUPTS in microprocessor systems

INTERRUPTS in microprocessor systems INTERRUPTS in microprocessor systems Microcontroller Power Supply clock fx (Central Proccesor Unit) CPU Reset Hardware Interrupts system IRQ Internal address bus Internal data bus Internal control bus

More information

These three counters can be programmed for either binary or BCD count.

These three counters can be programmed for either binary or BCD count. S5 KTU 1 PROGRAMMABLE TIMER 8254/8253 The Intel 8253 and 8254 are Programmable Interval Timers (PTIs) designed for microprocessors to perform timing and counting functions using three 16-bit registers.

More information

EKT222 Miroprocessor Systems Lab 5

EKT222 Miroprocessor Systems Lab 5 LAB 5: Interrupts Objectives: 1) Ability to define interrupt in 8085 microprocessor 2) Ability to understanding the interrupt structure in the 8085 microprocessor 3) Ability to create programs using the

More information

Week 11 Programmable Interrupt Controller

Week 11 Programmable Interrupt Controller Week 11 Programmable Interrupt Controller 8259 Programmable Interrupt Controller The 8259 programmable interrupt controller (PIC) adds eight vectored priority encoded interrupts to the microprocessor.

More information

ECE 372 Microcontroller Design Parallel IO Ports - Interrupts. ECE 372 Microcontroller Design Parallel IO Ports - Interrupts

ECE 372 Microcontroller Design Parallel IO Ports - Interrupts. ECE 372 Microcontroller Design Parallel IO Ports - Interrupts Interrupts An interrupt can be compared with a phone call interrupting your task which you will resume when the call is finished You can mask an interrupt just as you can decide not to answer any phone

More information

Interrupt is a process where an external device can get the attention of the microprocessor. Interrupts can be classified into two types:

Interrupt is a process where an external device can get the attention of the microprocessor. Interrupts can be classified into two types: 8085 INTERRUPTS 1 INTERRUPTS Interrupt is a process where an external device can get the attention of the microprocessor. The process starts from the I/O device The process is asynchronous. Classification

More information

EEL 4744C: Microprocessor Applications. Lecture 7. Part 2. M68HC12 Interrupt. Dr. Tao Li 1

EEL 4744C: Microprocessor Applications. Lecture 7. Part 2. M68HC12 Interrupt. Dr. Tao Li 1 EEL 4744C: Microprocessor Applications Lecture 7 Part 2 M68HC12 Interrupt Dr. Tao Li 1 Reading Assignment Software and Hardware Engineering (New version): Chapter 12 or SHE (old version) Chapter 8 And

More information

EE4390 Microprocessors

EE4390 Microprocessors EE4390 Microprocessors Lessons 23, 24 - Exceptions - Resets and Interrupts Revised: Aug 1, 2003 1 - Exceptions - Resets and Interrupts Polling vs. Interrupts Exceptions: Resets and Interrupts 68HC12 Exceptions

More information

Fundamental concept in computation Interrupt execution of a program to handle an event

Fundamental concept in computation Interrupt execution of a program to handle an event Interrupts Fundamental concept in computation Interrupt execution of a program to handle an event Don t have to rely on program relinquishing control Can code program without worrying about others Issues

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

Engineer To Engineer Note

Engineer To Engineer Note Engineer To Engineer Note EE-134 Phone: (800) ANALOG-D, FAX: (781) 461-3010, EMAIL: dsp.support@analog.com, FTP: ftp.analog.com, WEB: www.analog.com/dsp Copyright 2001, Analog Devices, Inc. All rights

More information

Interrupt/Timer/DMA 1

Interrupt/Timer/DMA 1 Interrupt/Timer/DMA 1 Exception An exception is any condition that needs to halt normal execution of the instructions Examples - Reset - HWI - SWI 2 Interrupt Hardware interrupt Software interrupt Trap

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

Mark Redekopp, All rights reserved. EE 357 Unit 10b. Interrupts Timers

Mark Redekopp, All rights reserved. EE 357 Unit 10b. Interrupts Timers EE 357 Unit 10b Interrupts Timers IPL bits Coldfire / M68K Interrupts Coldfire interrupt architecture is based on original M68K 3-bit input (IPL[2:0]) indicating interrupt requests/priorities 000 = No

More information

Real Time Embedded Systems. Lecture 10 January 31, 2012 Interrupts

Real Time Embedded Systems.  Lecture 10 January 31, 2012 Interrupts Interrupts Real Time Embedded Systems www.atomicrhubarb.com/embedded Lecture 10 January 31, 2012 Interrupts Section Topic Where in the books Catsoulis chapter 1 (pg 10-12) Simon chapter4 Zilog UM197 (ZNEO

More information

8085 Interrupts. Lecturer, CSE, AUST

8085 Interrupts. Lecturer, CSE, AUST 8085 Interrupts CSE 307 - Microprocessors Mohd. Moinul Hoque, 1 Interrupts Interrupt is a process where an external device can get the attention of the microprocessor. The process starts from the I/O device

More information

Computer Labs: I/O and Interrupts

Computer Labs: I/O and Interrupts Computer Labs: I/O and Interrupts 2 o MIEIC Pedro F. Souto (pfs@fe.up.pt) October 3, 2010 I/O Operation I/O devices are the interface between the computer and its environment Most of the time, the processor

More information

Chapter 7 Central Processor Unit (S08CPUV2)

Chapter 7 Central Processor Unit (S08CPUV2) Chapter 7 Central Processor Unit (S08CPUV2) 7.1 Introduction This section provides summary information about the registers, addressing modes, and instruction set of the CPU of the HCS08 Family. For a more

More information

Module 3. Embedded Systems I/O. Version 2 EE IIT, Kharagpur 1

Module 3. Embedded Systems I/O. Version 2 EE IIT, Kharagpur 1 Module 3 Embedded Systems I/O Version 2 EE IIT, Kharagpur 1 Lesson 15 Interrupts Version 2 EE IIT, Kharagpur 2 Instructional Objectives After going through this lesson the student would learn Interrupts

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

e-pg Pathshala Subject : Computer Science Paper: Embedded System Module: Interrupt Handling Module No: CS/ES/13 Quadrant 1 e-text

e-pg Pathshala Subject : Computer Science Paper: Embedded System Module: Interrupt Handling Module No: CS/ES/13 Quadrant 1 e-text e-pg Pathshala Subject : Computer Science Paper: Embedded System Module: Interrupt Handling Module No: CS/ES/13 Quadrant 1 e-text 1. Interrupt An interrupt is the occurrence of a condition--an event --

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

EE Embedded Systems Design. Lessons Exceptions - Resets and Interrupts

EE Embedded Systems Design. Lessons Exceptions - Resets and Interrupts EE4800-03 Embedded Systems Design Lessons 7-10 - Exceptions - Resets and Interrupts 1 - Exceptions - Resets and Interrupts Polling vs. Interrupts Exceptions: Resets and Interrupts 68HC12 Exceptions Resets

More information

8086 Interrupts and Interrupt Responses:

8086 Interrupts and Interrupt Responses: UNIT-III PART -A INTERRUPTS AND PROGRAMMABLE INTERRUPT CONTROLLERS Contents at a glance: 8086 Interrupts and Interrupt Responses Introduction to DOS and BIOS interrupts 8259A Priority Interrupt Controller

More information

Chapter 09. Programming in Assembly

Chapter 09. Programming in Assembly Chapter 09 Programming in Assembly Lesson 03 Programming Approach for Main and Interrupt Service Routines in 8051 Program Approach for programming Main Program Instructions 3 Main program initial instructions

More information

CPUs. Input and output. Supervisor mode, exceptions, traps. Co-processors. Computers as Components 4e 2016 Marilyn Wolf

CPUs. Input and output. Supervisor mode, exceptions, traps. Co-processors. Computers as Components 4e 2016 Marilyn Wolf CPUs Input and output. Supervisor mode, exceptions, traps. Co-processors. I/O devices Usually includes some non-digital component. Typical digital interface to CPU: CPU status reg data reg mechanism Application:

More information

S.R.M. INSTITUTE OF SCIENCE & TECHNOLOGY SCHOOL OF ELECTRONICS & COMMUNICATION ENGINEERING

S.R.M. INSTITUTE OF SCIENCE & TECHNOLOGY SCHOOL OF ELECTRONICS & COMMUNICATION ENGINEERING S.R.M. INSTITUTE OF SCIENCE & TECHNOLOGY SCHOOL OF ELECTRONICS & COMMUNICATION ENGINEERING QUESTION BANK Subject Code : EC307 Subject Name : Microprocessor and Interfacing Year & Sem : III Year, V Sem

More information

Interrupts (Exceptions) Gary J. Minden September 11, 2014

Interrupts (Exceptions) Gary J. Minden September 11, 2014 Interrupts (Exceptions) Gary J. Minden September 11, 2014 1 Interrupts Motivation Implementation Material from Stellaris LM3S1968 Micro-controller Datasheet Sections 2.5 and 2.6 2 Motivation Our current

More information

Interrupts. by Rahul Patel, Assistant Professor, EC Dept., Sankalchand Patel College of Engg.,Visnagar

Interrupts. by Rahul Patel, Assistant Professor, EC Dept., Sankalchand Patel College of Engg.,Visnagar Chapter 12 Interrupts by Rahul Patel, Assistant Professor, EC Dept., Sankalchand Patel College of Engg.,Visnagar Microprocessor & Interfacing (140701) Rahul Patel 1 Points to be Discussed 8085 Interrupts

More information

CS 134. Operating Systems. April 8, 2013 Lecture 20. Input/Output. Instructor: Neil Rhodes. Monday, April 7, 14

CS 134. Operating Systems. April 8, 2013 Lecture 20. Input/Output. Instructor: Neil Rhodes. Monday, April 7, 14 CS 134 Operating Systems April 8, 2013 Lecture 20 Input/Output Instructor: Neil Rhodes Hardware How hardware works Operating system layer What the kernel does API What the programmer does Overview 2 kinds

More information

EE475 Lab #3 Fall Memory Placement and Interrupts

EE475 Lab #3 Fall Memory Placement and Interrupts EE475 Lab #3 Fall 2005 Memory Placement and Interrupts In this lab you will investigate the way in which the CodeWarrior compiler and linker interact to place your compiled code and data in the memory

More information

PC Interrupt Structure and 8259 DMA Controllers

PC Interrupt Structure and 8259 DMA Controllers ELEC 379 : DESIGN OF DIGITAL AND MICROCOMPUTER SYSTEMS 1998/99 WINTER SESSION, TERM 2 PC Interrupt Structure and 8259 DMA Controllers This lecture covers the use of interrupts and the vectored interrupt

More information

Interrupts (Exceptions) (From LM3S1968) Gary J. Minden August 29, 2016

Interrupts (Exceptions) (From LM3S1968) Gary J. Minden August 29, 2016 Interrupts (Exceptions) (From LM3S1968) Gary J. Minden August 29, 2016 1 Interrupts Motivation Implementation Material from Stellaris LM3S1968 Micro-controller Datasheet Sections 2.5 and 2.6 2 Motivation

More information

SISTEMI EMBEDDED. (Software) Exceptions and (Hardware) Interrupts. Federico Baronti Last version:

SISTEMI EMBEDDED. (Software) Exceptions and (Hardware) Interrupts. Federico Baronti Last version: SISTEMI EMBEDDED (Software) Exceptions and (Hardware) Interrupts Federico Baronti Last version: 20160410 Exceptions and Interrupts Exception: a transfer of control away from a program s normal flow of

More information

538 Lecture Notes Week 5

538 Lecture Notes Week 5 538 Lecture Notes Week 5 (Sept. 30, 2013) 1/15 538 Lecture Notes Week 5 Answers to last week's questions 1. With the diagram shown for a port (single bit), what happens if the Direction Register is read?

More information

4) In response to the the 8259A sets the highest priority ISR, bit and reset the corresponding IRR bit. The 8259A also places

4) In response to the the 8259A sets the highest priority ISR, bit and reset the corresponding IRR bit. The 8259A also places Lecture-52 Interrupt sequence: The powerful features of the 8259A in a system are its programmability and the interrupt routine address capability. It allows direct or indirect jumping to the specific

More information

Computer Architecture 5.1. Computer Architecture. 5.2 Vector Address: Interrupt sources (IS) such as I/O, Timer 5.3. Computer Architecture

Computer Architecture 5.1. Computer Architecture. 5.2 Vector Address: Interrupt sources (IS) such as I/O, Timer 5.3. Computer Architecture License: http://creativecommons.org/licenses/by-nc-nd/3./ Hardware interrupt: 5. If in an eternal device (for eample I/O interface) a predefined event occurs this device issues an interrupt request to

More information

What happens when an HC12 gets in unmasked interrupt:

What happens when an HC12 gets in unmasked interrupt: What happens when an HC12 gets in unmasked interrupt: 1. Completes current instruction 2. Clears instruction queue 3. Calculates return address 4. Stacks return address and contents of CPU registers 5.

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

original M68K requests/priorities Interrupts to execute important code interrupts (n will always be I) I-bits bits in SR accomplish this

original M68K requests/priorities Interrupts to execute important code interrupts (n will always be I) I-bits bits in SR accomplish this Coldfire / M68K Interrupts EE 5 Unit 1b Interrupts Timers Coldfire interrupt architecture is based on original M68K -bit input (IPL[2:]) indicating interrupt requests/priorities = No interrupt t 1-111

More information

Homework. Reading. Machine Projects. Labs. Intel 8254 Programmable Interval Timer (PIT) Data Sheet. Continue on MP3

Homework. Reading. Machine Projects. Labs. Intel 8254 Programmable Interval Timer (PIT) Data Sheet. Continue on MP3 Homework Reading Intel 8254 Programmable Interval Timer (PIT) Data Sheet Machine Projects Continue on MP3 Labs Continue in labs with your assigned section 1 Restrictions on ISR Code Software that was executing

More information

Interrupts and Using Them in C

Interrupts and Using Them in C Interrupts and Using Them in C Lecture 10 Embedded Systems 10-1 In These Notes... Interrupts How they work Creating and debugging C interrupt routines Sources M16C Hardware Manual P&P 8.1 and 8.5 Readings

More information

The K Project. Interrupt and Exception Handling. LSE Team. May 14, 2018 EPITA. The K Project. LSE Team. Introduction. Interrupt Descriptor Table

The K Project. Interrupt and Exception Handling. LSE Team. May 14, 2018 EPITA. The K Project. LSE Team. Introduction. Interrupt Descriptor Table and Exception Handling EPITA May 14, 2018 (EPITA) May 14, 2018 1 / 37 and Exception Handling Exception : Synchronous with program execution (e.g. division by zero, accessing an invalid address) : Asynchronous

More information

Process Context & Interrupts. New process can mess up information in old process. (i.e. what if they both use the same register?)

Process Context & Interrupts. New process can mess up information in old process. (i.e. what if they both use the same register?) 1 Process Context 1.1 What is context? A process is sometimes called a task, subroutine or program. Process context is all the information that the process needs to keep track of its state. Registers Temporary

More information

Lab 4 Interrupt-driven operations

Lab 4 Interrupt-driven operations Lab 4 Interrupt-driven operations Interrupt handling in Cortex-M CPUs Nested Vectored Interrupt Controller (NVIC) Externally-triggered interrupts via GPIO pins Software setup for interrupt-driven applications

More information

Interrupts & Interrupt Service Routines (ISRs)

Interrupts & Interrupt Service Routines (ISRs) ECE3411 Fall 2015 Lecture 2c. Interrupts & Interrupt Service Routines (ISRs) Marten van Dijk, Syed Kamran Haider Department of Electrical & Computer Engineering University of Connecticut Email: vandijk,

More information

SOEN228, Winter Revision 1.2 Date: October 25,

SOEN228, Winter Revision 1.2 Date: October 25, SOEN228, Winter 2003 Revision 1.2 Date: October 25, 2003 1 Contents Flags Mnemonics Basic I/O Exercises Overview of sample programs 2 Flag Register The flag register stores the condition flags that retain

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

COSC 243. Input / Output. Lecture 13 Input/Output. COSC 243 (Computer Architecture)

COSC 243. Input / Output. Lecture 13 Input/Output. COSC 243 (Computer Architecture) COSC 243 Input / Output 1 Introduction This Lecture Source: Chapter 7 (10 th edition) Next Lecture (until end of semester) Zhiyi Huang on Operating Systems 2 Memory RAM Random Access Memory Read / write

More information

Fredrick M. Cady. Assembly and С Programming forthefreescalehcs12 Microcontroller. шт.

Fredrick M. Cady. Assembly and С Programming forthefreescalehcs12 Microcontroller. шт. SECOND шт. Assembly and С Programming forthefreescalehcs12 Microcontroller Fredrick M. Cady Department of Electrical and Computer Engineering Montana State University New York Oxford Oxford University

More information

Design and Implementation Interrupt Mechanism

Design and Implementation Interrupt Mechanism Design and Implementation Interrupt Mechanism 1 Module Overview Study processor interruption; Design and implement of an interrupt mechanism which responds to interrupts from timer and UART; Program interrupt

More information

April 4, 2001: Debugging Your C24x DSP Design Using Code Composer Studio Real-Time Monitor

April 4, 2001: Debugging Your C24x DSP Design Using Code Composer Studio Real-Time Monitor 1 This presentation was part of TI s Monthly TMS320 DSP Technology Webcast Series April 4, 2001: Debugging Your C24x DSP Design Using Code Composer Studio Real-Time Monitor To view this 1-hour 1 webcast

More information

Lecture 10 Exceptions and Interrupts. How are exceptions generated?

Lecture 10 Exceptions and Interrupts. How are exceptions generated? Lecture 10 Exceptions and Interrupts The ARM processor can work in one of many operating modes. So far we have only considered user mode, which is the "normal" mode of operation. The processor can also

More information

12. Interrupts and Programmable Multilevel Interrupt Controller

12. Interrupts and Programmable Multilevel Interrupt Controller 12. Interrupts and Programmable Multilevel Interrupt Controller 12.1 Features Short and predictable interrupt response time Separate interrupt configuration and vector address for each interrupt Programmable

More information

RTE/L Return from Exception Handling with Data Restoration

RTE/L Return from Exception Handling with Data Restoration APPLICATION NOTE Introduction Shows an example of C compiler use of the RTE/L instruction Contents 1 Specifications 2 2 Functions Used 2 3 Principles of Operation 2 4 Development Environment 3 5 Description

More information

embos Real Time Operating System CPU & Compiler specifics for ARM core with ARM RealView Developer Suite 3.0 Document Rev. 1

embos Real Time Operating System CPU & Compiler specifics for ARM core with ARM RealView Developer Suite 3.0 Document Rev. 1 embos Real Time Operating System CPU & Compiler specifics for ARM core with ARM RealView Developer Suite 3.0 Document Rev. 1 A product of SEGGER Microcontroller GmbH & Co. KG www.segger.com 2/25 embos

More information

AGH University of Science and Technology Cracow Department of Electronics

AGH University of Science and Technology Cracow Department of Electronics AGH University of Science and Technology Cracow Department of Electronics Microprocessors laboratory Tutorial 7 Interrupts Author: Paweł Russek http://www.fpga.agh.edu.pl/upt ver. 25/05/16 1/11 1. Introduction

More information

Chapter 4. MARIE: An Introduction to a Simple Computer. Chapter 4 Objectives. 4.1 Introduction. 4.2 CPU Basics

Chapter 4. MARIE: An Introduction to a Simple Computer. Chapter 4 Objectives. 4.1 Introduction. 4.2 CPU Basics Chapter 4 Objectives Learn the components common to every modern computer system. Chapter 4 MARIE: An Introduction to a Simple Computer Be able to explain how each component contributes to program execution.

More information

Operating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester

Operating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester Operating System: Chap13 I/O Systems National Tsing-Hua University 2016, Fall Semester Outline Overview I/O Hardware I/O Methods Kernel I/O Subsystem Performance Application Interface Operating System

More information

538 Lecture Notes Week 5

538 Lecture Notes Week 5 538 Lecture Notes Week 5 (October 4, 2017) 1/18 538 Lecture Notes Week 5 Announements Midterm: Tuesday, October 25 Answers to last week's questions 1. With the diagram shown for a port (single bit), what

More information

Homework / Exam. Return and Review Exam #1 Reading. Machine Projects. Labs. S&S Extracts , PIC Data Sheet. Start on mp3 (Due Class 19)

Homework / Exam. Return and Review Exam #1 Reading. Machine Projects. Labs. S&S Extracts , PIC Data Sheet. Start on mp3 (Due Class 19) Homework / Exam Return and Review Exam #1 Reading S&S Extracts 385-393, PIC Data Sheet Machine Projects Start on mp3 (Due Class 19) Labs Continue in labs with your assigned section 1 Interrupts An interrupt

More information

Lab 9: On-Board Time Generation and Interrupts

Lab 9: On-Board Time Generation and Interrupts Lab 9: On-Board Time Generation and Interrupts Summary: Develop a program and hardware interface that will utilize externally triggered interrupts and the onboard timer functions of the 68HC12. Learning

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

LatticeMico32 GPIO. Version. Features

LatticeMico32 GPIO. Version. Features The LatticeMico32 GPIO is a general-purpose input/output core that provides a memory-mapped interface between a WISHBONE slave port and generalpurpose I/O ports. The I/O ports can connect to either on-chip

More information

Lecture test next week

Lecture test next week Lecture test next week Write a short program in Assembler doing. You will be given the print outs of all the assembler programs from the manual You can bring any notes you want Today: Announcements General

More information

Chapter 1 Microprocessor architecture ECE 3120 Dr. Mohamed Mahmoud http://iweb.tntech.edu/mmahmoud/ mmahmoud@tntech.edu Outline 1.1 Computer hardware organization 1.1.1 Number System 1.1.2 Computer hardware

More information

MACHINE CONTROL INSTRUCTIONS: 1. EI

MACHINE CONTROL INSTRUCTIONS: 1. EI Lecture-33 MACHINE CONTROL INSTRUCTIONS: 1. EI (Enable interrupts): The interrupt system is disabled just after RESET operation. There is an internal INTE F/F (Interrupt enable flipflop) which is reset

More information

Digital Control of Electric Drives

Digital Control of Electric Drives Digital Control of Electric Drives Computer System Structure Interrupt System Computer Programmer s Model Czech Technical University in Prague Faculty of Electrical Engineering Ver.1.00 J. Zdenek 2017

More information

Application Note. Watchdog Timer

Application Note. Watchdog Timer Application Note Watchdog Timer For H8/36077 series Contact Info: Brazen Tek, Inc. 20121 Ventura Blvd. Suite 310 Woodland Hills, CA 91364 USA Tel/Fax: (818) 710-9262 E-mail: info@brazentek.com August 2008

More information

Recap from last class

Recap from last class Recap from last class Taxonomy of microprocessor architecture Von Neumann Memory for both data and instructions, single bus Easier to write Harvard Separate memories for data and instructions, two buses

More information

Q. P. Code : b. Draw and explain the block dig of a computer with microprocessor as CPU.

Q. P. Code : b. Draw and explain the block dig of a computer with microprocessor as CPU. Q. P. Code : 08235 (2½ Hours) [Total Marks: 75] N. B.: (1) All questions are compulsory. (2) Make suitable assumptions wherever necessary and state the assumptions made. (3) Answers to the same question

More information

Embedded Software TI2726 B. 4. Interrupts. Koen Langendoen. Embedded Software Group

Embedded Software TI2726 B. 4. Interrupts. Koen Langendoen. Embedded Software Group Embedded Software 4. Interrupts TI2726 B Koen Langendoen Embedded Software Group What is an Interrupt? Asynchronous signal from hardware Synchronous signal from software Indicates the need for attention

More information

A look at interrupts Dispatch_Tasks ( )

A look at interrupts Dispatch_Tasks ( ) SHOWS WHERE S FIT IN A look at interrupts Dispatch_Tasks ( ) What are interrupts and why are they needed in an embedded system? Equally as important how are these ideas handled on the Blackfin Assignment

More information

Chapters 2, 3: bits and pieces. Chapters 2 & 3. Chapters 2, 3: bits and pieces. Chapters 2, 3: bits and pieces. Using C. A last word about hardware

Chapters 2, 3: bits and pieces. Chapters 2 & 3. Chapters 2, 3: bits and pieces. Chapters 2, 3: bits and pieces. Using C. A last word about hardware Chapters 2 & 3 Chapters 2, 3: bits and pieces A review of hardware essentials Most of you have seen this material in other classes Still worth a careful read: may give you new insight We ll touch briefly

More information

Accumulator and memory instructions 1. Loads, stores, and transfers 2. Arithmetic operations 3. Multiply and divide 4. Logical operations 5. Data test

Accumulator and memory instructions 1. Loads, stores, and transfers 2. Arithmetic operations 3. Multiply and divide 4. Logical operations 5. Data test HC11 Instruction Set Instruction classes 1. 2. 3. 4. Accumulator and Memory Stack and Index Register Condition Code Register Program control instructions 2 1 Accumulator and memory instructions 1. Loads,

More information

Reset, Interrupts, Exceptions, and Break ECE 3534

Reset, Interrupts, Exceptions, and Break ECE 3534 Reset, Interrupts, Exceptions, and Break ECE 3534 1 Reset, Interrupts, Exceptions, Break These topics are closely related Both software and hardware aspects of a processor are involved On the MicroBlaze,

More information

Newbie s Guide to AVR Interrupts

Newbie s Guide to AVR Interrupts Newbie s Guide to AVR Interrupts Dean Camera March 15, 2015 ********** Text Dean Camera, 2013. All rights reserved. This document may be freely distributed without payment to the author, provided that

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

ELC4438: Embedded System Design ARM Cortex-M Architecture II

ELC4438: Embedded System Design ARM Cortex-M Architecture II ELC4438: Embedded System Design ARM Cortex-M Architecture II Liang Dong Electrical and Computer Engineering Baylor University Memory system The memory systems in microcontrollers often contain two or more

More information

Experiment 3. Interrupts. Hazem Selmi, Ahmad Khayyat

Experiment 3. Interrupts. Hazem Selmi, Ahmad Khayyat Experiment 3 Interrupts Hazem Selmi, Ahmad Khayyat Version 162, 24 February 2017 Table of Contents 1. Objectives........................................................................................

More information

real-time kernel documentation

real-time kernel documentation version 1.1 real-time kernel documentation Introduction This document explains the inner workings of the Helium real-time kernel. It is not meant to be a user s guide. Instead, this document explains overall

More information

EE4144: ARM Cortex-M Processor

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

Interfacing. Introduction. Introduction Addressing Interrupt DMA Arbitration Advanced communication architectures. Vahid, Givargis

Interfacing. Introduction. Introduction Addressing Interrupt DMA Arbitration Advanced communication architectures. Vahid, Givargis Interfacing Introduction Addressing Interrupt DMA Arbitration Advanced communication architectures Vahid, Givargis Introduction Embedded system functionality aspects Processing Transformation of data Implemented

More information

CSE 120. Overview. July 27, Day 8 Input/Output. Instructor: Neil Rhodes. Hardware. Hardware. Hardware

CSE 120. Overview. July 27, Day 8 Input/Output. Instructor: Neil Rhodes. Hardware. Hardware. Hardware CSE 120 July 27, 2006 Day 8 Input/Output Instructor: Neil Rhodes How hardware works Operating Systems Layer What the kernel does API What the programmer does Overview 2 Kinds Block devices: read/write

More information

ECEN 449 Microprocessor System Design. Hardware-Software Communication. Texas A&M University

ECEN 449 Microprocessor System Design. Hardware-Software Communication. Texas A&M University ECEN 449 Microprocessor System Design Hardware-Software Communication 1 Objectives of this Lecture Unit Learn basics of Hardware-Software communication Memory Mapped I/O Polling/Interrupts 2 Motivation

More information

Course Introduction. Purpose: Objectives: Content: 27 pages 4 questions. Learning Time: 20 minutes

Course Introduction. Purpose: Objectives: Content: 27 pages 4 questions. Learning Time: 20 minutes Course Introduction Purpose: This course provides an overview of the Direct Memory Access Controller and the Interrupt Controller on the SH-2 and SH-2A families of 32-bit RISC microcontrollers, which are

More information

An overview of Interrupts ECE3534

An overview of Interrupts ECE3534 An overview of errupts ECE3534 Microprocessor erfacing: errupts Suppose a peripheral intermittently receives data, which must be serviced by the processor The processor can poll the peripheral regularly

More information