SOC Consortium Course Material Standard IO National Taiwan University Adopted from National Taiwan University SoC Design Laboratory.

Slides:



Advertisements
Similar presentations
Windows XP Kernel Architecture Mike Karlsven James Farrer Jason Smith.
Advertisements

Input and Output CS 215 Lecture #20.
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
I/O Unit.
Avishai Wool lecture Introduction to Systems Programming Lecture 8 Input-Output.
ARMSim# and SWIInstructions Plug-in
Interrupts (contd..) Multiple I/O devices may be connected to the processor and the memory via a bus. Some or all of these devices may be capable of generating.
CSS 372 Lecture 1 Course Overview: CSS 372 Web page Syllabus Lab Ettiquette Lab Report Format Review of CSS 371: Simple Computer Architecture Traps Interrupts.
Architectural Support for Operating Systems. Announcements Most office hours are finalized Assignments up every Wednesday, due next week CS 415 section.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Jonathan.
1: Operating Systems Overview
Operating System Structure. Announcements Make sure you are registered for CS 415 First CS 415 project is up –Initial design documents due next Friday,
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
OPERATING SYSTEM OVERVIEW
1 Interrupts INPUT/OUTPUT ORGANIZATION: Interrupts CS 147 JOKO SUTOMO.
COMP3221 lec27-exception-I.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lectures 27: Exceptions & Interrupts - I
1 Input/Output Chapter 3 TOPICS Principles of I/O hardware Principles of I/O software I/O software layers Disks Clocks Reference: Operating Systems Design.
Dr. Kimberly E. Newman Hybrid Embedded wk3 Fall 2009.
Chapter 6 - Implementing Processes, Threads and Resources Kris Hansen Shelby Davis Jeffery Brass 3/7/05 & 3/9/05 Kris Hansen Shelby Davis Jeffery Brass.
Chapter 2: Computer-System Structures
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
1 Computer System Overview Chapter 1 Review of basic hardware concepts.
Copyright ©: Nahrstedt, Angrave, Abdelzaher
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
1 CSC 2405: Computer Systems II Spring 2012 Dr. Tom Way.
MDK-ARM Microcontroller Development Kit MDK: Microcontroller Development Kit.
Exception and Interrupt Handling
hardware and operating systems basics.
Introduction to USB Development. USB Development Introduction Technical Overview USB in Embedded Systems Recent Developments Extensions to USB USB as.
SOC Consortium Course Material SoC Design Laboratory Lab 8 Real-time OS - 2 Speaker: Yung-Chih Chen Advisor: Prof. Chun-Yao Wang November 17, 2003 Department.
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
MICROPROCESSOR INPUT/OUTPUT
Hardware Definitions –Port: Point of connection –Bus: Interface Daisy Chain (A=>B=>…=>X) Shared Direct Device Access –Controller: Device Electronics –Registers:
Interrupts and DMA CSCI The Role of the Operating System in Performing I/O Two main jobs of a computer are: –Processing –Performing I/O manage and.
1 Lecture 20: I/O n I/O hardware n I/O structure n communication with controllers n device interrupts n device drivers n streams.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Architecture Support for OS CSCI 444/544 Operating Systems Fall 2008.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 2: Operating-System Structures Operating.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto OS-Related Hardware.
OPERATING SYSTEMS Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S.
1 CS/COE0447 Computer Organization & Assembly Language Chapter 5 part 4 Exceptions.
SOC Consortium Course Material Memory Controller National Taiwan University Adopted from National Taiwan University SoC Design Laboratory.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
S&IP Consortium Course Material Standard I/O and Core Peripherals Speaker: Tian-Sheuan Chang July, 2004.
Operating Systems Lecture November 2015© Copyright Virtual University of Pakistan 2 Agenda for Today Review of previous lecture Hardware (I/O, memory,
SOC Consortium Course Material Core Peripherals National Taiwan University Adopted from National Chiao-Tung University IP Core Design.
1: Operating Systems Overview 1 Jerry Breecher Fall, 2004 CLARK UNIVERSITY CS215 OPERATING SYSTEMS OVERVIEW.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
1 Lecture 1: Computer System Structures We go over the aspects of computer architecture relevant to OS design  overview  input and output (I/O) organization.
بسم الله الرحمن الرحيم MEMORY AND I/O.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
Interrupts and Exception Handling. Execution We are quite aware of the Fetch, Execute process of the control unit of the CPU –Fetch and instruction as.
SOC Consortium Course Material SoC Design Laboratory Lab 8 Real-time OS - 1 Speaker: Yung-Chih Chen Advisor: Prof. Chun-Yao Wang November 17, 2003 Department.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Introduction to Operating Systems Concepts
Computer System Structures
Computer System Structures
CS 3305 System Calls Lecture 7.
May 2006 Saeid Nooshabadi ELEC2041 Microprocessors and Interfacing Lectures 27: Exceptions & Interrupts - I
Computer-System Architecture
Module 2: Computer-System Structures
Module 2: Computer-System Structures
Outline Operating System Organization Operating System Examples
JTAG, Multi-ICE and Angel
Module 2: Computer-System Structures
Module 2: Computer-System Structures
Presentation transcript:

SOC Consortium Course Material Standard IO National Taiwan University Adopted from National Taiwan University SoC Design Laboratory

SOC Consortium Course Material 1 Goal of This Lab  Familiarize with ARM I/O architecture  Know what Semihosting is  Semihosting exercise

SOC Consortium Course Material 2 Outline  ARM system input/output (I/O) functions  Semihosting [5]  Lab - Semihosting

SOC Consortium Course Material 3 Memory-Mapped Peripherals  How the input/output (I/O) functions are implemented in an ARM system? –using a combination of memory-mapped addressable peripheral registers.  A peripheral device contains a number of registers. –In a memory-mapped system, each of these registers appears like a memory location at a particular address.

SOC Consortium Course Material 4 Peripheral Registers [2]

SOC Consortium Course Material 5 Fast Interrupt Request  The ARM fast interrupt (FIQ) architecture includes more banked registers than the other exception modes in order to minimize the register save and restore overhead associated with handling one of these interrupts. [1]

SOC Consortium Course Material 6 Input/Output  In many ARM systems I/O locations are made inaccessible to user code, so the only way the devices can be accessed is through supervisor calls (SWIs) or through C library functions written to use those calls.  The I/O area of memory is normally marked as uncache-able, and accesses bypass the cache.

SOC Consortium Course Material 7 ARM µHAL  µHAL is a Hardware Abstraction Layer that is designed to conceal hardware difference between different systems  ARM µHAL provides a standard layer of board- dependent functions to manage I/O, RAM, boot flash, and application flash.

SOC Consortium Course Material 8 µHAL Examples  µHAL provides simple & extended functions that are linkable and code reusable to control the system hardware. User applicationAFS utilities AFS board-specific  HAL routines AFS support routines Development board C and C++ libraries General Specific AFS: ARM Firmware Suit

SOC Consortium Course Material 9 µHAL Examples  [4]

SOC Consortium Course Material 10 Outline  ARM system input/output (I/O) functions  Semihosting [5]  Lab - Semihosting

SOC Consortium Course Material 11 Semihosting  What is Semihosting? –A mechanism whereby the target communicates I/O requests made in the application code to the host system, rather than attempting to support the I/O itself.  Semihosting overview

SOC Consortium Course Material 12 How Semihosting Work  The application invokes the semihosting SWI (Software Interrupt)  The debug agent then handles the SWI exception.  The debug agent provides the necessary communication to the host system.  Semihosting operations are requested using a semihosted SWI numbers: –0x123456in ARM state. –0xABin Thumb state.

SOC Consortium Course Material 13 SWI Interface  A Software Interrupt (SWI) is requested with an SWI number. –Semihosting SWI numbers: 0x (ARM), 0xAB (Thumb)  Different operations in the SWI are identified using value of r0.  Other parameters are passed in a block that is pointed by r1.  The result is returned in r0. It could be an immediate value or a pointer.

SOC Consortium Course Material 14 Semihosting SWIs  Semihosting operations used by C library functions such as printf(), scanf().  [5]

SOC Consortium Course Material 15 Outline  ARM system input/output (I/O) functions  Semihosting  Lab - Semihosting

SOC Consortium Course Material 16 Lab 7: Standard I/O  Goal –introduce students to control IO and learn the principle of polling, interrupt, and semihosting through this Lab.  Principle –How to access I/O via the existing library function call.  Guidance –Micro Hardware Abstraction Layer –How CPU access input devices  Steps –This program controls the Intergator board LED and print strings to the host using uHal API.  Requirements and Exercises –Modify the LED example. When it counts, we press any key to stop counting and then press any key to continue counting numbers.  Discussion –Explain the advantage and disadvantage of polling & interrupt. –A system can be divided into hardware, software, and firmware. Which one contains uHAL.

SOC Consortium Course Material 17 References [1] [1] ARM System-on-Chip Architecture by S.Furber, Addison Wesley Longman: ISBN [2] DUI0098B_AP_UG.pdf. [3] DUI0102C_FirmSuite_rg.pdf [4] DUI0102E_AFS1_3_rg.pdf [5] ADS_DebugTargetGuide_D.pdf