85
Embedded Operating Systems Unit I and Unit II

Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

  • Upload
    ledan

  • View
    228

  • Download
    6

Embed Size (px)

Citation preview

Page 1: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Embedded Operating Systems

Unit I and Unit II

Page 2: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Syllabus – Unit I Operating System Concepts Real-Time Tasks and Types Types of Real-Time Systems Real-Time Operating Systems

Page 3: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

UNIT I

Page 4: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Operating System

Manager: CPU, I/O, memory Abstraction: Hides details of h/w from the user Layers of protection: Users…supervisor Support: Applications run above Bit length and OS: 32-bit…64-bit 32-bit Windows 7 or 64-bit Windows 7 No. of apps don’t run on 64-bit ver ! Many cross compilers, IDEs don’t run on 64-bit ver !

Page 5: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

What’s an embedded system?

Wiki: An embedded system is a special-purpose

system in which the computer is completely encapsulated by or dedicated to the device or system it controls.

Page 6: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Embedded Operating Systems Why Embedded Systems need OS? They are complex, run multiple tasks , have many I/Os and

networks to manage

Page 7: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Embedded Operating Systems

eCos Embedded Linux RTLinux FreeDOS FreeRTOS LynxOS RTOS MicroSuse NetBSD OpenBSD Inferno (operating

system) ITROM

OSE OS-9 QNX RTEMS RTXC Quadros VxWorks Windows CE Windows XP Embedded SymbianOS T2 SDE

Page 8: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Network OS (NOS) Specialized in managing networked systems alone E.g.: Windows NT, Microsoft server, Novell Netware

Page 9: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Layers of OS

Page 10: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

History of OS MSDOS: 1980-81 Unix: 1970, Ken Thomson and Dennis Ritchie Windows: 1990s… Windows 3.0 Linux: 1991, Linus Torvalds

Page 11: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Functions - OS Process management Memory management I/O Management File Management Support to Multiprogramming Protection Security Network management

Page 12: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Kernel Functions Interrupt handling Task creation and scheduling Inter Process communication Support for I/O devices Memory allocation and deallocation File system management Network management

Page 13: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Facts - kernel While loading OS, specific kernel options have to be

configured. This is w.r.t. h/w Changing Mother Board, Processor, memory require

kernel updates For E.S. boards, it is important to know type of board so

that kernel can be selected and configured

Page 14: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Types of Kernel Monolithic Kernel Microkernel

Page 15: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Monolithic Kernel It has simple design and is a large single process Runs entirely in single address space i.e.: kernel space

and in supervisory mode Kernel is bulky and is difficult to extend and maintain E.g.: Unix, Linux, MSDOS

Page 16: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Monolithic Kernel

Page 17: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Microkernel It is minimum amount of software to provide the

mechanisms needed to implement an OS mechanisms => low-level address, space management,

thread management, and IPC Kernel is broken down into separate processes (servers) Some of the processes (servers) run in kernel space and

some run in user-space E.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel

3.0 by CMU

Page 18: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Microkernel

Page 19: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Tasks/Processes A program in execution is a process Task or a job can also be used to denote process Process can be in any one of 5 states broadly

1. New2. Ready3. Running4. Blocked5. Exit

For each task there is Task Control Block (TCB)

Page 20: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

State transition diagram of a process

Page 21: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Task (Process) Control Block

Page 22: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Multitasking Time multiplexing Context Context switch Overhead

Page 23: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Task scheduling Techniques, methods.. Time, priority, order?? Scheduling policy of OS decides CPU bound tasks and I/O bound tasks CPU bound tasks are computation intensive I/O bound tasks need more I/O time

Page 24: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Quality points that rate Scheduling algorithms

CPU utilization: % of time CPU working Response time: task waiting for CPU to respond Turnaround time (TAT): time interval from which the task

is presented to the system to the instance at which task exits after completion

Throughput rate: No. of tasks processed in unit time

Page 25: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Scheduling Algorithms

1. Non-preemptive scheduling Co-operative scheduling Shortest job next Priority based scheduling

2. Preemptive scheduling Round robin scheduling Pre-emptive priority Pre-emptive SJN/ Shortest remaining time (SRT)

Page 26: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Threads

Page 27: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Interrupt Handling In OS interrupts are used either with h/w support or by

pure software ISR Interrupt latency Sequence of actions following an interrupt: Saving current context Determine ID of the interrupt Switch to new context Starting the execution of interrupt handler (ISR)

Page 28: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Interrupts and Task Switching Task switching is accomplished by the mechanism of

interrupts

The total switching latency =interrupt latency + dispatch latency

Page 29: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Inter Process (Task) Communications (IPC)

Where is communication needed? Processes in the same machine, and processes in

different machines might need to communicate to share data, or to send queries and receive responses Two of the task communication methods are

i) Shared memoryii) Message passing – e.g.: Semaphores, Pipes, Mailbox, RPC

Page 30: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Shared Memory

Page 31: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Message Passing

Page 32: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Producer – Consumer Paradigm Sender – receiver communication is a Producer –

Consumer Paradigm Consumer consumes if producer produces Producer needs to produce as long as consumer

consumes it Bounded buffer problem: sender side…receiver side

Page 33: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Task SynchronizationThere are three aspects to it. First, how different tasks with conflicting actions can

cause havoc. Second, how to avoid such situations and third, if such a

situation occurs, how to get out of it.

Page 34: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Task Synchronization Race Condition Critical Section Solution to Race Condition Automicity Disable interrupts Locks - mutex

Page 35: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Deadlocks What is Deadlock? What are the Necessary conditions? Mutual exclusion Hold & wait Non-Preemption Circular Wait

How to deal with them? Ignore, avoid, prevent, detect and recover

Page 36: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Tasks and their Conflicts Priority Inversion ? Solution to this : Priority Inheritance and Priority Ceiling

Page 37: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Device Drivers in OS What are they? What are the types? What are the design issues?

Page 38: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Layers Associated with Device Driver

I/O Service I/O Request

Page 39: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Real-Time Systems & Real-time Tasks It consists of many tasks with at least one time

constrained task Real-Time tasks Hard real-time and Soft real-time Can be pre-emptive or non-preemptive Periodic, Aperiodic, Sporadic

Page 40: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

What does an RTOS do?

Page 41: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Kernel Services of an RTOS

Page 42: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Real-time Scheduling Algorithms

Page 43: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

UNIT II

Page 44: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Syllabus – Unit II Processor basics Integrated Processors:

SOC History of ARM

Processors Hardware Platforms ARM Architecture Interrupt Vector Table ARM Programming

Assembly Language Instruction Set Read only and Read-Write

Memory ARM9 ARM-Cortex-M3 Case Study of BeagleBone

Black Board

Page 45: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Embedding: Multiple processors, memories, multiple standard source solutions (IP Cores), analog units

SYSTEM-ON-CHIP (SOC)

Page 46: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

A SOC Embedded System-with two internal ASICs, two internal processor and peripheral interfaces

ASIPs

Program data and memory Port

IPs

Data Address generator

Program Address generator

Multiprocessor DSP

RISC processor

Other Digital circuits-Timer,MUXs

Port Interfaces

DMAC

Interrupt Controller

Analog circuits,A /D

EEPROM

Page 47: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

History of the ARM Processor Acorn Computers Ltd. (UK) developed ARM1,

ARM2…ARM5 Acorn Computers Ltd. + Apple Computers + VLSI Tech.

Group Advanced RISC Machines Ltd. ARM6, ARM 7 …most popular and still widely used ARM9, ARM10 ,ARM11 CORTEX 90% of embedded 32-bit RISC processors used are ARM

processors

Page 48: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

The ARM Core What is meant by the ‘core’? The core is the ‘processing unit’ or the ‘computing

engine’ It has all the computing power, and this aspect is

decided by the architecture, which represents the basic design of the processor

The ARM Microcontroller is ARM core with peripherals added to it

Page 49: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

ARM SOC – Core with Peripherals

Page 50: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

The RISC Architecture These apply to most of the instructions of ARM1) Instructions are of the same size, that is, 32 bits2) Instructions are executed in one cycle3) Only the load and store instructions access memory

Page 51: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Advanced Features of ARM Thumb MMU and MPU Cache Debug interface Embedded ICE macrocell Fast multiplier Enhanced instructions Jazelle DBX (Direct Bytecode eXecution) Vector floating point unit Synthesizable

Page 52: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes
Page 53: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes
Page 54: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes
Page 55: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Features of ARM which make it special Data bus width Computational capability Low Power Pipelining Multiple Register instructions DSP Enhancements

Page 56: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes
Page 57: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Operating Modes Of ARM

Page 58: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Register Set

Page 59: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes
Page 60: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes
Page 61: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

CPSR

Page 62: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Interrupt Vector Table

Page 63: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Programming the ARM processor Can be done in Assembly as well as in high level languagesAssembly Language Programming: Instruction set

features:1) Instructions are of the same size, that is, 32 bits2) Only the load and store instructions access memory3) Barrel shifter..more than I bit of shift/rotation4) Conditions can be appended to the instructionsData Types and Data Alignment: 32-bit…2 words each 16-bits…byte Both Little Endian and Big Endian supported 4 banks of memory

Page 64: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Instruction Set

Page 65: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Data Processing Instructions Move

Shift

Move and Shift together

Page 66: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Conditional Execution

Page 67: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes
Page 68: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Data Processing Instructions Arithmetic

Page 69: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Data Processing Instructions Logical

Compare

Page 70: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes
Page 71: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Load-Store Instructions

Page 72: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Branch Instructions

Page 73: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Loading constants-immediate mode ARM has the limitation that its instruction size should nor

exceed 32 bits This means that the constant should fit in the word

length of 32 bits along with the opcode, condition code, register code and other information

So, we can’t have a 32-bit constant embedded in the instruction!

ARM uses an ingenious technique… the use of rotation of a small number to generate a large number

Page 74: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Constants

Page 75: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Multiple Load and Store

Page 76: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Readonly and Read/Write Memory The two memory areas defined by the compiler are

‘Readonly’ for code and ‘Read/write’ memory for data This corresponds to ROM and RAM RAM is used for intermediate results, for temporary

storage, etc., as this is volatile memory In the readonly memory, data is written using directives

like DCD, DCW, etc.

Page 77: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

ARM 9

Page 78: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

ARM 9 32-bit Harvard Architecture 5-stage pipeline DSP instructions E.g.: LPC29XX (2917, 2919, 2927, 2927) 125 MHz core, 2.0 USB host-device, CAN, LIN, 56KB

SRAM, 768KB Flash, three10-bit ADC, multiple serial & parallel interfaces

Page 79: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

ARM Cortex-M3

Page 80: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

ARM Cortex-M3 Up to 100 MHz CPU frequency 3-stage pipeline Harvard architecture Separate instruction, data and peripheral bus 64 KB SRAM, 512KB Flash Ethernet MAC, USB host-device 8-channel DMA controller 4 UARTs, 2 CAN ports, 2-SSP controllers, SPI interface 3 I2C interfaces, 8-channel 12-bit ADC, 10-bit DAC, PWM 4 timers, RTC, 70 general purpose I/O pins

Page 81: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

BeagleBone Black low-cost, open source, community-supported development

platform for ARM® Cortex™-A8 processor developers and hobbyists

Shipped with the Debian GNU/Linux™ in onboard FLASH Other Linux distributions and operating systems are also

supported on BeagleBone Black including: Ubuntu, Android, Fedora

http://www.ti.com/tool/beaglebk http://beagleboard.org/ http://elinux.org/Beagleboard:BeagleBoneBlack – to get all h/w

details Blogs

Page 82: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

BeagleBone Black

Page 83: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

BeagleBone Black – Features Processor : 1GHz AM3359 Sitara ARM Cortex-A8 512 DDR Memory On-chip 10/100 Ethernet 512MB DDR3 RAM 4GB 8-bit eMMC on-board flash storage with Debian GNU/Linux 3D graphics accelerator NEON floating-point accelerator 2x PRU 32-bit microcontrollers USB client for power & communications USB host Ethernet HDMI 2x 46 pin headers

Page 84: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

BeagleBone Black – Programming BoneScript JavaScript C++ programming with Eclipse IDE with CDT

Page 85: Embedded Operating Systems · PDF fileE.g.: MINIX by A. Tanenbaum, QNX (RTOS), Mach kernel 3.0 by CMU. Microkernel. Tasks/Processes

Thank you