Course Logistics
Download
Report
Transcript Course Logistics
Review of Module1
1
BINA RAMAMURTHY
[email protected]
B.Ramamurthy
5/16/2013
Items
2
Please complete exercise #1, activity #1, and exercise #2;
enclosed are those slides for your convenience
Lab1 formal statement is available; lets review it.
Form groups of 2: We need to pair up people who have
accounts on Buffalo machine to people who do not have
accounts as of now.
Claim your ubit account: http://www.buffalo.edu/ubit/service-guides/accounts/your-ubitnameaccount/getting-started-with-your-account/claiming-your-account1.html
Lets review the interrupt levels from a sample processor as
indicated by Sharat.
Lets review the details of thread programming. This skill is
required for understanding Embedded Xinu multi-threaded
kernel.
B.Ramamurthy
5/16/2013
Exercise#1
3
Lets identify 10 embedded systems, realtime systems and
realtime/embedded system
I will begin with Arduino Uno
Example
B.Ramamurthy
Type; justification
5/16/2013
Activity#1
4
Identify some ECUs in a modern automobile and a
possible qualitative requirement.
Example
B.Ramamurthy
Justification
5/16/2013
Exercise #2
5
Automatic vending machine money counter
Embedded system (Rs.5 counter)
Coins: 1, 2 and 5 rupees: Think of your example
2
S1
S3
1
5
1
5
S2
2
2
S4
5
1
1
2,5
1
2
S0
5
S5+
S5
B.Ramamurthy
5/16/2013
Operating System
6
An general purpose OS can be defined by its functions as:
Process/execution manager (Process: unit of schedulabilty)
Interface manager
Resources / hardware manager
Memory Management unit (MMU)
IO manager
File system manager
Each of these units have their own set of “exceptions” or
interrupts defined
Result is a well-defined set of interrupts and handlers for
addressing exceptional situations.
B.Ramamurthy
5/16/2013
Operating system Modular View
7
Virtual Mem
Comm.
Prmtvs
Application
Server
User
Processes
Shell
Hardware +
interrupts
Directories
File sys.
Process +
primitives
Web
Server
Devices
Application
Clients
B.Ramamurthy
Web
Clients
5/16/2013
Interrupt Levels (contd.)
8
Class 3 — Context Management
1 FCD Synch. HW Free Context List Depletion (FCX = LCX).
2 CDO Synch. HW Call Depth Overflow.
3 CDU Synch. HW Call Depth Underflow.
4 FCU Synch. HW Free Context List Underflow (FCX = 0).
5 CSU Synch. HW Call Stack Underflow (PCX = 0).
6 CTYP Synch. HW Context Type (PCXI.UL wrong).
7 NEST Synch. HW Nesting Error: RFE with non-zero call depth.
Class 4 — System Bus and Peripheral Errors
1 PSE Synch. HW Program Fetch Synchronous Error.
2 DSE Synch. HW Data Access Synchronous Error.
3 DAE Asynch. HW Data Access Asynchronous Error.
Class 5— Assertion Traps
1 OVF Synch. SW Arithmetic Overflow.
2 SOVF Synch. SW Sticky Arithmetic Overflow.
Class 6 — System Call
SYS Synch. SW System Call.
Class 7 — Non-Maskable Interrupt
0 NMI Asynch. HW Non-Maskable Interrupt.
B.Ramamurthy
5/16/2013
Interrupt Levels
9
Class 0 — MMU
0 VAF Synch. HW Virtual Address Fill.
1 VAP Synch. HW Virtual Address Protection.
Note: For VAF and VAP, see also MMU Traps.
Class 1 — Internal Protection Traps
1 PRIV Synch. HW Privileged Instruction.
2 MPR Synch. HW Memory Protection Read.
3 MPW Synch. HW Memory Protection Write.
4 MPX Synch. HW Memory Protection Execution.
5 MPP Synch. HW Memory Protection Peripheral Access.
6 MPN Synch. HW Memory Protection Null Address.
7 GRWP Synch. HW Global Register Write Protection.
Class 2 — Instruction Errors
1 IOPC Synch. HW Illegal Opcode.
2 UOPC Synch. HW Unimplemented Opcode.
3 OPD Synch. HW Invalid Operand specification.
4 ALN Synch. HW Data Address Alignment.
5 MEM Synch. HW Invalid Local Memory Address.
B.Ramamurthy
5/16/2013
How to build “robust” systems?
10
Identify potential faults and exceptions
Handle them deterministically by implementing
fault/exception/interrupt handlers
Also have a default handler for those unknown
anomalies
In fact, a robust system will have a set of exception
handlers, several types for each major module of a
system.
B.Ramamurthy
5/16/2013
Some Logistics
11
B.Ramamurthy
5/16/2013
Status of connectivity to Buffalo
12
Our first step is to get connectivity to CSE systems
Access timberlake.cse.buffalo.edu using putty (secure shell)
Next step is to access nexos.cse.buffalo.edu from
timberlake
This will allow us to do kernel programming
Final step is to get full access to UB resources (if that
is possible without a 16-digit ID)
B.Ramamurthy
5/16/2013
Student Portfolio
13
We will collect all the work that you do for this class
as a portfolio.
This will be a part of your evaluation.
Also once CSE account is ready, you can submit all
the work to the CSE submit feature (somewhat like a
backup or cloud)
You can compile all the items you created in this
class and assemble this portfolio.
B.Ramamurthy
5/16/2013