25
Team Emertxe Embedded Operating System Linux

Embedded Linux - Introduction to Embedded OS

Embed Size (px)

Citation preview

Page 1: Embedded Linux - Introduction to Embedded OS

Team Emertxe

Embedded Operating SystemLinux

Page 2: Embedded Linux - Introduction to Embedded OS

Contents

Page 3: Embedded Linux - Introduction to Embedded OS

Embedded Operating System - LinuxContents

● Embedded Systems Introduction

● Linux as Embedded Operating System

● Embedded Development and its Environment

● Overview of the Target – Peripherals and Interfacing

● Booting Sequences

● Embedded Linux Kernel

● File Systems

● Embedded Linux Application Programming

Page 4: Embedded Linux - Introduction to Embedded OS

Linux as Embedded OS

Page 5: Embedded Linux - Introduction to Embedded OS

Embedded Linux

● Open Source & Free Software Fundamentals

● Why to choose Linux

● Architecture

● Choices to Make

Page 6: Embedded Linux - Introduction to Embedded OS

Open SourceHow it all started?

● With GNU (GNU is not UNIX)

● Richard Stallman made the initial announcement in 1983, Free Software Foundation (FSF) got formed during 1984

● Volunteer driven GNU started developing multiple projects, but making it as an operating system was always a challenge

● During 1991 a Finnish Engineer Linus Torvalds developed core OS functionality, called it as “Linux Kernel”

● Linux Kernel got licensed under GPL, which laid strong platform for the success of Open Source

● Rest is history!

Page 7: Embedded Linux - Introduction to Embedded OS

● Multiple Linux distributions started emerging around the Kernel

● Some applications became platform independent

● Community driven software development started picking up

● Initially seen as a “geek-phenomenon”, eventually turned out to be an engineering marvel

● Centered around Internet

● Building a business around open source started becoming viable

● Redhat set the initial trend in the OS business

Open SourceHow it evolved?

Page 8: Embedded Linux - Introduction to Embedded OS

OS Databases Server/Cloud Enterprise

Consumer Education CMS eCommerce

Open SourceWhere it stands now?

Page 9: Embedded Linux - Introduction to Embedded OS

● 4 Freedoms

– Copy,

– Study,

– Change,

– Use

● The above freedom are for both commercial and non-commercial use

● Free Software Licenses – GNU GPL and GNU FDL

Free SoftwareWhat does it mean?

Page 10: Embedded Linux - Introduction to Embedded OS

● Quality and Reliability of Code

● Availability of Code

● Hardware Support

● Communication Protocols and Software Stds

● Available Tools

● Community Support

● Licensing

● Vendor Independence

● Cost

Embedded LinuxWhy Choose!

Page 11: Embedded Linux - Introduction to Embedded OS

● Modularity and Structure

● Readability of Code

● Extensibility

● Configurable

● Predictability

● Error Recovery

● Longevity

Embedded LinuxWhy Choose! – Quality and Reliability of Code

Page 12: Embedded Linux - Introduction to Embedded OS

● ARM

– Suits well for Embedded

– Include THUMB – reduce code bandwidth

– High density code than PPC, x86.

● Power PC

– Intended for PC

– Have become popular in embedded

● Strong ARM

– Faster CPU – Higher Performance

– PDAs, Setup box etc.,

● MIPS

And many more !!

Embedded LinuxPorted Architectures

Page 13: Embedded Linux - Introduction to Embedded OS

● Which kernel to use?

● Which development environment:

● Which compiler, debugger, dev boards?

● Which drivers and libraries?

● Support and training?

Embedded LinuxChoices to Make

Page 14: Embedded Linux - Introduction to Embedded OS

Target Development & Environment

Page 15: Embedded Linux - Introduction to Embedded OS

Embedded Development & Environment

● Typical System Components

● Hardware Tools and Interfacing

● Software Environments Tools

● Toolchains

Page 16: Embedded Linux - Introduction to Embedded OS

Typical System Components

Hardware

Boot Loaders

Operating System

Libraries

Applications

Tools

Page 17: Embedded Linux - Introduction to Embedded OS

Embedded Development & EnvironmentHardware Tools and Interfacing

Possible Connections

Serial

Network

USB

JTAG

Emulators

OTA

Page 18: Embedded Linux - Introduction to Embedded OS

Embedded Development & EnvironmentSoftware Environment Tools

Serial

Network

minicom

gtkterm

TFTP

NFS

Page 19: Embedded Linux - Introduction to Embedded OS

Booting Sequences

Page 20: Embedded Linux - Introduction to Embedded OS

Booting Sequence

● Linux as general

● Target Board

Page 21: Embedded Linux - Introduction to Embedded OS

Booting SequenceLinux as general

System Start-up BIOS / Boot Monitor

Stage 1 Boot Loader Master Boot Record

Stage 2 Boot Loader LILO, GRUB, etc

Kernel Linux

Init User Application

Page 22: Embedded Linux - Introduction to Embedded OS

File Systems

Page 23: Embedded Linux - Introduction to Embedded OS

File Systems

● Introduction

● Building FS from scratch

Page 24: Embedded Linux - Introduction to Embedded OS

File SystemsBuilding from scratch

● File systems can be created manually but

– Would be time consuming

– Lots of dependencies

– Lots of components have to be integrated like binaries, libraries, scripts, configuration files etc.

– Customization for embedded would be challenging

– Many more..

● So BusyBox is an alternative solution

Page 25: Embedded Linux - Introduction to Embedded OS

Thank You