EECS 473 Advanced Embedded Systems Misc. things Midterm Review.

Slides:



Advertisements
Similar presentations
Introduction to Embedded Systems Resource Management - III Lecture 19.
Advertisements

CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
1 Virtual Memory vs. Physical Memory So far, all of a job’s virtual address space must be in physical memory However, many parts of programs are never.
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)
Informationsteknologi Friday, November 16, 2007Computer Architecture I - Class 121 Today’s class Operating System Machine Level.
Chapter 13 Embedded Systems
Chapter 8 Operating System Support
CS 300 – Lecture 23 Intro to Computer Architecture / Assembly Language Virtual Memory Pipelining.
Wk 2 – Scheduling 1 CS502 Spring 2006 Scheduling The art and science of allocating the CPU and other resources to processes.
Real-Time Operating System Chapter – 8 Embedded System: An integrated approach.
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
EECS 498 Advanced Embedded Systems Lecture 6: Rhyme, Reason & Review; Topic group formation.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Winter 2015 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University Introduction and Overview.
1 Lecture 2 Introduction, OS History n objective of an operating system n OS history u no OS u batch system u multiprogramming u multitasking.
Advanced Operating Systems CIS 720 Lecture 1. Instructor Dr. Gurdip Singh – 234 Nichols Hall –
Introduction to Real-Time Systems
EEL Software development for real-time engineering systems.
Real Time Operating Systems Lecture 10 David Andrews
Scheduling policies for real- time embedded systems.
Real-Time Systems Mark Stanovich. Introduction System with timing constraints (e.g., deadlines) What makes a real-time system different? – Meeting timing.
What Every Developer Should Know about the Kernel Dr. Michael L. Collard 1.
Embedded Linux Day 2. Stuffs HW1 posted today – Shooting for 1-2 hours. – Review scheduling stuff & licensing. HW0 in lab Sign up for group meetings for.
1 VxWorks 5.4 Group A3: Wafa’ Jaffal Kathryn Bean.
CSCI1600: Embedded and Real Time Software Lecture 2: Introduction Steven Reiss, Fall 2015.
Software Transactional Memory Should Not Be Obstruction-Free Robert Ennals Presented by Abdulai Sei.
1 Real-Time Scheduling. 2Today Operating System task scheduling –Traditional (non-real-time) scheduling –Real-time scheduling.
CSCI1600: Embedded and Real Time Software Lecture 24: Real Time Scheduling II Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 33: Worst Case Execution Time Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 9: Input Output Concepts Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 28: Verification I Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 23: Real Time Scheduling I Steven Reiss, Fall 2015.
For a good summary, visit:
I/O Software CS 537 – Introduction to Operating Systems.
CSCI1600: Embedded and Real Time Software Lecture 17: Concurrent Programming Steven Reiss, Fall 2015.
1 How will execution time grow with SIZE? int array[SIZE]; int sum = 0; for (int i = 0 ; i < ; ++ i) { for (int j = 0 ; j < SIZE ; ++ j) { sum +=
Unit - I Real Time Operating System. Content : Operating System Concepts Real-Time Tasks Real-Time Systems Types of Real-Time Tasks Real-Time Operating.
Review etc.. Want to get out of here by 10am Go see 373 projects.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Real-Time Operating Systems RTOS For Embedded systems.
CPU Scheduling Scheduling processes (or kernel-level threads) onto the cpu is one of the most important OS functions. The cpu is an expensive resource.
Homework Reading Machine Projects Labs
EECS 473 Advanced Embedded Systems
Resource Management IB Computer Science.
Chapter 2 Memory and process management
EECS 473 Review etc..
Chapter 8: Main Memory.
Topics Covered What is Real Time Operating System (RTOS)
Copyright ©: Nahrstedt, Angrave, Abdelzaher
Wayne Wolf Dept. of EE Princeton University
EECS 473 Advanced Embedded Systems
How will execution time grow with SIZE?
Unit OS9: Real-Time and Embedded Systems
Lecture 24: Process Scheduling Examples and for Real-time Systems
EECS 473 Review etc..
CSCI1600: Embedded and Real Time Software
Improved schedulability on the ρVEX polymorphic VLIW processor
CS703 - Advanced Operating Systems
CSCI1600: Embedded and Real Time Software
Lecture Topics: 11/1 General Operating System Concepts Processes
EECS 473 Advanced Embedded Systems
EECS 473 Review etc..
CSCI1600: Embedded and Real Time Software
Processes and operating systems
CSCI1600: Embedded and Real Time Software
Embedded System Development Lecture 12 4/4/2007
Presentation transcript:

EECS 473 Advanced Embedded Systems Misc. things Midterm Review

Exam When and Where: – Tuesday 10/27 6-8pm – Rooms: 1500 EECS & 1003 EECS If you have a conflict, let Yitian and I know ASAP. Coverage: – Everything we’ve done (lab, homework, lecture) other than switching supplies. Study: – Sample questions in this presentation – Old exams – Labs, homework. HW1 answer key up on Friday

Milestone meetings Tuesday during the day – No class on Tuesday – Doodle out later today. Basically – You tell us where you are at bring 3 copies of MS1 – We ask you questions – You ask us questions The goal here is not evaluation – It’s to help where we can

Start the Review Interface design for hardware Real-time systems – Scheduling Licensing issues Software platforms – Barebones – Barebones w libraries (Arduino) – RTOS (FreeRTOS) – Full OS (embedded Linux) PCBs and power – Terminology – Power integrity – Batteries – Linear regulators including LDOs Design – Expect a design question

Topic: Interfacing Writing software interfaces for hardware – Ideally have a standard interface for both hardware and programmer. Makes it easy to port software. Also means it’s obvious what hardware control to provide. – Like any interface, standardization here is very powerful, but comes at a cost. Abstracting away interface issues makes things less efficient. » Examples?

Interface questions Might be asked to design an API Might be asked to critique an API – Arduino, Tinkerforge worth looking at. Might be asked to explain this figure or ideas related to it. Might be asked to explain or apply this figure:

Topic: Real-time systems and scheduling Time matters – Hard, soft, firm deadlines Validation if very difficult – How do you know the worst case timing? Really difficult to prove worst case. Cache misses, branch prediction, etc. make for a very complex situation. For safety critical things, even a “large engineering margin” isn’t enough. – Need to actually figure it out. "those systems in which the correctness of the system depends not only on the logical result of the computation, but also on the time at which the results are produced";

Topic: Real-time systems and scheduling Rate monotonic scheduling – Static priority scheme – Assumes all * tasks are periodic. Give priority to tasks with lower period. – Total utilization helps figure if schedulable. If is less than n(2 1/n -1) (n=number of tasks) it is schedulable. If over 100% not schedulable If neither is true, do critical instant analysis. EDF – Requires dynamic priorities – Works if less than 100% utilization

Example scheduling questions Find a set of tasks with % utilization, period, etc. that RM can’t schedule but EDF can. Solve specific problems: Explain properties of EDF/RMS/RR/FIFO. – We didn’t do much in class with RR and FIFO… Why might we prefer RMS over EDF? Group T1 Execution Time T1 Period T2 Execution Time T2 Period T3 Execution Time T3 Period CPU Utilization? RM Schedulable? EDF Schedulable? A B C D 2547

Topic: Software platform We covered three or four basic platforms for software development for an embedded system. – Barebones Write everything yourself – Barebones plus libraries Import some useful libraries but otherwise write it all yourself. – RTOS Basic scheduler with a lot of control Generally a fair bit of support. – I/O devices, memory management, etc. Fast interrupts processing possible/reasonable/”easy” – Full OS Give up a lot of control Have to deal with a very complex system Get lots (and lots) of software support – Vision, databases, etc.

FreeRTOS Tasks and scheduling – Creating tasks (xTaskCreate) – Semaphores – Deferred interrupt processing. – Can dynamically change priority.

FreeRTOS questions Given needed function prototypes used in lab: – Write code which does RM scheduling of two tasks. “A” has a period of 10 clocks and runs for at most 4 clocks. “B” has a period of 6 clocks and runs for at most 3 clocks. – Might also be asked to handle deferred interrupts and semaphores What is the difference between Ready, Running, Blocked and Suspended in the diagram to the right?

Embedded Linux What limitations on real-time you might have Can be fairly small – Things like busybox help I/O has a standard interface – File model Not always ideal. But there is a lot of complexity here – We spent a fair bit of time writing drivers.

More questions What is busybox? Why is it useful? Explain how a “file” in /dev gets linked to a given LKM.

Licensing What a viral license is – Why it matters in embedded perhaps more than elsewhere. LKM Impact on business model Hardware people tend to use a lot of other people’s code (legally). – Vendor’s driver code etc. – Libraries. GPL and Creative Commons Licensing.

PCBs Basic terminology and issues – Trace, mil, thou, via, silkscreen, clearance, layers, rat’s nest, etc. – Through-hole vs surface mount – Schematic vs. Layout – When to “neckdown”

Power integrity Discuss keeping Vcc/GND constant as possible. – Recognize that our devices can generate current draw variations at a huge number of frequencies. – Spikes or droops could break our device. Need caps. – Small and large – Get right values

Batteries Understand mAh – Understand that mAh will be less if draw too quickly. – Be able to work basic math using specific battery properties.

Simple battery example 800mAh battery. – If we need 3.5V (or more) how long will this battery last at a 1.6A draw?

Battery note Be very careful putting batteries in parallel. – Homework question made it seem easy And it generally is – But putting two battery packs in parallel that aren’t balanced (same charge) for some reason can cause problems. Where problems can include a fire. Overcharge examples:

Other things Linear regulator – Understand ideal Or nearly ideal with just a constant I Q. – Be able to read and use a Linear regulator part specification

Design Expect a design question – We’ll give you the datasheet (or needed parts of a datasheet) for some part. – You’ll be asked to do some design. – Code will probably be Arduino (easiest to work with) We’ll also give you any Arduino APIs needed.