You are on page 1of 13

19/12/2015

EmbeddedsystemWikipedia,thefreeencyclopedia

Embeddedsystem
FromWikipedia,thefreeencyclopedia

Anembeddedsystemisacomputersystemwitha
dedicatedfunctionwithinalargermechanicalor
electricalsystem,oftenwithrealtimecomputing
constraints.[1][2]Itisembeddedaspartofacomplete
deviceoftenincludinghardwareandmechanical
parts.Embeddedsystemscontrolmanydevicesin
commonusetoday.[3]98percentofall
microprocessorsbeingmanufacturedareusedin
embeddedsystems.[4]
Examplesofpropertiestypicalofembedded
computerswhencomparedwithgeneralpurpose
counterpartsarelowpowerconsumption,smallsize,
PictureoftheinternalsofanADSLmodem/router,
ruggedoperatingranges,andlowperunitcost.This
amodernexampleofanembeddedsystem.
comesatthepriceoflimitedprocessingresources,
Labelledpartsincludeamicroprocessor(4),RAM
whichmakethemsignificantlymoredifficultto
(6),andflashmemory(7).
programandtointerfacewith.However,bybuilding
intelligencemechanismsonthetopofthehardware,
takingadvantageofpossibleexistingsensorsandtheexistenceofanetworkofembeddedunits,onecan
bothoptimallymanageavailableresourcesattheunitandnetworklevelsaswellasprovideaugmented
functionalities,wellbeyondthoseavailable.[5]Forexample,intelligenttechniquescanbedesignedto
managepowerconsumptionofembeddedsystems.[6]
Modernembeddedsystemsareoftenbasedonmicrocontrollers(i.e.CPUswithintegratedmemoryor
peripheralinterfaces),[7]butordinarymicroprocessors(usingexternalchipsformemoryandperipheral
interfacecircuits)arealsocommon,especiallyinmorecomplexsystems.Ineithercase,theprocessor(s)
usedmaybetypesrangingfromgeneralpurposetothosespecialisedincertainclassofcomputations,or
evencustomdesignedfortheapplicationathand.Acommonstandardclassofdedicatedprocessorsis
thedigitalsignalprocessor(DSP).
Sincetheembeddedsystemisdedicatedtospecifictasks,designengineerscanoptimizeittoreducethe
sizeandcostoftheproductandincreasethereliabilityandperformance.Someembeddedsystemsare
massproduced,benefitingfromeconomiesofscale.
EmbeddedsystemsrangefromportabledevicessuchasdigitalwatchesandMP3players,tolarge
stationaryinstallationsliketrafficlights,factorycontrollers,andlargelycomplexsystemslikehybrid
vehicles,MRI,andavionics.Complexityvariesfromlow,withasinglemicrocontrollerchip,tovery
highwithmultipleunits,peripheralsandnetworksmountedinsidealargechassisorenclosure.

Contents
1 Varieties
2 History
https://en.wikipedia.org/wiki/Embedded_system

1/13

19/12/2015

EmbeddedsystemWikipedia,thefreeencyclopedia

3 Characteristics
3.1 Userinterface
3.2 Processorsinembeddedsystems
3.2.1 Readymadecomputerboards
3.2.2 ASICandFPGAsolutions
3.3 Peripherals
3.4 Tools
3.5 Debugging
3.5.1 Tracing
3.6 Reliability
3.7 Highvslowvolume
4 Embeddedsoftwarearchitectures
4.1 Simplecontrolloop
4.2 Interruptcontrolledsystem
4.3 Cooperativemultitasking
4.4 Preemptivemultitaskingormultithreading
4.5 Microkernelsandexokernels
4.6 Monolithickernels
4.7 Additionalsoftwarecomponents
5 Seealso
6 Notes
7 References
8 Furtherreading
9 Externallinks

Varieties
https://en.wikipedia.org/wiki/Embedded_system

2/13

19/12/2015

EmbeddedsystemWikipedia,thefreeencyclopedia

Embeddedsystemsarecommonlyfoundinconsumer,cooking,
industrial,automotive,medical,commercialandmilitary
applications.
Telecommunicationssystemsemploynumerousembedded
systemsfromtelephoneswitchesforthenetworktocellphones
attheenduser.Computernetworkingusesdedicatedroutersand
networkbridgestoroutedata.
Consumerelectronicsincludepersonaldigitalassistants(PDAs),
mp3players,mobilephones,videogameconsoles,digital
cameras,DVDplayers,GPSreceivers,andprinters.Household
appliances,suchasmicrowaveovens,washingmachinesand
EmbeddedComputerSubAssembly
dishwashers,includeembeddedsystemstoprovideflexibility,
forAccupollElectronicVoting
efficiencyandfeatures.AdvancedHVACsystemsusenetworked
Machine[8]
thermostatstomoreaccuratelyandefficientlycontrol
temperaturethatcanchangebytimeofdayandseason.Home
automationuseswiredandwirelessnetworkingthatcanbeusedtocontrollights,climate,security,
audio/visual,surveillance,etc.,allofwhichuseembeddeddevicesforsensingandcontrolling.
Transportationsystemsfromflighttoautomobilesincreasinglyuseembeddedsystems.Newairplanes
containadvancedavionicssuchasinertialguidancesystemsandGPSreceiversthatalsohave
considerablesafetyrequirements.VariouselectricmotorsbrushlessDCmotors,inductionmotorsand
DCmotorsuseelectric/electronicmotorcontrollers.Automobiles,electricvehicles,andhybrid
vehiclesincreasinglyuseembeddedsystemstomaximizeefficiencyandreducepollution.Other
automotivesafetysystemsincludeantilockbrakingsystem(ABS),ElectronicStabilityControl
(ESC/ESP),tractioncontrol(TCS)andautomaticfourwheeldrive.
Medicalequipmentusesembeddedsystemsforvitalsignsmonitoring,electronicstethoscopesfor
amplifyingsounds,andvariousmedicalimaging(PET,SPECT,CT,MRI)fornoninvasiveinternal
inspections.Embeddedsystemswithinmedicalequipmentareoftenpoweredbyindustrialcomputers.[9]
Embeddedsystemsareusedintransportation,firesafety,safetyandsecurity,medicalapplicationsand
lifecriticalsystems,asthesesystemscanbeisolatedfromhackingandthus,bemorereliable.Forfire
safety,thesystemscanbedesignedtohavegreaterabilitytohandlehighertemperaturesandcontinueto
operate.Indealingwithsecurity,theembeddedsystemscanbeselfsufficientandbeabletodealwith
cutelectricalandcommunicationsystems.
Anewclassofminiaturewirelessdevicescalledmotesarenetworkedwirelesssensors.Wirelesssensor
networking,WSN,makesuseofminiaturizationmadepossiblebyadvancedICdesigntocouplefull
wirelesssubsystemstosophisticatedsensors,enablingpeopleandcompaniestomeasureamyriadof
thingsinthephysicalworldandactonthisinformationthroughITmonitoringandcontrolsystems.
Thesemotesarecompletelyselfcontained,andwilltypicallyrunoffabatterysourceforyearsbefore
thebatteriesneedtobechangedorcharged.
EmbeddedWiFimodulesprovideasimplemeansofwirelesslyenablinganydevicewhich
communicatesviaaserialport.

History

https://en.wikipedia.org/wiki/Embedded_system

3/13

19/12/2015

EmbeddedsystemWikipedia,thefreeencyclopedia

OneoftheveryfirstrecognizablymodernembeddedsystemswastheApolloGuidanceComputer,
developedbyCharlesStarkDraperattheMITInstrumentationLaboratory.Attheproject'sinception,
theApolloguidancecomputerwasconsideredtheriskiestitemintheApolloprojectasitemployedthe
thennewlydevelopedmonolithicintegratedcircuitstoreducethesizeandweight.Anearlymass
producedembeddedsystemwastheAutoneticsD17guidancecomputerfortheMinutemanmissile,
releasedin1961.WhentheMinutemanIIwentintoproductionin1966,theD17wasreplacedwitha
newcomputerthatwasthefirsthighvolumeuseofintegratedcircuits.Thisprogramalonereduced
pricesonquadnandgateICsfrom$1000/eachto$3/each,permittingtheiruseincommercialproducts.
Sincetheseearlyapplicationsinthe1960s,embeddedsystemshavecomedowninpriceandtherehas
beenadramaticriseinprocessingpowerandfunctionality.Anearlymicroprocessorforexample,the
Intel4004,wasdesignedforcalculatorsandothersmallsystemsbutstillrequiredexternalmemoryand
supportchips.In1978NationalEngineeringManufacturersAssociationreleaseda"standard"for
programmablemicrocontrollers,includingalmostanycomputerbasedcontrollers,suchassingleboard
computers,numerical,andeventbasedcontrollers.
Asthecostofmicroprocessorsandmicrocontrollersfellitbecamefeasibletoreplaceexpensiveknob
basedanalogcomponentssuchaspotentiometersandvariablecapacitorswithup/downbuttonsorknobs
readoutbyamicroprocessoreveninconsumerproducts.Bytheearly1980s,memory,inputandoutput
systemcomponentshadbeenintegratedintothesamechipastheprocessorformingamicrocontroller.
Microcontrollersfindapplicationswhereageneralpurposecomputerwouldbetoocostly.
Acomparativelylowcostmicrocontrollermaybeprogrammedtofulfillthesameroleasalargenumber
ofseparatecomponents.Althoughinthiscontextanembeddedsystemisusuallymorecomplexthana
traditionalsolution,mostofthecomplexityiscontainedwithinthemicrocontrolleritself.Veryfew
additionalcomponentsmaybeneededandmostofthedesigneffortisinthesoftware.Software
prototypeandtestcanbequickercomparedwiththedesignandconstructionofanewcircuitnotusing
anembeddedprocessor.

Characteristics
Embeddedsystemsaredesignedtodosomespecifictask,rather
thanbeageneralpurposecomputerformultipletasks.Somealso
haverealtimeperformanceconstraintsthatmustbemet,for
reasonssuchassafetyandusabilityothersmayhaveloworno
performancerequirements,allowingthesystemhardwaretobe
simplifiedtoreducecosts.
Embeddedsystemsarenotalwaysstandalonedevices.Many
embeddedsystemsconsistofsmall,computerizedpartswithina
largerdevicethatservesamoregeneralpurpose.Forexample,
theGibsonRobotGuitarfeaturesanembeddedsystemfortuning
thestrings,buttheoverallpurposeoftheRobotGuitaris,of
course,toplaymusic.[10]Similarly,anembeddedsysteminan
automobileprovidesaspecificfunctionasasubsystemofthecar
itself.

GumstixOveroCOM,atiny,
OMAPbasedembeddedcomputer
onmodulewithWifiandBluetooth.

Theprograminstructionswrittenforembeddedsystemsare
referredtoasfirmware,andarestoredinreadonlymemoryorFlashmemorychips.Theyrunwith
limitedcomputerhardwareresources:littlememory,smallornonexistentkeyboardorscreen.
https://en.wikipedia.org/wiki/Embedded_system

4/13

19/12/2015

EmbeddedsystemWikipedia,thefreeencyclopedia

Userinterface
Embeddedsystemsrangefromnouserinterfaceatall,insystems
dedicatedonlytoonetask,tocomplexgraphicaluserinterfaces
thatresemblemoderncomputerdesktopoperatingsystems.
Simpleembeddeddevicesusebuttons,LEDs,graphicor
characterLCDs(HD44780LCDforexample)withasimple
menusystem.
Moresophisticateddeviceswhichuseagraphicalscreenwith
touchsensingorscreenedgebuttonsprovideflexibilitywhile
minimizingspaceused:themeaningofthebuttonscanchange
withthescreen,andselectioninvolvesthenaturalbehaviorof
pointingatwhat'sdesired.Handheldsystemsoftenhaveascreen
witha"joystickbutton"forapointingdevice.
Somesystemsprovideuserinterfaceremotelywiththehelpofa
serial(e.g.RS232,USB,IC,etc.)ornetwork(e.g.Ethernet)
connection.Thisapproachgivesseveraladvantages:extendsthe
capabilitiesofembeddedsystem,avoidsthecostofadisplay,
simplifiesBSPandallowsonetobuildarichuserinterfaceon
thePC.Agoodexampleofthisisthecombinationofan
embeddedwebserverrunningonanembeddeddevice(suchas
anIPcamera)oranetworkrouter.Theuserinterfaceisdisplayed
inawebbrowseronaPCconnectedtothedevice,therefore
needingnosoftwaretobeinstalled.

econSystemseSOM270&
eSOM300ComputeronModules

Embeddedsystemtextuserinterface
usingMicroVGA[nb1]

Processorsinembeddedsystems
Embeddedprocessorscanbebrokenintotwobroadcategories.Ordinarymicroprocessors(P)use
separateintegratedcircuitsformemoryandperipherals.Microcontrollers(C)haveonchipperipherals,
thusreducingpowerconsumption,sizeandcost.Incontrasttothepersonalcomputermarket,many
differentbasicCPUarchitecturesareused,sincesoftwareiscustomdevelopedforanapplicationandis
notacommodityproductinstalledbytheenduser.BothVonNeumannaswellasvariousdegreesof
Harvardarchitecturesareused.RISCaswellasnonRISCprocessorsarefound.Wordlengthsvaryfrom
4bitto64bitsandbeyond,althoughthemosttypicalremain8/16bit.Mostarchitecturescomeina
largenumberofdifferentvariantsandshapes,manyofwhicharealsomanufacturedbyseveraldifferent
companies.
Numerousmicrocontrollershavebeendevelopedforembeddedsystemsuse.Generalpurpose
microprocessorsarealsousedinembeddedsystems,butgenerallyrequiremoresupportcircuitrythan
microcontrollers.
Readymadecomputerboards
PC/104andPC/104+areexamplesofstandardsforreadymadecomputerboardsintendedforsmall,
lowvolumeembeddedandruggedizedsystems,mostlyx86based.Theseareoftenphysicallysmall
comparedtoastandardPC,althoughstillquitelargecomparedtomostsimple(8/16bit)embedded
systems.TheyoftenuseDOS,Linux,NetBSD,oranembeddedrealtimeoperatingsystemsuchas
MicroC/OSII,QNXorVxWorks.Sometimestheseboardsusenonx86processors.
https://en.wikipedia.org/wiki/Embedded_system

5/13

19/12/2015

EmbeddedsystemWikipedia,thefreeencyclopedia

Incertainapplications,wheresmallsizeorpowerefficiencyarenotprimaryconcerns,thecomponents
usedmaybecompatiblewiththoseusedingeneralpurposex86personalcomputers.Boardssuchasthe
VIAEPIArangehelptobridgethegapbybeingPCcompatiblebuthighlyintegrated,physicallysmaller
orhaveotherattributesmakingthemattractivetoembeddedengineers.Theadvantageofthisapproach
isthatlowcostcommoditycomponentsmaybeusedalongwiththesamesoftwaredevelopmenttools
usedforgeneralsoftwaredevelopment.Systemsbuiltinthiswayarestillregardedasembeddedsince
theyareintegratedintolargerdevicesandfulfillasinglerole.Examplesofdevicesthatmayadoptthis
approachareATMsandarcademachines,whichcontaincodespecifictotheapplication.
However,mostreadymadeembeddedsystemsboardsarenotPCcenteredanddonotusetheISAor
PCIbusses.WhenaSystemonachipprocessorisinvolved,theremaybelittlebenefittohavinga
standarizedbusconnectingdiscretecomponents,andtheenvironmentforbothhardwareandsoftware
toolsmaybeverydifferent.
Onecommondesignstyleusesasmallsystemmodule,perhapsthesizeofabusinesscard,holdinghigh
densityBGAchipssuchasanARMbasedSystemonachipprocessorandperipherals,externalflash
memoryforstorage,andDRAMforruntimememory.Themodulevendorwillusuallyprovideboot
softwareandmakesurethereisaselectionofoperatingsystems,usuallyincludingLinuxandsomereal
timechoices.Thesemodulescanbemanufacturedinhighvolume,byorganizationsfamiliarwiththeir
specializedtestingissues,andcombinedwithmuchlowervolumecustommainboardswithapplication
specificexternalperipherals.
Implementationofembeddedsystemshaveadvanced,embeddedsystemscaneasilybeimplemented
withalreadymadeboardswhicharebasedonworldwideacceptedplatform.Theseplatformsincludebut
notlimitedtoarduino,raspberrypietc.
ASICandFPGAsolutions
Acommonarrayofnconfigurationforveryhighvolumeembeddedsystemsisthesystemonachip
(SoC)whichcontainsacompletesystemconsistingofmultipleprocessors,multipliers,cachesand
interfacesonasinglechip.SoCscanbeimplementedasanapplicationspecificintegratedcircuit(ASIC)
orusingafieldprogrammablegatearray(FPGA).

Peripherals
EmbeddedSystemstalkwiththeoutsideworldviaperipherals,
suchas:
SerialCommunicationInterfaces(SCI):RS232,RS422,
RS485etc.
SynchronousSerialCommunicationInterface:I2C,SPI,
SSCandESSI(EnhancedSynchronousSerialInterface)
UniversalSerialBus(USB)
MultiMediaCards(SDCards,CompactFlashetc.)
Networks:Ethernet,LonWorks,etc.
Fieldbuses:CANBus,LINBus,PROFIBUS,etc.
AcloseupoftheSMSC
Timers:PLL(s),Capture/CompareandTimeProcessing
LAN91C110(SMSC91x)chip,an
Units
embeddedethernetchip.
DiscreteIO:akaGeneralPurposeInput/Output(GPIO)
AnalogtoDigital/DigitaltoAnalog(ADC/DAC)
Debugging:JTAG,ISP,ICSP,BDMPort,BITP,andDB9ports.
https://en.wikipedia.org/wiki/Embedded_system

6/13

19/12/2015

EmbeddedsystemWikipedia,thefreeencyclopedia

Tools
Aswithothersoftware,embeddedsystemdesignersusecompilers,assemblers,anddebuggersto
developembeddedsystemsoftware.However,theymayalsousesomemorespecifictools:
Incircuitdebuggersoremulators(seenextsection).
UtilitiestoaddachecksumorCRCtoaprogram,sotheembeddedsystemcancheckifthe
programisvalid.
Forsystemsusingdigitalsignalprocessing,developersmayuseamathworkbenchsuchasScilab
/Scicos,MATLAB/Simulink,EICASLAB,MathCad,Mathematica,orFlowStoneDSPto
simulatethemathematics.Theymightalsouselibrariesforboththehostandtargetwhich
eliminatesdevelopingDSProutinesasdoneinDSPnanoRTOS.
AmodelbaseddevelopmenttoollikeVisSimletsyoucreateandsimulategraphicaldataflowand
UMLStatechartdiagramsofcomponentslikedigitalfilters,motorcontrollers,communication
protocoldecodingandmultiratetasks.Interrupthandlerscanalsobecreatedgraphically.After
simulation,youcanautomaticallygenerateCcodetotheVisSimRTOSwhichhandlesthemain
controltaskandpreemptionofbackgroundtasks,aswellasautomaticsetupandprogrammingof
onchipperipherals.
Customcompilersandlinkersmaybeusedtooptimizespecializedhardware.
Anembeddedsystemmayhaveitsownspeciallanguageordesigntool,oraddenhancementsto
anexistinglanguagesuchasForthorBasic.
Anotheralternativeistoaddarealtimeoperatingsystemorembeddedoperatingsystem,which
mayhaveDSPcapabilitieslikeDSPnanoRTOS.
Modelingandcodegeneratingtoolsoftenbasedonstatemachines
Softwaretoolscancomefromseveralsources:
Softwarecompaniesthatspecializeintheembeddedmarket
PortedfromtheGNUsoftwaredevelopmenttools
Sometimes,developmenttoolsforapersonalcomputercanbeusediftheembeddedprocessorisa
closerelativetoacommonPCprocessor
Asthecomplexityofembeddedsystemsgrows,higherleveltoolsandoperatingsystemsaremigrating
intomachinerywhereitmakessense.Forexample,cellphones,personaldigitalassistantsandother
consumercomputersoftenneedsignificantsoftwarethatispurchasedorprovidedbyapersonotherthan
themanufactureroftheelectronics.Inthesesystems,anopenprogrammingenvironmentsuchasLinux,
NetBSD,OSGiorEmbeddedJavaisrequiredsothatthethirdpartysoftwareprovidercanselltoalarge
market.

Debugging
Embeddeddebuggingmaybeperformedatdifferentlevels,dependingonthefacilitiesavailable.From
simplesttomostsophisticatedtheycanberoughlygroupedintothefollowingareas:
Interactiveresidentdebugging,usingthesimpleshellprovidedbytheembeddedoperatingsystem
(e.g.ForthandBasic)
Externaldebuggingusingloggingorserialportoutputtotraceoperationusingeitheramonitorin
flashorusingadebugserverliketheRemedyDebuggerwhichevenworksforheterogeneous
multicoresystems.
Anincircuitdebugger(ICD),ahardwaredevicethatconnectstothemicroprocessorviaaJTAG
orNexusinterface.Thisallowstheoperationofthemicroprocessortobecontrolledexternally,but
istypicallyrestrictedtospecificdebuggingcapabilitiesintheprocessor.
Anincircuitemulator(ICE)replacesthemicroprocessorwithasimulatedequivalent,providing
https://en.wikipedia.org/wiki/Embedded_system

7/13

19/12/2015

EmbeddedsystemWikipedia,thefreeencyclopedia

fullcontroloverallaspectsofthemicroprocessor.
Acompleteemulatorprovidesasimulationofallaspectsofthehardware,allowingallofittobe
controlledandmodified,andallowingdebuggingonanormalPC.Thedownsidesareexpenseand
slowoperation,insomecasesupto100Xslowerthanthefinalsystem.
ForSoCdesigns,thetypicalapproachistoverifyanddebugthedesignonanFPGAprototype
board.ToolssuchasCertus[11]areusedtoinsertprobesintheFPGARTLthatmakesignals
availableforobservation.Thisisusedtodebughardware,firmwareandsoftwareinteractions
acrossmultipleFPGAwithcapabilitiessimilartoalogicanalyzer.
Unlessrestrictedtoexternaldebugging,theprogrammercantypicallyloadandrunsoftwarethroughthe
tools,viewthecoderunningintheprocessor,andstartorstopitsoperation.Theviewofthecodemay
beasHLLsourcecode,assemblycodeormixtureofboth.
Becauseanembeddedsystemisoftencomposedofawidevarietyofelements,thedebuggingstrategy
mayvary.Forinstance,debuggingasoftware(andmicroprocessor)centricembeddedsystemis
differentfromdebugginganembeddedsystemwheremostoftheprocessingisperformedbyperipherals
(DSP,FPGA,coprocessor).Anincreasingnumberofembeddedsystemstodayusemorethanone
singleprocessorcore.Acommonproblemwithmulticoredevelopmentisthepropersynchronizationof
softwareexecution.Insuchacase,theembeddedsystemdesignmaywishtocheckthedatatrafficon
thebussesbetweentheprocessorcores,whichrequiresverylowleveldebugging,atsignal/buslevel,
withalogicanalyzer,forinstance.
Tracing
Realtimeoperatingsystems(RTOS)oftensupportstracingofoperatingsystemevents.Agraphical
viewispresentedbyahostPCtool,basedonarecordingofthesystembehavior.Thetracerecording
canbeperformedinsoftware,bytheRTOS,orbyspecialtracinghardware.RTOStracingallows
developerstounderstandtimingandperformanceissuesofthesoftwaresystemandgivesagood
understandingofthehighlevelsystembehaviors.CommercialtoolslikeRTXCQuadrosorIAR
Systemsexists.

Reliability
Embeddedsystemsoftenresideinmachinesthatareexpectedtoruncontinuouslyforyearswithout
errors,andinsomecasesrecoverbythemselvesifanerroroccurs.Therefore,thesoftwareisusually
developedandtestedmorecarefullythanthatforpersonalcomputers,andunreliablemechanicalmoving
partssuchasdiskdrives,switchesorbuttonsareavoided.
Specificreliabilityissuesmayinclude:
Thesystemcannotsafelybeshutdownforrepair,oritistooinaccessibletorepair.Examples
includespacesystems,underseacables,navigationalbeacons,boreholesystems,and
automobiles.
Thesystemmustbekeptrunningforsafetyreasons."Limpmodes"arelesstolerable.Often
backupsareselectedbyanoperator.Examplesincludeaircraftnavigation,reactorcontrolsystems,
safetycriticalchemicalfactorycontrols,trainsignals.
Thesystemwillloselargeamountsofmoneywhenshutdown:Telephoneswitches,factory
controls,bridgeandelevatorcontrols,fundstransferandmarketmaking,automatedsalesand
service.
Avarietyoftechniquesareused,sometimesincombination,torecoverfromerrorsbothsoftwarebugs
suchasmemoryleaks,andalsosofterrorsinthehardware:
https://en.wikipedia.org/wiki/Embedded_system

8/13

19/12/2015

EmbeddedsystemWikipedia,thefreeencyclopedia

watchdogtimerthatresetsthecomputerunlessthesoftwareperiodicallynotifiesthewatchdog
subsystemswithredundantsparesthatcanbeswitchedoverto
software"limpmodes"thatprovidepartialfunction
DesigningwithaTrustedComputingBase(TCB)architecture[12]ensuresahighlysecure&
reliablesystemenvironment
AHypervisordesignedforembeddedsystems,isabletoprovidesecureencapsulationforany
subsystemcomponent,sothatacompromisedsoftwarecomponentcannotinterferewithother
subsystems,orprivilegedlevelsystemsoftware.Thisencapsulationkeepsfaultsfrompropagating
fromonesubsystemtoanother,improvingreliability.Thismayalsoallowasubsystemtobe
automaticallyshutdownandrestartedonfaultdetection.
ImmunityAwareProgramming

Highvslowvolume
Forhighvolumesystemssuchasportablemusicplayersormobilephones,minimizingcostisusually
theprimarydesignconsideration.Engineerstypicallyselecthardwarethatisjustgoodenoughto
implementthenecessaryfunctions.
Forlowvolumeorprototypeembeddedsystems,generalpurposecomputersmaybeadaptedbylimiting
theprogramsorbyreplacingtheoperatingsystemwitharealtimeoperatingsystem.

Embeddedsoftwarearchitectures
Thereareseveraldifferenttypesofsoftwarearchitectureincommonuse.

Simplecontrolloop
Inthisdesign,thesoftwaresimplyhasaloop.Theloopcallssubroutines,eachofwhichmanagesapart
ofthehardwareorsoftware.

Interruptcontrolledsystem
Someembeddedsystemsarepredominantlycontrolledbyinterrupts.Thismeansthattasksperformedby
thesystemaretriggeredbydifferentkindsofeventsaninterruptcouldbegenerated,forexample,bya
timerinapredefinedfrequency,orbyaserialportcontrollerreceivingabyte.
Thesekindsofsystemsareusedifeventhandlersneedlowlatency,andtheeventhandlersareshortand
simple.Usually,thesekindsofsystemsrunasimpletaskinamainloopalso,butthistaskisnotvery
sensitivetounexpecteddelays.
Sometimestheinterrupthandlerwilladdlongertaskstoaqueuestructure.Later,aftertheinterrupt
handlerhasfinished,thesetasksareexecutedbythemainloop.Thismethodbringsthesystemclosetoa
multitaskingkernelwithdiscreteprocesses.

Cooperativemultitasking
Anonpreemptivemultitaskingsystemisverysimilartothesimplecontrolloopscheme,exceptthatthe
loopishiddeninanAPI.Theprogrammerdefinesaseriesoftasks,andeachtaskgetsitsown
environmenttorunin.Whenataskisidle,itcallsanidleroutine,usuallycalledpause,wait,
yield,nop(standsfornooperation),etc.
https://en.wikipedia.org/wiki/Embedded_system

9/13

19/12/2015

EmbeddedsystemWikipedia,thefreeencyclopedia

Theadvantagesanddisadvantagesaresimilartothatofthecontrolloop,exceptthataddingnew
softwareiseasier,bysimplywritinganewtask,oraddingtothequeue.

Preemptivemultitaskingormultithreading
Inthistypeofsystem,alowlevelpieceofcodeswitchesbetweentasksorthreadsbasedonatimer
(connectedtoaninterrupt).Thisisthelevelatwhichthesystemisgenerallyconsideredtohavean
"operatingsystem"kernel.Dependingonhowmuchfunctionalityisrequired,itintroducesmoreorless
ofthecomplexitiesofmanagingmultipletasksrunningconceptuallyinparallel.
Asanycodecanpotentiallydamagethedataofanothertask(exceptinlargersystemsusinganMMU)
programsmustbecarefullydesignedandtested,andaccesstoshareddatamustbecontrolledbysome
synchronizationstrategy,suchasmessagequeues,semaphoresoranonblockingsynchronization
scheme.
Becauseofthesecomplexities,itiscommonfororganizationstousearealtimeoperatingsystem
(RTOS),allowingtheapplicationprogrammerstoconcentrateondevicefunctionalityratherthan
operatingsystemservices,atleastforlargesystemssmallersystemsoftencannotaffordtheoverhead
associatedwithagenericrealtimesystem,duetolimitationsregardingmemorysize,performance,or
batterylife.ThechoicethatanRTOSisrequiredbringsinitsownissues,however,astheselectionmust
bedonepriortostartingtotheapplicationdevelopmentprocess.Thistimingforcesdeveloperstochoose
theembeddedoperatingsystemfortheirdevicebaseduponcurrentrequirementsandsorestrictsfuture
optionstoalargeextent.[13]Therestrictionoffutureoptionsbecomesmoreofanissueasproductlife
decreases.Additionallythelevelofcomplexityiscontinuouslygrowingasdevicesarerequiredto
managevariablessuchasserial,USB,TCP/IP,Bluetooth,WirelessLAN,trunkradio,multiplechannels,
dataandvoice,enhancedgraphics,multiplestates,multiplethreads,numerouswaitstatesandsoon.
Thesetrendsareleadingtotheuptakeofembeddedmiddlewareinadditiontoarealtimeoperating
system.

Microkernelsandexokernels
AmicrokernelisalogicalstepupfromarealtimeOS.Theusualarrangementisthattheoperating
systemkernelallocatesmemoryandswitchestheCPUtodifferentthreadsofexecution.Usermode
processesimplementmajorfunctionssuchasfilesystems,networkinterfaces,etc.
Ingeneral,microkernelssucceedwhenthetaskswitchingandintertaskcommunicationisfastandfail
whentheyareslow.
Exokernelscommunicateefficientlybynormalsubroutinecalls.Thehardwareandallthesoftwareinthe
systemareavailabletoandextensiblebyapplicationprogrammers.

Monolithickernels
Inthiscase,arelativelylargekernelwithsophisticatedcapabilitiesisadaptedtosuitanembedded
environment.ThisgivesprogrammersanenvironmentsimilartoadesktopoperatingsystemlikeLinux
orMicrosoftWindows,andisthereforeveryproductivefordevelopmentonthedownside,itrequires
considerablymorehardwareresources,isoftenmoreexpensive,and,becauseofthecomplexityofthese
kernels,canbelesspredictableandreliable.
CommonexamplesofembeddedmonolithickernelsareembeddedLinuxandWindowsCE.

https://en.wikipedia.org/wiki/Embedded_system

10/13

19/12/2015

EmbeddedsystemWikipedia,thefreeencyclopedia

Despitetheincreasedcostinhardware,thistypeofembeddedsystemisincreasinginpopularity,
especiallyonthemorepowerfulembeddeddevicessuchaswirelessroutersandGPSnavigation
systems.Herearesomeofthereasons:
Portstocommonembeddedchipsetsareavailable.
Theypermitreuseofpubliclyavailablecodefordevicedrivers,webservers,firewalls,andother
code.
Developmentsystemscanstartoutwithbroadfeaturesets,andthenthedistributioncanbe
configuredtoexcludeunneededfunctionality,andsavetheexpenseofthememorythatitwould
consume.
Manyengineersbelievethatrunningapplicationcodeinusermodeismorereliableandeasierto
debug,thusmakingthedevelopmentprocesseasierandthecodemoreportable.
Featuresrequiringfasterresponsethancanbeguaranteedcanoftenbeplacedinhardware.

Additionalsoftwarecomponents
Inadditiontothecoreoperatingsystem,manyembeddedsystemshaveadditionalupperlayersoftware
components.ThesecomponentsconsistofnetworkingprotocolstackslikeCAN,TCP/IP,FTP,HTTP,
andHTTPS,andalsoincludedstoragecapabilitieslikeFATandflashmemorymanagementsystems.If
theembeddeddevicehasaudioandvideocapabilities,thentheappropriatedriversandcodecswillbe
presentinthesystem.Inthecaseofthemonolithickernels,manyofthesesoftwarelayersareincluded.
IntheRTOScategory,theavailabilityoftheadditionalsoftwarecomponentsdependsuponthe
commercialoffering.

Seealso
Communicationsserver
Cyberphysicalsystem
DSP
ElectronicControlUnit
Hypervisor
Embeddedoperatingsystems
Embeddedsoftware
Firmware
FPGA
Informationappliance
Microprocessor
Microcontroller
Programminglanguages
Realtimeoperatingsystem
Softwareengineering
Systemonachip
Systemonmodule
Ubiquitouscomputing

Notes
1. FormoredetailsofMicroVGAseethisPDF(http://www.microvga.com/pdf/uvgatextds.pdf).

References
https://en.wikipedia.org/wiki/Embedded_system

11/13

19/12/2015

EmbeddedsystemWikipedia,thefreeencyclopedia

1. MichaelBarr."EmbeddedSystemsGlossary".NeutrinoTechnicalLibrary.Retrieved20070421.
2. Heath,Steve(2003).Embeddedsystemsdesign.EDNseriesfordesignengineers(2ed.).Newnes.p.2.
ISBN9780750655460."Anembeddedsystemisamicroprocessorbasedsystemthatisbuilttocontrola
functionorarangeoffunctions."
3. MichaelBarrAnthonyJ.Massa(2006)."Introduction".Programmingembeddedsystems:withCandGNU
developmenttools.O'Reilly.pp.12.ISBN9780596009830.
4. Barr,Michael(1August2009)."RealmenprograminC".EmbeddedSystemsDesign.TechInsights(United
BusinessMedia).p.2.Retrieved20091223.
5. C.Alippi:IntelligenceforEmbeddedSystems.Springer,2014,283pp,ISBN9783319052786.
6. S.Mittal,"Asurveyoftechniquesforimprovingenergyefficiencyinembeddedcomputingsystems
(https://www.academia.edu/4186102/A_survey_of_techniques_for_improving_energy_efficiency_in_embedded
_computing_systems)",IJCAET,6(4),440459,2014.
7. Giovino,Bill."Microcontroller.comEmbeddedSystemssupersite".
8. ElectronicVotingMachineInformationSheetAccupollAVS1000(http://w2.eff.org/Activism/E
voting/infosheets2006/AccuPollAVS1000.pdf)
9. EmbeddedSystemsDellOEMSolutions|Dell(http://content.dell.com/us/en/enterprise/oemindustry
solutionsbuildyourproductwithdell).Content.dell.com(20110104).Retrievedon20130206.
10. Embedded.comUndertheHood:RobotGuitarembedsautotuning
(http://www.embedded.com/underthehood/207401418)ByDavidCarey,TechOnlineEETimes(04/22/08,
11:10:00AMEDT)EmbeddedSystemsDesignEmbedded.com
11. "TektronixShakesUpPrototyping,EmbeddedInstrumentationBoostsBoardstoEmulatorStatus".Electronic
EngineeringJournal.20121030.Retrieved20121030.
12. Heiser,Gernot(December2007)."YourSystemissecure?Proveit!"(PDF).login:2(6):358.
13. "WorkingacrossMultipleEmbeddedPlatforms"(PDF).clarinox.Retrieved20100817.

Furtherreading
JohnCatsoulis(May2005).DesigningEmbeddedHardware,2ndEdition.O'Reilly.ISBN0596
007558.
JamesM.ConradAlexanderG.Dean(September2011).EmbeddedSystems,AnIntroduction
UsingtheRenesasRX62NMicrocontroller.Micrium.ISBN9781935772996.

Externallinks
EmbeddedSystemscoursewithmbed
WikimediaCommonshas
(https://www.youtube.com/watch?v=H
mediarelatedtoEmbedded
OKGOMoCSI&list=PLo7bVbJhQ6qwlDa
systems.
R6pz7tA7kPzn1s5Ae)YouTube,ongoingfrom2015
TrendsinCyberSecurityandEmbeddedSystems
Wikibookshasabookon
(http://geer.tinho.net/geer.nro.6xi13.txt)DanGeer,
thetopicof:Embedded
November2013
Systems
ModernEmbeddedSystemsProgrammingVideoCourse
(http://www.youtube.com/playlist?list=PLPW8O6W
Wikiversityhaslearning
1chwyTzI3BHwBLbGQoPFxPAPM)YouTube,ongoing
materialsaboutEmbedded
from2013
SystemEngineering
EmbeddedSystemsWeek(ESWEEK)
(http://www.esweek.org/)yearlyeventwithconferences,workshopsandtutorialscoveringall
aspectsofembeddedsystemsandsoftware
WorkshoponEmbeddedandCyberPhysicalSystemsEducation
(http://www.emsig.net/conf/2015/wese/),workshopcoveringeducationalaspectsofembedded
systems
Retrievedfrom"https://en.wikipedia.org/w/index.php?title=Embedded_system&oldid=695399607"
https://en.wikipedia.org/wiki/Embedded_system

12/13

19/12/2015

EmbeddedsystemWikipedia,thefreeencyclopedia

Categories: Embeddedsystems
Thispagewaslastmodifiedon15December2015,at20:20.
TextisavailableundertheCreativeCommonsAttributionShareAlikeLicenseadditionalterms
mayapply.Byusingthissite,youagreetotheTermsofUseandPrivacyPolicy.Wikipediaisa
registeredtrademarkoftheWikimediaFoundation,Inc.,anonprofitorganization.

https://en.wikipedia.org/wiki/Embedded_system

13/13

You might also like