Nothing Special   »   [go: up one dir, main page]

Embedded Linux

Download as pdf or txt
Download as pdf or txt
You are on page 1of 47

EmbeddedLinux

By

Er.Shishir Adhikari

DiscussionTopics

WhatisanembeddedOperatingSystem LinuxasanembeddedOS Buildingkernel Toolsanddevelopment WhoaretheEmbeddedOSdevelopers Applicationsandproducts TheembeddedOSmarket EmbeddedOSResources

WhatisanEmbeddedOS?
computersystemthatperformsa

dedicatedfunctionorisdesigned forusewithaspecificembedded softwareapplication.


EmbeddedsystemsmayuseaROM

basedoperatingsystemorthey mayuseadiskbasedsystem,like aPC.

WhatmakesagoodEmbeddedOS?
Modular Scalable Configurable Smallfootprint CPUsupport Devicedrivers

WhyLinuxasEmbeddedOS?

Royaltyfreelicensing ReliableIPstackandTCP/IP Applications SourcecodefortheOSKernelisOpen SourcecodefortheToolchainsisOpen

WhyLinuxasEmbedded OS?....
Multiplechoicesvs.solesource Robustandreliable Modular,configurable,scalable Superbsupportfornetworkingand

Internet Largepoolofskilleddevelopers

WhyLinuxasEmbedded OS?....
Itisverymodularinnature,

sinceallfeaturesofthesystem thatarenotneededfora specificembeddedsystemcanbe removedfromthekernel. Inaddition,Linuxhasbeen portedsuccessfullytoalarge numberofprocessor architectures,whichallowsitto runonmanydifferenttypesof

WhyLinuxasEmbeddedOS?
ProcessorssupportedbyLinux:

Intel386processors, ARM, CRIS(i.e.ETRAX100LXfromAxis Communications), Motorola68000series, Sparc(SunWorkstations), PowerPC,MIPS,s390(mainframe) andseveralothers.

Thingstoconsiderwhileusing linuxasEmbeddedOS
Whichprocessorsaresupportedby

linux? Whatfeaturesareneededinthe kernelfortheembeddedsystem? Forexample,Linuxcanbeboot fromaROMchipratherthanSCSI harddisk,CDROMs. Devicedriverstobeincluded?

Thingstoconsiderwhileusing linuxasEmbeddedOS
Requirerealtimefeatures? Arealtimeoperatingsystemis

onethathasaguaranteed responsetimetointerrupts. ItispossibletoconvertLinux intoarealtimesystemhowever.

WhatisRealTime?
Arealtimesystemisoneinwhich thecorrectnessofthe computationsnotonlydepends uponthelogicalcorrectnessof thecomputationbutalsouponthe timeatwhichtheresultis produced.Ifthetiming constraintsofthesystemarenot DonaldGillies met,systemfailureissaidto haveoccurred.

WhatisRealTime?
Realtimeinoperatingsystems: Theabilityoftheoperating systemtoprovidearequired levelofserviceinabounded responsetime.
POSIXStandard1003.1

Hardvs.SoftRealTime
Hard wheretheoperationmustbe completedwithinthedeadline, andisvaluelessbeyondthis deadline. Soft Taskscompletedaftertheir respectivedeadlinesareless importantthanthosewhose deadlineshavenotyetexpired.

LinuxRealTimeExtensions

InordertomakeLinuxintoarealtime operatingsystem,thekernelitselfis modifiedslightlysoitcanrunasa taskunderarealtimescheduling process. Inthiscase,adeveloperhasachoice whencreatingsoftwarethathandles interrupt. StandardLinuxdevicedriver(interrupt responsetimeisnotguaranteed)

BuildingaLinuxKernel
Firstdownloadthekernelsource

codehttp://www.kernel.org/,or ftp://ftp.kernel.org/ extractit(uncompress)soyou canbuildit/usr/src/linux folder cd/usr/src tarxzvf<path>/linux 2.2.4.tar.gz

BuildingaLinuxKernel..

Nextselecttheoptionsyouwouldlike includedintothekernel. Runthe'make'command,followedby either'config'(textmodeonly), 'menuconfig'(textmodewithmenus),or xconfig(XWindowsconfigurationmode). #makemenuconfig #makexconfig #aptgetinstallbuildessential (developmenttoolforNepalinux)

Gothroughallthemenuchoices

andenableordisableoptionsand devicedriversasneeded /usr/src/linux/Documentation folderandsubfoldersmany optionsandsettingsdescribed there. Exitandsaveyoursettings. Thesevaluesaresavedinafile named'.config'inthe/ usr/src/linuxfolder

KernelTypes
Kernelmonolithicormodular MonolithickernelLinuxdevice

driversbuiltintothekernel itself.Automaticallyloadedwith kernel. ModularkernelDevicedrivers canbebuiltasmodules.The devicedriverwillhavetobe installedusingscriptsbefore attemptingtousethedevice.

Forembeddedsystems,monolithic

kernelispreferred. Youshouldonlyincludethose specificdevicesthatyoumust supporttogetthesmallest kernelavailable. Forexample,ifyourembedded devicedoesnothavenetwork cards,noneedtoincludeany networkingsupportatallinthe kernel.

Crosscompilerfordifferent EmbeddedProcessor
Crosscompiler Generatestheopcodesforthe

targetprocessor,insteadforthe processorrunningonyour computer. Crosscompilersforalmostall processorssupportedbyLinuxare availablefromtheGNU organizationat http://www.gnu.org/

Buildingkernelforthesame processorarchitecture

#makedep Thiswillscanallthesourcecodeand headerfiles,reads.configfileand updatesvariousinterdependencies betweenkernelsourcecodefilesand options. Thenbuildthekernelitself #makezImage(usinggzipcompression algorithm) #makebzImage(usingbzip2)

Thekernelwilluncompressitself

ontheflywhenattemptingto boot. Thisisdonebyaddingasmall bitof'uncompression'codeto thebeginningofthekernel itself. Duringboottime,thekernelwill thenextractthe'real'kernel fromthefiletomemoryand continuetoboot.

Thekernelimagefile/

usr/src/linux/arch/<arch type>/bootdirectory. zImageorbzImage,dependingon whichtypeofcompressionoption youselected. Putonfloppy,CDROMorFlash ROMorotherbootabledeviceto startrunningLinux.

WhoaretheEmbeddedOSdevelopers?
WindRiverSystems

VxWorks pSOS QNX Integrity

QNXSoftwareSystems

GreenHillsSoftware

WhoaretheEmbeddedOSdevelopers?
MentorGraphics

VRTX PalmOS SymbianOS

PalmComputing

Symbian

Microsoft

EmbeddedNT/XP Realtimecontrol WindowsCE variationofMicrosoft'sWindows operatingsystemforminimalistic computersandembeddedsystems. supportedonIntelx86,MIPS,ARM, andHitachiSuperHprocessors. PocketPC2002 HandheldPCsandPDAs

CommercialEmbeddedLinux

AMIRIXEmbeddedLinux

derivedfromDebian combinesLinuxandJavaforInternetapps kernelcanbeassmallas143KB 400K,designedforwirelessapps

CoollogicCoollinux

CoventiveXlinux

EsfiaRedBlueLinux

CommercialEmbeddedLinux

KYZOPizzaBoxLinux

SAMBAbasedfile,print,CDserver supportsrealtimeandhighavailability apps generalpurposeembeddedsolution generalpurposeembeddedsolution

LineoEmbedix

LynuxWorksBlueCat

MontaVistaLinux

CommercialEmbeddedLinux

NeowareNeoLinux

RedHatderivedforinformationappliances Internetappliuanceandmultimedia generalpurposeembeddedsolution runsfromDiskonChiporCompactFlash

PalmPalmTynux

RedHatEmbeddedLinux

RedSonicRedIceLinux

CommercialEmbeddedLinux

RidgeRunDSPLinux

formultimedia,wireless,RTonDSP lowlatencyenhancedkernel distrotargetsInternetappliances forARMbasedembeddedapps

TimeSysLinuxGPL

TuxiaTASTE

VitalSystemsvLinux

OpenSourceEmbeddedLinux

EmbeddedDebianProject

convertDebiantoanembeddedOS forPC104SBCs formicroprocessorsthatdonthaveMM distrofitsonasinglefloppy

ETLinux

uCLinux

uLinux(muLinux)

OpenSourceLinuxRTOS

ARTLinux realtimeextensionbasedonRTLinux KURT eventscheduleswith10usresolution LinuxSRT forsoftrealtimeappslike multimedia Qlinux providesQualityofService guarantees RTAI hardRealTimeApplication

CommercialLinuxRTOS

ThinLinuxaminimizedLinuxdistribution
fordedicatedcameraservers,X10 controllers,MP3players FSMLabsOpenRTLinux LineoEmbedixRealtime LynuxWorksBlueCatRT REDSonicREDICELinux

RTLinux

Ahardrealtimeminioperating system runsLinuxasitslowestpriority executionthread Linuxthreadcompletelypreemptible Realtimethreadsandinterrupt handlersneverdelayedbynonrealtime operations Supportsuserlevelprogramming MiniRTLimplementationfitsonafloppy

WhatssospecialaboutLinux?

WhatCPUswillitrunon?
IntelX86 MIPS ARM StrongARM PowerPC HitachiSuperH

AnyDevelopmentTools Available?
QT/Embedded OtherGUI/Windowingtoolkits ArcomControlSystems GNUProTools Vendorspecific StandardLinuxtoolset

WhatsItBeingUsedFor?
ControlandMonitoring

Applications IndustrialControllers TVSetTopBoxes(TiVO) HandheldPDAs AutomobileComputers TelecommandNetworkingHardware Myriadandsundryotheruses...

CycladesTS100

NetlinosOS Dual50MHzPowerPC 16MBSDRAM4MBFlash Ethernet/Serial/RS485 Sizeofadeckofcards

SharpZaurus
LineoEmbedix 206MHzStrongARM 64MBDRAM16MBFlash 3.5display(320x240)

64Kcolors Operabrowser&Qtopia QT/EmbeddedGUI

TiVOSetTopBox

HomegrownportofEmbeddedLinux 54MHzPowerPC MultiGBharddisk

Axis2120NetworkCamera

uCLinux BuiltinEthernetport 100MHzETRAXCPU 16MBRAM

HumanoidRobots
Univ.of

Tokyo/Kawanda Ind. DualPentiumCPU RTLinux Height:53inches Weight:121lbs.


Isamu

HumanoidRobots

HOAP

Fujitsu RTLinux Height:48cm Weight:6kg 100units/yr

ForFurtherInfo
WebSites

BlueCatLinuxat

http://www.lynuxworks.com/ HardHatLinuxat http://www.mvista.com/ RTLinuxat http://www.rtlinux.com/ ThinLinuxat http://www.thinlinux.com/ WhiteDwarfLinuxat http://www.emjembedded.com/linux/dimm

ForFurtherInfo
WebSites

LinuxEmbeddedat

http://linuxembedded.com/ LinuxDevices.com http://www.linuxdevices.com/ EmbeddedLinuxConsortium http://www.embeddedlinux.org/index.p AllLinuxDevices http://alllinuxdevices.com/

ForFurtherInfo
WebSites/Magazines

Dr.DobbsEmbeddedSystems http://www.ddjembedded.com/about/ EmbeddedLinuxJournal http://embedded.linuxjournal.com/ EmbeddedSystemsProgramming http://www.embedded.com/mag.htm

You might also like