UFCETW-20-2 Examination Answer all questions in Section A (60 marks) and 2 questions from Section B (40 marks)

Size: px
Start display at page:

Download "UFCETW-20-2 Examination Answer all questions in Section A (60 marks) and 2 questions from Section B (40 marks)"

Transcription

1 Embedded Systems Programming Exam Answer all questions in Section A (60 marks) and 2 questions from Section B (40 marks) Section A answer all questions (60%) A1 Embedded Systems: ARM Appendix A is a brief data sheet from Intel for the StrongARM processor. Using that sheet as a reference point, outline the reasons that you might, or might not, select this processor for use in a hand-held or embedded system. (15 marks) A2 Embedded System: Operating Systems Recently there has been much discussion of platforms for mobile devices. Selection of an operating system or platform for an embedded system is an important task for a development team. Give a review of the pros and cons for selecting the Linux operating system for embedded system development. A3 Embedded System: Tools and Development Embedded systems developers have very specific requirements for their development tools and their methods. Outline the major issues and show some of the specific problems of development and debugging. Discuss in your answer the challenges of developing libraries and applications. (12 marks) A4 Embedded System: Device Drivers Developing and modifying device drivers for an embedded system is a common activity when producing embedded systems. Discuss how the UNIX/Linux interface allows access to device drivers, and show how this is used by developers. Comment in your answer on the new approaches of pseudo file systems for device driver interface and control. (13 marks) A5 Embedded Systems: Linux 2.6 kernel The Linux 2.6 series kernels offer a number of new features and facilities to developers. Outline these new features and show how they improve or otherwise on the 2.4 series kernels. 1

2 Section B answer 2 questions (40%) B1 Assembler and High Level Languages Developing code for a single board application requires the linking of high-level language programs with assembler level code. i) Discuss the circumstances under which a programmer would code in an assembler rather than a high level language. ii) Using code fragments and diagrams in your answer, show how the linkage of high-level language procedures and functions with assembler code is facilitated. Give particular emphasis to the role of local variable storage and the passing of parameters. B2 Libraries and applications i) Selecting a library, either in source code or binary form, for an embedded board is a common task. Outline the features and facilities that you would see as important in making such a selection. (8 marks) ii) Show how you would build and application like busybox for an embedded Linux platform. Go through the requirements and various stages of development and deployment. (12 marks) B3 Cross development tools Taking 5 tools from the list given below discuss how embedded systems developers might use these software development tools. B4 Memory arm-linux-gcc arm-linux-ld arm-linux-objdump arm-linux-nm arm-linux-as arm-linux-objcopy make gdb (20 marks) i) The embedded systems designer is confronted with a larger and larger array of memory device to choose from. Describe the range and types of devices available, outlining their strength and weaknesses. (12 marks) 2

3 ii) Describe in detail how flash memory devices work, highlighting the software drivers they require. (8 marks) B5 JTAG and Testing Developers of embedded systems will be frequently confronted with new pieces of hardware for which device drivers will have to be written or modified. i) Discuss the problems of testing modern embedded computer systems, and outline some of the approaches taken to address these problems. ii) Describe how JTAG IEEE works. Discuss its original design goals and how it has been developed and adapted. B6 Networking connectivity Embedded and mobile systems are commonly networked with other devices and servers. i) Discuss the features required at kernel, library and application level to support networked applications using TCP/IP. ii) Show the step you would go through to set up a networked embedded system with services such as ftp, telnet, and NFS. 3

4 Appendix A Selection from Intel s SA1110 brief datasheet 4

5 5

6 6

7 Points for credit A1 Talk through the design of SA1110 micro-controller system resources serial ports, usb, pcmcia, lcd etc. The ability to work with different memory devices. The support for OSes and HLL through the structure of the assembler and the use of the MMU. Use of GPIO lines for general purpose interfacing. Interrupt structure fast interrupts low number of vectors. Low power features unless features are initialised then then are turned off. Ability to slow the clock down, use of watchdogs etc. Slow clock speed made up for by the system design use of pipeline and caches. A2 - problems. Linux having copied Unix is not a real-time system, can't pre-empt processes. Was really developed for desktop PCs and main development is around the Pentium family. Over large kernel for very small boards (< 2MB). Requires file system. Has lots of kernel code that would be redundant on a SBC. Changes too rapidly? 2.4 problem pre-emption in 2.6. Pluses - open source - easy to change/customise. Good development community. large number of embedded and real-time extensions - RTAI, and so on. Later kernels allow pre-emption - but too early to say if other problems may make them less useful. UClinux allows MMUless CPU and smaller developments. Projects like uclibc, busybox and so on ar Linux based. Integrated with GNU. A3 a size versus functionality argument is required here. Very specialist systems dsp work etc will require thie own specili libraries ability to work with standard apps, OS and compilers is a major plus. Arguments around glibc, uclibc, slibc and newlib. Descriptive of the various steps paying attention to the use of libraries for host and target work. The decision whether to use static libraries or download dynamic ones. A4 The use of file operations on device driver through file nodes the use of mknod and major numbers, role of minor numbers. How file ops work types of driver character, block etc. Give example of reading and writing a parallel port show how the ioctl interface give extra functionality- the problem with that approach, very nonstandard, messy interfaces. The approach of /proc giving a run time display of drvier internals. Problems with proc over extended beyond original design goals. The approach of sysfs. A5 2.6 features. VM memory sub system. CPU scheduling new schedulers. IO scheduling features. Sysfs and udev sub systems, device handling. Response times and pre-emption. Threading model NTPL. ALSA. B1 i Use of HLL for portability, ease of maintenance, better for other colleagues. Can use more tools - IDE et al. LLL for speed, special instructions, size. Use of optimisation on system like ARM where good result can be achieved with HLL. ii Use of registers, parameter blocks, and stacks. Show how each work. The ARM strategy hybrid approach the ARM APCS and register usage 7

8 B2 Features required of libraries on embedded systems. Size is very important. Discuss glibc vs uclibc. Look at using libraries and scheduler newlibc as an example. Go through details of downloading and building a library. Building an application against a library for example mplayer. ii Describe busybox features and implementation. Limitations for example for setting up networks and devices. Show how to build busybox against uclibc. B3. Compiler, assembler output, cross assembler. Ability to turn off optimisation. Relocatable code. Linker ability to place segments in specified locations, creation of map file, linker control languages. Easy of loading different libraries esp. startup libs.static and dynamic linking. Gas ability to inline assemble, standard assembler, easy of linking alp & hll. Variety of processor families. Objcopy to produce various output format ie srecord intel hex, as well as coff elf et al. Production of libraries ability to easily maintain libs, extraction. Make ability to control complex builds, use of compiler flags, difficult command lines, ability to create various version ie production and debug. Gdb standard features single step, break points, trace, register/memory dumping, disassembly, remote debugging a la gbd. Elf2bin/eloadsvr convert from elf format (gcc output) to MSBin format for downloader, ability to download/upload binaries. B4 i Different memory chips: ROM, SRAM, DRAM, EPROM, EEPROM and flash. Give brief details of the use of each. ii Explain flash in general then NOR and NAND. Details on reading and writing, showing erase problems. Drivers have to take into account the write problems. Use of wear levelling and journalled file systems. Use on XIP and locking of boot sectors. B5 The 'bed of nails' problem. Early approaches of ICE, emulators and romulators. Difficulty of access pins on modern devices to many, too small, can be hidden. The early use of JTAG. Motorola BDM. JTAG Boundary scan register how device chains work, the TAP and state machine, simple command sets, EXTEST, BYPASS, etc. Run code through JTAG example of 'bricked' machine and reflashing over JTAG. EJTAG and JTAG extensions debugging systems, use of memory maps etc. B6 Networking: The provision of TCP/IP services in the kernel, a device driver to do the transport layer (or a protocol like PPP or slip to pass it through another device). TCP and even RPC services turned on in the library, applications such as ftp, ftpd etc built against the library. Assuming all of the above. The device would need initialising/loading. An ip address would have to be given or dhcp used. The route table would have to be set up and a default route to the device given. A server or gateway would have to be contacted. Various services would have to be started probably in /etc/rc.n/. For NFS there are a number of options. Loading an exported file system could be attempted assuming permissions on the server were granted. To setup a nfs mounted root requires more changes to the kernel build and a machine that will export the correct root file system. 8

Introduction p. 1 Why Linux? p. 2 Embedded Linux Today p. 3 Open Source and the GPL p. 3 Free Versus Freedom p. 4 Standards and Relevant Bodies p.

Introduction p. 1 Why Linux? p. 2 Embedded Linux Today p. 3 Open Source and the GPL p. 3 Free Versus Freedom p. 4 Standards and Relevant Bodies p. Foreword p. xix Preface p. xxi Acknowledgments p. xxvii About the Author p. xxix Introduction p. 1 Why Linux? p. 2 Embedded Linux Today p. 3 Open Source and the GPL p. 3 Free Versus Freedom p. 4 Standards

More information

Embedded Systems: Architecture

Embedded Systems: Architecture Embedded Systems: Architecture Jinkyu Jeong (Jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu)

More information

Familiar Linux for the ipaq H3975 (XScale Processor) CSC 714 Real Time Computing Systems Term Project

Familiar Linux for the ipaq H3975 (XScale Processor) CSC 714 Real Time Computing Systems Term Project Familiar Linux for the ipaq H3975 (XScale Processor) CSC 714 Real Time Computing Systems Term Project Adinarayanan Venkatachalam (avenkat2@unity.ncsu.edu) Srivatsa Venkata Chivukula (svchivuk@unity.ncsu.edu)

More information

COS 318: Operating Systems. Overview. Andy Bavier Computer Science Department Princeton University

COS 318: Operating Systems. Overview. Andy Bavier Computer Science Department Princeton University COS 318: Operating Systems Overview Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Logistics Precepts: Tue: 7:30pm-8:30pm, 105 CS

More information

Porting Linux to a New Architecture

Porting Linux to a New Architecture Embedded Linux Conference 2014 Porting Linux to a New Architecture Marta Rybczyńska May 1 st, 2014 Different Types of Porting New board New processor from existing family New architecture 2010-2014 Kalray

More information

Embest IDE Pro for ARM 2005

Embest IDE Pro for ARM 2005 Embest IDE Pro for ARM 2005 1.1 About Embest IDE Pro for ARM2005 Embest IDE Pro for ARM2005 is a new release of Embest IDE for ARM based on 2004 version. It is an Integrated Development Environment for

More information

TQ2440 Development Platform Manual

TQ2440 Development Platform Manual TQ2440 Development Platform Manual 0 Directory Directory... 1 Chapter 1 Introduction... 7 11Appearance of TQ2440 development platform... 7 12Hardware resource of TQ2440... 7 13Software introduction of

More information

Universal Communicator

Universal Communicator Front-end Embedded Computer for Device Networking Solutions Front-end embedded computer for device networking RISC-based Communication Computer No fan, no hard drive design Moxa s series of RISC-based

More information

ARM Processors for Embedded Applications

ARM Processors for Embedded Applications ARM Processors for Embedded Applications Roadmap for ARM Processors ARM Architecture Basics ARM Families AMBA Architecture 1 Current ARM Core Families ARM7: Hard cores and Soft cores Cache with MPU or

More information

DTK2410 Specification

DTK2410 Specification version 1.0 DIGNSYS Inc. FEATURES Hardware DTK2410 reference board Reference board for embedded application SAMSUNG S3C2410 MCU NOR/NAND Flash and SDRAM USB host and device UART interface JTAG interface

More information

Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview Use Cases Architecture Features Copyright Jaluna SA. All rights reserved

Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview Use Cases Architecture Features Copyright Jaluna SA. All rights reserved C5 Micro-Kernel: Real-Time Services for Embedded and Linux Systems Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 1 Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview

More information

Porting Linux to a New Architecture

Porting Linux to a New Architecture Embedded Linux Conference Europe 2014 Porting Linux to a New Architecture Marta Rybczyńska October 15, 2014 Different Types of Porting New board New processor from existing family New architecture 2 New

More information

Chapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition

Chapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition Chapter 8: Memory- Management Strategies Operating System Concepts 9 th Edition Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation

More information

Development Environment Embedded Linux Primer Ch 1&2

Development Environment Embedded Linux Primer Ch 1&2 Development Environment Embedded Linux Primer Ch 1&2 Topics 1) Systems: Host and Target 2) Host setup 3) Host-Target communication CMPT 433 Slides #3 Dr. B. Fraser 18-05-05 2 18-05-05 1 Host & Target Host

More information

Kernel Internals. Course Duration: 5 days. Pre-Requisites : Course Objective: Course Outline

Kernel Internals. Course Duration: 5 days. Pre-Requisites : Course Objective: Course Outline Course Duration: 5 days Pre-Requisites : Good C programming skills. Required knowledge Linux as a User Course Objective: To get Kernel and User Space of Linux and related programming Linux Advance Programming

More information

Embedded Systems Programming

Embedded Systems Programming Embedded Systems Programming OS Linux - Toolchain Iwona Kochańska Gdansk University of Technology Embedded software Toolchain compiler and tools for hardwaredependent software developement Bootloader initializes

More information

Debugging uclinux on Coldfire

Debugging uclinux on Coldfire Debugging uclinux on Coldfire By David Braendler davidb@emsea-systems.com What is uclinux? uclinux is a version of Linux for CPUs without virtual memory or an MMU (Memory Management Unit) and is typically

More information

FPQ6 - MPC8313E implementation

FPQ6 - MPC8313E implementation Formation MPC8313E implementation: This course covers PowerQUICC II Pro MPC8313 - Processeurs PowerPC: NXP Power CPUs FPQ6 - MPC8313E implementation This course covers PowerQUICC II Pro MPC8313 Objectives

More information

Building an embedded software IDE on top of Eclipse

Building an embedded software IDE on top of Eclipse Building an embedded software IDE on top of Eclipse Gaétan Morice Anyware Tecnologies David Pochet - Wavecom June 25 th, 2009 Outline Part 1 : Context What we had to do. Part 2 : M2M Studio How we use

More information

Compute Node Design for DAQ and Trigger Subsystem in Giessen. Justus Liebig University in Giessen

Compute Node Design for DAQ and Trigger Subsystem in Giessen. Justus Liebig University in Giessen Compute Node Design for DAQ and Trigger Subsystem in Giessen Justus Liebig University in Giessen Outline Design goals Current work in Giessen Hardware Software Future work Justus Liebig University in Giessen,

More information

LinuxBIOS freedom for your motherboard. Alan Carvalho de Assis

LinuxBIOS freedom for your motherboard. Alan Carvalho de Assis LinuxBIOS freedom for your motherboard Alan Carvalho de Assis What is BIOS? BIOS stands for: Basic Input/Output System; Firmware - stored inside a chip (ROM, EPROM, Flash); Initializes the hardware How

More information

Linux Driver and Embedded Developer

Linux Driver and Embedded Developer Linux Driver and Embedded Developer Course Highlights The flagship training program from Veda Solutions, successfully being conducted from the past 10 years A comprehensive expert level course covering

More information

Basic Concepts COE 205. Computer Organization and Assembly Language Dr. Aiman El-Maleh

Basic Concepts COE 205. Computer Organization and Assembly Language Dr. Aiman El-Maleh Basic Concepts COE 205 Computer Organization and Assembly Language Dr. Aiman El-Maleh College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals [Adapted from slides of

More information

CHAPTER 8 - MEMORY MANAGEMENT STRATEGIES

CHAPTER 8 - MEMORY MANAGEMENT STRATEGIES CHAPTER 8 - MEMORY MANAGEMENT STRATEGIES OBJECTIVES Detailed description of various ways of organizing memory hardware Various memory-management techniques, including paging and segmentation To provide

More information

EMBEDDED SYSTEM FOR VIDEO AND SIGNAL PROCESSING

EMBEDDED SYSTEM FOR VIDEO AND SIGNAL PROCESSING EMBEDDED SYSTEM FOR VIDEO AND SIGNAL PROCESSING Slavy Georgiev Mihov 1, Dimitar Stoykov Dimitrov 2, Krasimir Angelov Stoyanov 3, Doycho Dimitrov Doychev 4 1, 4 Faculty of Electronic Engineering and Technologies,

More information

CHAPTER 8: MEMORY MANAGEMENT. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

CHAPTER 8: MEMORY MANAGEMENT. By I-Chen Lin Textbook: Operating System Concepts 9th Ed. CHAPTER 8: MEMORY MANAGEMENT By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the

More information

Chapter 8: Main Memory

Chapter 8: Main Memory Chapter 8: Main Memory Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and 64-bit Architectures Example:

More information

StrongARM** SA-110/21285 Evaluation Board

StrongARM** SA-110/21285 Evaluation Board StrongARM** SA-110/21285 Evaluation Board Brief Datasheet Product Features Intel offers a StrongARM** SA-110/21285 Evaluation Board (EBSA-285) that provides a flexible hardware environment to help manufacturers

More information

Embedded Systems Programming

Embedded Systems Programming Embedded Systems Programming ES Development Environment (Module 3) Yann-Hang Lee Arizona State University yhlee@asu.edu (480) 727-7507 Summer 2014 Embedded System Development Need a real-time (embedded)

More information

Virtual Machines and Dynamic Translation: Implementing ISAs in Software

Virtual Machines and Dynamic Translation: Implementing ISAs in Software Virtual Machines and Dynamic Translation: Implementing ISAs in Software Krste Asanovic Laboratory for Computer Science Massachusetts Institute of Technology Software Applications How is a software application

More information

Developing Environment for Intel Mainstone Board

Developing Environment for Intel Mainstone Board Developing Environment for Intel Mainstone Board Outline Introduction Board Bring-up Running Linux Kernel Building Your Own Linux Kernel Developing Your Own App 1 Introduction :: PXA27x XScale PXA27x Architecture

More information

Installation and Maintenance

Installation and Maintenance Chapter 9 Installation and Maintenance 9.1 Hardware and software System requirements. 215 9.2 Operating Manuals. 216 9.3 Software. 221 9.4 Maintenance. 225 Chapter 9 Installation and Maintenance. This

More information

Porting uclinux to MIPS

Porting uclinux to MIPS Porting uclinux to MIPS This document describes how to porting uclinux to MIPS platform. And also describes how to porting GNU toolchain and uclibc on that platform. The last version of this document can

More information

Computer Fundamentals and Operating System Theory. By Neil Bloomberg Spring 2017

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

Chapter 8: Memory-Management Strategies

Chapter 8: Memory-Management Strategies Chapter 8: Memory-Management Strategies Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and

More information

1993 Paper 3 Question 6

1993 Paper 3 Question 6 993 Paper 3 Question 6 Describe the functionality you would expect to find in the file system directory service of a multi-user operating system. [0 marks] Describe two ways in which multiple names for

More information

Lab 1. OMAP5912 Starter Kit (OSK5912)

Lab 1. OMAP5912 Starter Kit (OSK5912) Lab 1. OMAP5912 Starter Kit (OSK5912) Developing DSP Applications 1. Overview In addition to having an ARM926EJ-S core, the OMAP5912 processor has a C55x DSP core. The DSP core can be used by the ARM to

More information

An Implementation Of Multiprocessor Linux

An Implementation Of Multiprocessor Linux An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than

More information

Low Power System Design

Low Power System Design Low Power System Design Module 18-1 (1.5 hours): Case study: System-Level Power Estimation and Reduction Jan. 2007 Naehyuck Chang EECS/CSE Seoul National University Contents In-house tools for low-power

More information

bdigdb for BDI2000 PowerPC4xx version

bdigdb for BDI2000 PowerPC4xx version V1.00 Date: October 3, 2000 New Telnet command (BREAK) added to display and change current breakpoint mode. GDB binary downloading support added (X,:bbbbbbbbb). User selectable Telnet prompt

More information

FPQ9 - MPC8360E implementation

FPQ9 - MPC8360E implementation Training MPC8360E implementation: This course covers PowerQUICC II Pro MPC8360E - PowerPC processors: NXP Power CPUs FPQ9 - MPC8360E implementation This course covers PowerQUICC II Pro MPC8360E Objectives

More information

Lec 13: Linking and Memory. Kavita Bala CS 3410, Fall 2008 Computer Science Cornell University. Announcements

Lec 13: Linking and Memory. Kavita Bala CS 3410, Fall 2008 Computer Science Cornell University. Announcements Lec 13: Linking and Memory Kavita Bala CS 3410, Fall 2008 Computer Science Cornell University PA 2 is out Due on Oct 22 nd Announcements Prelim Oct 23 rd, 7:30-9:30/10:00 All content up to Lecture on Oct

More information

Chapter 8: Main Memory. Operating System Concepts 9 th Edition

Chapter 8: Main Memory. Operating System Concepts 9 th Edition Chapter 8: Main Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel

More information

Embedded Linux Architecture

Embedded Linux Architecture Embedded Linux Architecture Types of Operating Systems Real-Time Executive Monolithic Kernel Microkernel Real-Time Executive For MMU-less processors The entire address space is flat or linear with no memory

More information

Description. October Rev 4 1/10

Description. October Rev 4 1/10 Toolset for developing STxP70 applications Data brief production data Features Code development tools stxp70cc C compiler newlib C runtime library targeted for STxP70 (based on newlib v1.18) Multi-context

More information

Chapter 8: Main Memory

Chapter 8: Main Memory Chapter 8: Main Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel

More information

Lecture 12. Motivation. Designing for Low Power: Approaches. Architectures for Low Power: Transmeta s Crusoe Processor

Lecture 12. Motivation. Designing for Low Power: Approaches. Architectures for Low Power: Transmeta s Crusoe Processor Lecture 12 Architectures for Low Power: Transmeta s Crusoe Processor Motivation Exponential performance increase at a low cost However, for some application areas low power consumption is more important

More information

This presentation of uclinux-on-microblaze given

This presentation of uclinux-on-microblaze given This presentation of uclinux-on-microblaze given By: David Banas, Xilinx FAE Nu Horizons Electronics Corp. 2070 Ringwood Ave. San Jose, CA 95131 At: Xilinx Learning Center, San

More information

EE4380 Microprocessor Design Project

EE4380 Microprocessor Design Project EE4380 Microprocessor Design Project Fall 2002 Class 1 Pari vallal Kannan Center for Integrated Circuits and Systems University of Texas at Dallas Introduction What is a Microcontroller? Microcontroller

More information

COS 318: Operating Systems

COS 318: Operating Systems COS 318: Operating Systems Overview Kai Li Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) Important Times Lectures 9/20 Lecture is here Other lectures in

More information

COS 318: Operating Systems. Overview. Prof. Margaret Martonosi Computer Science Department Princeton University

COS 318: Operating Systems. Overview. Prof. Margaret Martonosi Computer Science Department Princeton University COS 318: Operating Systems Overview Prof. Margaret Martonosi Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall11/cos318/ Announcements Precepts: Tue (Tonight)!

More information

Micetek International Inc. Professional Supplier for PowerPC Development Tools

Micetek International Inc. Professional Supplier for PowerPC Development Tools Introduction of PowerPC development tools (2008) Freescale PowerPC processors are ideal for RISC embedded application. With excellent performance, high level of integration and advanced technology, these

More information

PROCESS VIRTUAL MEMORY. CS124 Operating Systems Winter , Lecture 18

PROCESS VIRTUAL MEMORY. CS124 Operating Systems Winter , Lecture 18 PROCESS VIRTUAL MEMORY CS124 Operating Systems Winter 2015-2016, Lecture 18 2 Programs and Memory Programs perform many interactions with memory Accessing variables stored at specific memory locations

More information

Chapter 2. Operating-System Structures

Chapter 2. Operating-System Structures Chapter 2 Operating-System Structures 2.1 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

Systems Programming. Fatih Kesgin &Yusuf Yaslan Istanbul Technical University Computer Engineering Department 18/10/2005

Systems Programming. Fatih Kesgin &Yusuf Yaslan Istanbul Technical University Computer Engineering Department 18/10/2005 Systems Programming Fatih Kesgin &Yusuf Yaslan Istanbul Technical University Computer Engineering Department 18/10/2005 Outline How to assemble and link nasm ld gcc Debugging Using gdb; breakpoints,registers,

More information

SEMICONDUCTOR PRODUCT INFORMATION

SEMICONDUCTOR PRODUCT INFORMATION CMB2114RG/D REV 1 Semiconductor Products Sector Product Release Guide Motorola CMB2114 1 Overview 2 System Requirements This guide explains installation and other information for the CMB2114 controller

More information

Keil uvision development story (Adapted from (Valvano, 2014a))

Keil uvision development story (Adapted from (Valvano, 2014a)) Introduction uvision has powerful tools for debugging and developing C and Assembly code. For debugging a code, one can either simulate it on the IDE s simulator or execute the code directly on ta Keil

More information

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed. CHAPTER 2: SYSTEM STRUCTURES By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 2: System Structures Operating System Services User Operating System Interface System Calls Types of System

More information

COS 318: Operating Systems. Overview. Jaswinder Pal Singh Computer Science Department Princeton University

COS 318: Operating Systems. Overview. Jaswinder Pal Singh Computer Science Department Princeton University COS 318: Operating Systems Overview Jaswinder Pal Singh Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) Important Times u Precepts: l Mon: 7:30-8:20pm, 105

More information

Reference Manual , 01/2016. CodeWarrior Development Studio for Power Architecture Processors Targeting Manual

Reference Manual , 01/2016. CodeWarrior Development Studio for Power Architecture Processors Targeting Manual NXP Semiconductors Document Number: CWPADBGUG Reference Manual 10.5.1, 01/2016 CodeWarrior Development Studio for Power Architecture Processors Targeting Manual Contents Contents Chapter 1 Introduction...11

More information

Cross Compiling. Real Time Operating Systems and Middleware. Luca Abeni

Cross Compiling. Real Time Operating Systems and Middleware. Luca Abeni Cross Compiling Real Time Operating Systems and Middleware Luca Abeni luca.abeni@unitn.it The Kernel Kernel OS component interacting with hardware Runs in privileged mode (Kernel Space KS) User Level Kernel

More information

EMUL-PPC-PC. Getting Started Guide. Version 1.0

EMUL-PPC-PC. Getting Started Guide. Version 1.0 EMUL-PPC-PC Getting Started Guide Version 1.0 EMUL PowerPC Getting Started Guide Edition1 ICE Technology. All rights reserved worldwide. Contents Warranty Information European CE Requirements User Responsibility

More information

Free Development Environment for Bus Coupling Units (BCUs)

Free Development Environment for Bus Coupling Units (BCUs) Free Development Environment for Bus Coupling Units (BCUs) for the European Installation Bus (EIB) Martin Kögler mkoegler@auto.tuwien.ac.at June 13, 2005 Course of the talk 1 Introduction 2 BCU SDK development

More information

U-Boot Falcon Mode. Minimizing boot times using U-Boot "Falcon" mode. Stefano Babic / Wolfgang Denk. July 2012

U-Boot Falcon Mode. Minimizing boot times using U-Boot Falcon mode. Stefano Babic / Wolfgang Denk. July 2012 U-Boot Falcon Mode Minimizing boot times using U-Boot "Falcon" mode Stefano Babic / Wolfgang Denk July 2012 Overview Requirements for Boot Loaders Frequently Asked For Optimizations: Boot Time Hardware

More information

Memory management. Last modified: Adaptation of Silberschatz, Galvin, Gagne slides for the textbook Applied Operating Systems Concepts

Memory management. Last modified: Adaptation of Silberschatz, Galvin, Gagne slides for the textbook Applied Operating Systems Concepts Memory management Last modified: 26.04.2016 1 Contents Background Logical and physical address spaces; address binding Overlaying, swapping Contiguous Memory Allocation Segmentation Paging Structure of

More information

Embedded System Curriculum

Embedded System Curriculum Embedded System Curriculum ADVANCED C PROGRAMMING AND DATA STRUCTURE (Duration: 25 hrs) Introduction to 'C' Objectives of C, Applications of C, Relational and logical operators, Bit wise operators, The

More information

I/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13

I/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13 I/O Handling ECE 650 Systems Programming & Engineering Duke University, Spring 2018 Based on Operating Systems Concepts, Silberschatz Chapter 13 Input/Output (I/O) Typical application flow consists of

More information

Background. Contiguous Memory Allocation

Background. Contiguous Memory Allocation Operating System Lecture 8 2017.5.9 Chapter 8 (Main Memory) Background Swapping Contiguous Memory Allocation Segmentation - Paging Memory Management Selection of a memory-management method for a specific

More information

Operating-System Structures

Operating-System Structures Recap Chapter 2: Operating-System Structures Presented By: Dr. El-Sayed M. El-Alfy Note: Most of the slides are compiled from the textbook and its complementary resources From: OS by Tanenbaum, 2008 March

More information

Support for RISC-V. Lauterbach GmbH. Bob Kupyn Lauterbach Markus Goehrle - Lauterbach GmbH

Support for RISC-V. Lauterbach GmbH. Bob Kupyn Lauterbach Markus Goehrle - Lauterbach GmbH Company Lauterbach Profile Debug Support for RISC-V Lauterbach GmbH Bob Kupyn Lauterbach USA @2016 Markus Goehrle - Lauterbach GmbH Leading Manufacturer of Microprocessor Development Tools Founded in 1979

More information

esi-risc Development Suite Getting Started Guide

esi-risc Development Suite Getting Started Guide 1 Contents 1 Contents 2 2 Overview 3 3 Starting the Integrated Development Environment 4 4 Hello World Tutorial 5 5 Next Steps 8 6 Support 10 Version 2.5 2 of 10 2011 EnSilica Ltd, All Rights Reserved

More information

RFlasher7. Getting Started and Overview. Document version

RFlasher7. Getting Started and Overview. Document version 7 Getting Started and Overview Document version 080317 Release date March 2008 Contents 1. INTRODUCTION...4 1.1 Overview...4 2. FIRST STEPS WITH RFLASHER...5 2.1 Project options...6 2.2 File loading...7

More information

The blob bootloader. The blob bootloader. Thomas Petazzoni Free Electrons

The blob bootloader. The blob bootloader. Thomas Petazzoni Free Electrons The blob bootloader The blob bootloader Thomas Petazzoni Free Electrons 1 Rights to copy Copyright 2008 2009, Free Electrons feedback@free electrons.com Document sources, updates and translations: http://free

More information

ARM Linux & GNU. Philippe Robin. Beijing June 2004

ARM Linux & GNU. Philippe Robin. Beijing June 2004 ARM Linux & GNU Philippe Robin Beijing June 2004 1 Outline ARM Embedded Linux ARM & Open Source Model Architecture and Platforms Support Linux 2.4 kernel Linux 2.6 kernel GNU GCC tool chain Debugging Linux

More information

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on Chapter 2: Operating-System Structures Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures 1. Operating System Services 2. User Operating System

More information

Fujitsu System Applications Support. Fujitsu Microelectronics America, Inc. 02/02

Fujitsu System Applications Support. Fujitsu Microelectronics America, Inc. 02/02 Fujitsu System Applications Support 1 Overview System Applications Support SOC Application Development Lab Multimedia VoIP Wireless Bluetooth Processors, DSP and Peripherals ARM Reference Platform 2 SOC

More information

Chapter 8 Memory Management

Chapter 8 Memory Management Chapter 8 Memory Management Da-Wei Chang CSIE.NCKU Source: Abraham Silberschatz, Peter B. Galvin, and Greg Gagne, "Operating System Concepts", 9th Edition, Wiley. 1 Outline Background Swapping Contiguous

More information

Assembly Language for Intel-Based Computers, 4 th Edition. Kip R. Irvine. Chapter 2: IA-32 Processor Architecture

Assembly Language for Intel-Based Computers, 4 th Edition. Kip R. Irvine. Chapter 2: IA-32 Processor Architecture Assembly Language for Intel-Based Computers, 4 th Edition Kip R. Irvine Chapter 2: IA-32 Processor Architecture Chapter Overview General Concepts IA-32 Processor Architecture IA-32 Memory Management Components

More information

Getting Started with FreeRTOS BSP for i.mx 7Dual

Getting Started with FreeRTOS BSP for i.mx 7Dual Freescale Semiconductor, Inc. Document Number: FRTOS7DGSUG User s Guide Rev. 0, 08/2015 Getting Started with FreeRTOS BSP for i.mx 7Dual 1 Overview The FreeRTOS BSP for i.mx 7Dual is a Software Development

More information

Assembly Language for x86 Processors 7 th Edition. Chapter 2: x86 Processor Architecture

Assembly Language for x86 Processors 7 th Edition. Chapter 2: x86 Processor Architecture Assembly Language for x86 Processors 7 th Edition Kip Irvine Chapter 2: x86 Processor Architecture Slides prepared by the author Revision date: 1/15/2014 (c) Pearson Education, 2015. All rights reserved.

More information

Chapter 2: Operating-System Structures

Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

First Steps. esom/sk4 esom/3517 Embedded Linux Starter Kit

First Steps. esom/sk4 esom/3517 Embedded Linux Starter Kit esom/sk4 esom/3517 Embedded Linux Starter Kit First Steps SSV Embedded Systems Dünenweg 5 D-30419 Hannover Phone: +49 (0)511/40 000-0 Fax: +49 (0)511/40 000-40 E-mail: sales@ssv-embedded.de Document Revision:

More information

CORRIGENDUM ISSUED FOR NATIONAL COMPETITIVE BIDDING UNDER TEQIP PHASE-II

CORRIGENDUM ISSUED FOR NATIONAL COMPETITIVE BIDDING UNDER TEQIP PHASE-II CORRIGENDUM ISSUED FOR NATIONAL COMPETITIVE BIDDING UNDER TEQIP PHASE-II The prebid meeting for the packages to be purchased under national competitive bidding for TEQIP Phase II was held on 15/10/2013

More information

Chapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition

Chapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition Chapter 8: Memory- Management Strategies Operating System Concepts 9 th Edition Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation

More information

Chapter 8: Memory- Management Strategies

Chapter 8: Memory- Management Strategies Chapter 8: Memory Management Strategies Chapter 8: Memory- Management Strategies Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and

More information

Hackveda Training - Ethical Hacking, Networking & Security

Hackveda Training - Ethical Hacking, Networking & Security Hackveda Training - Ethical Hacking, Networking & Security Day1: Hacking windows 7 / 8 system and security Part1 a.) Windows Login Password Bypass manually without CD / DVD b.) Windows Login Password Bypass

More information

Chapter 2: Operating-System Structures

Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

Assembly Language for Intel-Based Computers, 4 th Edition. Chapter 2: IA-32 Processor Architecture. Chapter Overview.

Assembly Language for Intel-Based Computers, 4 th Edition. Chapter 2: IA-32 Processor Architecture. Chapter Overview. Assembly Language for Intel-Based Computers, 4 th Edition Kip R. Irvine Chapter 2: IA-32 Processor Architecture Slides prepared by Kip R. Irvine Revision date: 09/25/2002 Chapter corrections (Web) Printing

More information

An Overview of the BLITZ System

An Overview of the BLITZ System An Overview of the BLITZ System Harry H. Porter III Department of Computer Science Portland State University Introduction The BLITZ System is a collection of software designed to support a university-level

More information

Bootloader Design Techniques for MCUs. Jacob Beningo, CSDP

Bootloader Design Techniques for MCUs. Jacob Beningo, CSDP Bootloader Design Techniques for MCUs Jacob Beningo, CSDP 1 10/18/2014 Session Overview Introduction The Boot-loader System Local Models Distributed Models Startup Branching Bootloader Behavior Resetting

More information

CSE 4/521 Introduction to Operating Systems. Lecture 12 Main Memory I (Background, Swapping) Summer 2018

CSE 4/521 Introduction to Operating Systems. Lecture 12 Main Memory I (Background, Swapping) Summer 2018 CSE 4/521 Introduction to Operating Systems Lecture 12 Main Memory I (Background, Swapping) Summer 2018 Overview Objective: 1. To provide a detailed description of various ways of organizing memory hardware.

More information

ART JIT in Android N. Xueliang ZHONG Linaro ART Team

ART JIT in Android N. Xueliang ZHONG Linaro ART Team ART JIT in Android N Xueliang ZHONG Linaro ART Team linaro-art@linaro.org 1 Outline Android Runtime (ART) and the new challenges ART Implementation in Android N Tooling Performance Data & Findings Q &

More information

Introduction to RISC-V

Introduction to RISC-V Introduction to RISC-V Jielun Tan, James Connolly February, 2019 Overview What is RISC-V Why RISC-V ISA overview Software environment Beta testing What is RISC-V RISC-V (pronounced risk-five ) is an open,

More information

CS 5803 Introduction to High Performance Computer Architecture: RISC vs. CISC. A.R. Hurson 323 Computer Science Building, Missouri S&T

CS 5803 Introduction to High Performance Computer Architecture: RISC vs. CISC. A.R. Hurson 323 Computer Science Building, Missouri S&T CS 5803 Introduction to High Performance Computer Architecture: RISC vs. CISC A.R. Hurson 323 Computer Science Building, Missouri S&T hurson@mst.edu 1 Outline How to improve CPU time? Complex Instruction

More information

18-349: Embedded Real-Time Systems Lecture 2: ARM Architecture

18-349: Embedded Real-Time Systems Lecture 2: ARM Architecture 18-349: Embedded Real-Time Systems Lecture 2: ARM Architecture Anthony Rowe Electrical and Computer Engineering Carnegie Mellon University Basic Computer Architecture Embedded Real-Time Systems 2 Memory

More information

Computer Organization (II) IA-32 Processor Architecture. Pu-Jen Cheng

Computer Organization (II) IA-32 Processor Architecture. Pu-Jen Cheng Computer Organization & Assembly Languages Computer Organization (II) IA-32 Processor Architecture Pu-Jen Cheng Materials Some materials used in this course are adapted from The slides prepared by Kip

More information

Micetek International Inc. Professional Supplier for PowerPC Development Tools

Micetek International Inc. Professional Supplier for PowerPC Development Tools Introduction of Micetek PowerPC development tools (2009) Freescale PowerPC processors are ideal for RISC embedded application. With excellent performance, high level of integration and advanced technology,

More information

Four Components of a Computer System

Four Components of a Computer System Four Components of a Computer System Operating System Concepts Essentials 2nd Edition 1.1 Silberschatz, Galvin and Gagne 2013 Operating System Definition OS is a resource allocator Manages all resources

More information

The X86 Assembly Language Instruction Nop Means

The X86 Assembly Language Instruction Nop Means The X86 Assembly Language Instruction Nop Means As little as 1 CPU cycle is "wasted" to execute a NOP instruction (the exact and other "assembly tricks", as explained also in this thread on Programmers.

More information

Debugging code snippets in IDA Pro 5.6 using QEMU emulator Copyright 2010 Hex-Rays SA

Debugging code snippets in IDA Pro 5.6 using QEMU emulator Copyright 2010 Hex-Rays SA Debugging code snippets in IDA Pro 5.6 using QEMU emulator Copyright 2010 Hex-Rays SA Introduction IDA Pro 5.6 has a new feature: automatic running of the QEMU emulator. It can be used to debug small code

More information