Vous êtes sur la page 1sur 18

AsteriskonEmbeddedsystems

SteliosS.Koroneos CEODigitalOPSiS

AboutDigitalOPSiS

BasedinAthens,Greece Specializesinembeddeddesign&opensourcesolutions ParticipatesandcontributesinmanyOpenSource projects

Whatisanembeddedsystem?

Wikipedia
Anembeddedsystemisaspecialpurposecomputersystemdesignedtoperformone orafewdedicatedfunctions,oftenwithrealtimecomputingconstraints.Itisusually embeddedaspartofacompletedeviceincludinghardwareandmechanicalparts.In contrast,ageneralpurposecomputer,suchasapersonalcomputer,candomany differenttasksdependingonprogramming.Embeddedsystemscontrolmanyofthe commondevicesinusetoday.

BenefitsofEmbeddedSystems

Sincetheembeddedsystemisdedicatedtospecifictasks,designengineerscan optimizeit,reducingthesizeandcostoftheproduct,orincreasingthereliabilityand performance.Someembeddedsystemsaremassproduced,benefitingfrom economiesofscale.

CharacteristicsofEmbeddedSystems

Architecture RAM FLASH TDMHardware(analog,digitalBRI/PRI) ExternalStoragecapabilities

Availableembeddeddesignstypesbasedonarchitectureused
CPU(CISC/RISCbased) DSP Hybrid(cpu+dsp,cpu+cpu) ASIC(FPGAbased)

AsteriskEmbeddedsystems

AsteriskEmbeddedsystems

Availableembeddeddesignstypesbasedonsoftwareused

Linux

Uclibc(12MBfootprint) Glibc(30+MBfootprint)

uClinux FreeBSD

TheGood

Embeddeddesignsarebuildtotargetspecifictasks/markets SMBorSOHOmarkets 012TDMlines Upto30sipcalls Lowpowerconsumption 1030Wbasedondesignandnumberoflines Greenfootprint=lowerelectricitycosts=lowerTotalOwnershipCost Smallsize/Appliancelook NoproblemswithcustomersheythisPBXlookslikemyPC Reducedcost

TheBad

Mostembeddedsystemsare<1Ghz Storageislimitedinsizeandwriteendurance Developmentcomplexity Component/board/materialsourcing Certainapplicationsarenotsuitedforuseinanembeddeddesign

TheUgly

Developingsoftwareforanappliancerequirescrosscompiling(mostofthetimes) Changingplatformscanbringtothesurfaceobscurebugs Endiannessoraliment/accessissues LowleveldriversfortheTDMhardwaremightberequired Developmenttimeislongerandcostsarehigher

Thingstowatch

NotallCPUcorescreatedequal RISCfasterthanCISC(sameclock,sameRAMtype)butnotforalltasks* Asteriskisheavilythreaded.MMUisamust RAMMemorytype DDRis2to6timesfasterthanSDRAM Asteriskrequiresmediaprocessingcapabilities(echocancellation,codecs) FPUorDSPcapabilitieswillmakethingsgofaster

Thingstowatch

Optimization AvoidtheOnesizefitsallmentality Gccisnotaspeeddemon(unlessyoutweakboththecodeanditscommandline switches) CheckAsteriskMakefilestoenablesomeoptimization Embeddeddoesnotalwaysmeanlowcost

Thelittle,dirty(tech)details

Cachesizesaresmall(10K100K) CachethrashingisanissuewithAsterisk Cachecontrollersareratherlowend nodmasnooping FPU's(ifpresent)areusuallynotveryefficient Datasizeandalignment Increasednetworkirqtrafficduetosmallpacketsize irqswitchingtimepluscachethrashing NetworkisBIGENDIAN

Selectingthehardwarecore

Market(i.ecurrentlydeployedappliances)usemostlyDSP
MypreferencePowerPC AMCC405orAMCC440 FastRISCcorewithgoodswitching,mmu BigEndian HasDSPinstructions 32bitMultiplyAccumulatein1cycle ReferenceDesignsavailablewithfxsports

Selectingabuildsystem

Mostexistingdistro'sarebasedonBuildRoot DSP'scanuseONLYuClinux(nommu) MypreferenceisOpenEmbedded Targetsbothglibcanduclibc Multiplatformsupport(x86,arm,powerpc,mips,xscale,sh) PackageManagementsystem

WhichAsteriskversion?

Asterisk1.2 Stablecanbetrickyincrosscompiling Needspatchesforuclibctargets Asterisk1.4 Easiertocrosscompile Smallermemoryfootprint Stabilityproblemsduetolargecodebasechanges. Asterisk1.6 Newbeast,stilltesting

EmbeddedGUI

CommonWebinterfacesuseLAMP(LinuxApachePhp) Embeddedtargetsneedlightweightwebinterface(shellscript,binaryforcgi,web serverisusuallybusybox'shttporboa) Perl,PHParetooresourceintensive(bothinsizeandcpu) ThereisnosilverbulletwhenitcomestoGUI

Questions?

Vous aimerez peut-être aussi