View
584
Download
3
Embed Size (px)
Citation preview
Team Emertxe
Embedded Operating SystemLinux
Contents
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
Linux as Embedded OS
Embedded Linux
● Open Source & Free Software Fundamentals
● Why to choose Linux
● Architecture
● Choices to Make
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!
● 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?
OS Databases Server/Cloud Enterprise
Consumer Education CMS eCommerce
Open SourceWhere it stands now?
● 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?
● 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!
● Modularity and Structure
● Readability of Code
● Extensibility
● Configurable
● Predictability
● Error Recovery
● Longevity
Embedded LinuxWhy Choose! – Quality and Reliability of Code
● 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
● Which kernel to use?
● Which development environment:
● Which compiler, debugger, dev boards?
● Which drivers and libraries?
● Support and training?
Embedded LinuxChoices to Make
Target Development & Environment
Embedded Development & Environment
● Typical System Components
● Hardware Tools and Interfacing
● Software Environments Tools
● Toolchains
Typical System Components
Hardware
Boot Loaders
Operating System
Libraries
Applications
Tools
Embedded Development & EnvironmentHardware Tools and Interfacing
Possible Connections
Serial
Network
USB
JTAG
Emulators
OTA
Embedded Development & EnvironmentSoftware Environment Tools
Serial
Network
minicom
gtkterm
TFTP
NFS
Booting Sequences
Booting Sequence
● Linux as general
● Target Board
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
File Systems
File Systems
● Introduction
● Building FS from scratch
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
Thank You