Embedded Linux
Embedded Linux
By
Er.Shishir Adhikari
DiscussionTopics
WhatisanEmbeddedOS?
computersystemthatperformsa
WhatmakesagoodEmbeddedOS?
Modular Scalable Configurable Smallfootprint CPUsupport Devicedrivers
WhyLinuxasEmbeddedOS?
WhyLinuxasEmbedded OS?....
Multiplechoicesvs.solesource Robustandreliable Modular,configurable,scalable Superbsupportfornetworkingand
Internet Largepoolofskilleddevelopers
WhyLinuxasEmbedded OS?....
Itisverymodularinnature,
WhyLinuxasEmbeddedOS?
ProcessorssupportedbyLinux:
Thingstoconsiderwhileusing linuxasEmbeddedOS
Whichprocessorsaresupportedby
Thingstoconsiderwhileusing linuxasEmbeddedOS
Requirerealtimefeatures? Arealtimeoperatingsystemis
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
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
Forembeddedsystems,monolithic
kernelispreferred. Youshouldonlyincludethose specificdevicesthatyoumust supporttogetthesmallest kernelavailable. Forexample,ifyourembedded devicedoesnothavenetwork cards,noneedtoincludeany networkingsupportatallinthe kernel.
Crosscompilerfordifferent EmbeddedProcessor
Crosscompiler Generatestheopcodesforthe
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/
WhoaretheEmbeddedOSdevelopers?
WindRiverSystems
QNXSoftwareSystems
GreenHillsSoftware
WhoaretheEmbeddedOSdevelopers?
MentorGraphics
PalmComputing
Symbian
Microsoft
EmbeddedNT/XP Realtimecontrol WindowsCE variationofMicrosoft'sWindows operatingsystemforminimalistic computersandembeddedsystems. supportedonIntelx86,MIPS,ARM, andHitachiSuperHprocessors. PocketPC2002 HandheldPCsandPDAs
CommercialEmbeddedLinux
AMIRIXEmbeddedLinux
CoollogicCoollinux
CoventiveXlinux
EsfiaRedBlueLinux
CommercialEmbeddedLinux
KYZOPizzaBoxLinux
LineoEmbedix
LynuxWorksBlueCat
MontaVistaLinux
CommercialEmbeddedLinux
NeowareNeoLinux
PalmPalmTynux
RedHatEmbeddedLinux
RedSonicRedIceLinux
CommercialEmbeddedLinux
RidgeRunDSPLinux
TimeSysLinuxGPL
TuxiaTASTE
VitalSystemsvLinux
OpenSourceEmbeddedLinux
EmbeddedDebianProject
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
CycladesTS100
SharpZaurus
LineoEmbedix 206MHzStrongARM 64MBDRAM16MBFlash 3.5display(320x240)
TiVOSetTopBox
Axis2120NetworkCamera
HumanoidRobots
Univ.of
HumanoidRobots
HOAP
ForFurtherInfo
WebSites
BlueCatLinuxat
ForFurtherInfo
WebSites
LinuxEmbeddedat
ForFurtherInfo
WebSites/Magazines