departmentsww.38jjj.com

ww.38jjj.com  时间:2021-04-09  阅读:()
EasingembeddedLinuxsoftwaredevelopmentforSBCsMostprogrammerstodayleavingcollegewithElectricalEngineeringorComputerSciencedegreesarefairlywellversedinprogrammingonaLinuxdesktopplatform.
WhentheseprogrammersneedtotaketheleaptoprogrammingembeddedLinuxsystems,theyareoftensurprisedandbewilderedthattheprogramtheywroteontheirdesktopwillnotruntheirLinuxembeddedsystem.
Toalleviatethisproblem,someprogrammerschoosetouseversionsofdesktopsystemsinembeddedapplications.
Thisisgenerallynotagoodfitasdesktopsystemstypicallyhavefansandharddrives,whicharefailurepoints.
Abiggerobstacleisfastchange;theneedtohavethefastest,newesttechnologyobsoletesdesktopsystemsinaslittleassixmonths.
Designingalong-lifeembeddedproductaroundaplatformwithnolongevityisarecipefordisaster.
Evenifdesktopplatformscouldbeguaranteedtobearoundfiveyearsfromnow,theLinuxkernelandassociateddistributionsaremovingtargets.
Thekernelandstandardlibrariesareconstantlyevolving,anddistributionsarefightingtokeeppace.
Kernelpatchesandlibraryupdatescanrenderauser'sprograminoperable.
Thissituationisexacerbatedwhenengineersarerequiredtoupdatedevelopmentmachinesduetoasecurityholeorotherissue.
Awaytoabstracttheembeddeddevelopmentenvironmentfromthestandarddesktopenvironmentisneeded.
Thekeyisnotonlytofindalong-lifeembeddedLinuxhardwareplatform,butalsoalong-lifeembeddedLinuxsoftwareplatform.
AccomplishedembeddedLinuxprogrammersoftencancreateanembeddeddevelopmentplatformbygatheringthecorrectlibrariesandtoolversions,andmodifyingtheMakefileappropriately.
Evenwhensuccessful,it'sasuboptimumdevelopmentenvironment.
Ideally,compilersshouldnotrelyonthelibrariesandkernelsoftheirhost,butinsteadonthetoolchainofthemorestatictarget.
Thesoftwareplatformshouldbecompatiblewithotherplatforms,otherOperatingSystems(OSs),andotherlanguages.
TheSoftwareDevelopmentKit(SDK)shouldbebasedontoolchainswithbroadcommunitysupportsothatevenifoneoftheorganizationsdrivingtheSDKstopssupportingit,itsurvivesontheshouldersoftherest.
EnterEclipseEclipseisanopensource,redistributable,cross-platform,frameworkforcodedevelopment.
ItnativelysupportsJava,andC/C++withitsCDTplug-in.
ItprovidesmanyofthesamefunctionsthathavebeenreinventedoverandoverbythecommercialIntegratedDevelopmentEnvironments(IDEs)(syntaxhighlighting,languageawaresearches,codecompletion,andsoon)butdoesn'trelyonanyoneparticularsetoftoolstoaccomplishit(seeFigure1).
Printedfrom:http://www.
embedded-computing.
com/departments/eclipse/2006/11/ByNathanGustavsonEMAC,Inc.
andEricRossiEMAC,Inc.
Page1of5Printedfromembedded-computing.
comFigure1(clicktozoom)TheflexibilityofthissolutionledEMACandotherembeddedsoftwarecompaniestobuilddevelopmentplatformsinanEclipseenvironment.
Thiscommercialadoptionhascreateddefactostandardizationforembeddedcodedevelopers.
OEMscanwriteEclipseplug-insandprojectsthatworkwithGNUtoolchainswhileprovidingcompatibilitywithnumerouscommercialplatformsrunningbothWindowsandLinux.
EmbeddedJavaEMAC'soriginalEclipseenvironmentwasdevelopedfortheSoM-400Mmodule,usingaDS400TINIprocessorfromDallas/Maxim.
Thisprocessor'sfirmwarecontainsaproprietaryembeddedJRE.
BuildingJavacodeforthesystemiscompletedbycompilingclassesforanormalJREenvironment,replacingthecorejarswithTINIspecificjarsandthenconvertingtheresultingclassesintoTINIexecutables.
TodothisdeveloperstookadvantageofEclipse'snativeAntsupport,whichcanbeusedtocreateakindofadvancedJavaMakefileinXMLformat.
AntthenbuildstargetsbyusingEclipse'sJDTcompileradaptorclass,whichmakestheinternalcompileravailabletoAnt'stasks.
TheSourceforgeTiniAntextensionthenperformsthefinalconversionfromJavaclasstoTINIexecutable.
Allthecomplexdeclarationsrequiredtodothisarehiddeninatop-levelbuild.
propertiesfile,vastlyreducingthecomplexityofcompilationfortheSoM-400Mtosimple,standardAnttasks.
Cross-compiledCTheEclipsetoolsprojectprovidesanopen,redistributableCdevelopmentplug-incalledtheCDT.
Itprovides,amongotherthings:SyntaxhighlightingCodecompletionOn-the-flybuildsDebuggerintegration(usingGDB'sMIinterface)Itdoesnotprovidetheactualcompiler,linker,anddebuggerbinaries.
Thesearespecifictothetargetbeingbuiltforandmustbeprovidedfromanexternalsource.
TheycanthenbeintegratedintoEclipsebywritinganEclipseplug-in,or,moresimply,byusing"standard"makeprojectsandspecifyingthecompilerintheMakefile.
TheMakefileinListing1willcompileasimpleHelloWorldexampleprojectintheEMACEclipseenvironment.
Page2of5Printedfromembedded-computing.
comLiketheembeddedJavaenvironment,complexcompiler/linkerflagscommontoallprojectsarehiddeninahigher-levelfile,whichisthenincludedbyallMakefilesintheSDK.
EMACprovidescross-compilersforallitsboardsbybuildingfreelyavailableGNUcross-compilersagainstthelibrariesofthetargetdevelopmentOS.
OnLinuxtheselibrariesarenative;onWindowstheCygwinlibraryisused.
Wethen"hide"theactualEclipseexecutableandreplaceitwithabatchfilethattemporarilyaddstherequiredpathstosupporttheGNUtoolchainswhenEclipseisstarted.
DebuggingDebuggingtakesplaceusingGDBandGDBServertofacilitatearemotedebuggingenvironment.
Toaccomplishthis,thecompiledexecutableisuploadedtotheSBCandaGDBServersessionisinitiatedlisteningonaspecificportorserialterminal.
TheEclipseDebuggingperspectiveallowstheusertothendebugtheapplicationbyspecifyingtheconnectionparameterstouseaswellastheversionofGDBbuiltforthetargetarchitecture.
TheDebuggingperspectivedisplaysthesourcecodeoftheprogramtobedebuggedandthegeneratedassemblycode.
Itiseasytomanageandmonitorbreakpointsandvariables,aswellassingle-stepthroughtheprogramlinebyline.
Thecurrentpositioninthesourcecodeisautomaticallyhighlighted.
Eclipseprovidesagraphicaldebuggingenvironmentthatgreatlysimplifiestheprocessofremotetargetdebugging.
TargetcommunicationWhendevelopingforanembeddedenvironment,itwillbenecessarytoestablishaconnectionwiththetargetboard,eitherbyaserialterminalprogramorthroughTCPusingaTelnet,SSH,orothersimilarconnection.
Whenthisisdonethroughthecommandlineinterfaceoragraphicalfrontend,theprogrammerisforcedtoconstantlyswitchbetweenwindowstomonitortheconnectionandtheIDEsimultaneously.
EMACeliminatesthisproblembyintegratingEclipseplug-insthatallowforSSH,Telnet,andTerminalconnectionsallwithinEclipse.
ThisallowstheprogrammertomonitortheembeddedtargetboardasifitwerealocalfilesystemandissuecommandsdirectlywithouthavingtoleavetheEclipseenvironment.
CVSEclipseprovidesapowerfulCVSnatively.
BysettingupaCVSloginandprovidingpasswordstocustomers,developerscaninsuretheyalwayshaveaccesstothemostrecentversionsofcodeandbugfixesforproducts.
SDKBASE=.
.
/.
.
/CROSS=$(SDKBASE)gcc-4.
0.
0-i486-D/bin/i486-linux-CC=$(CROSS)gccLIBFLAGS=-lc#VERBOSE=-vCFLAGS=-gOFLAGS=-WlTARGET=helloCFILES=hello.
call:$(TARGET)$(TARGET):objects$(CC)$(VERBOSE)*.
o$(OFLAGS)$(SLIBS)-o$(TARGET)$(LIBFLAGS)objects:$(CFILES)$(CC)$(VERBOSE)$(CFLAGS)-c$(CFILES)clean:$(RM)*.
o*.
gdb$(TARGET)TARGET_IP=192.
168.
0.
1LOGIN=someuserPASSWORD=somepasswordupload:wput$(TARGET)ftp://$(LOGIN):$(PASSWORD)@$(TARGET_IP)/.
.
/.
.
/tmp/$(TARGET)"Withalittleintegration,anOEMcancreatearobust,cross-platformdevelopmentplatformfortheirboardsthatwillrunonthesameplatformadoptedbymanycommercialsoftwarevendors.
"Page3of5Printedfromembedded-computing.
comUploadingsoftwarepatchesandentirelynewcomponentsforSDKsontoaCVSserverprovidesup-to-the-minutesoftwaresupporttocustomers,whocangraphicallyviewdifferencesinfilesandpatchtheirownSDKwithsome,all,ornoneofwhathasbeenuploaded.
DocumentationEclipseprovidesitsownnativebrowser,whichisbeneficialforcreatingHTMLlinkeddocumentationrightintheworkspace.
Inthisway,customerscanbrowsethroughHTMLdocumentation(similartothatgeneratedbyDoxygenandJavadoc).
Context-sensitivehelpisalsointegratedinEclipse(seeFigure2),allowingnewuserstobemoreproductive.
Figure2(clicktozoom)Thisdocumentationcanlinkrightbacktothesoftwaredeveloper'swebsiteaswell,allowinguserdocumentationtobeaddeddynamically.
Userscanswitchrightfromcodetodocumentationwithatab,ratherthannavigatingseveralwindowsatonce.
Integratedtools,betterdevelopmentEclipseprovidesanenvironmentwhereGNUtoolsandcommercialtoolscanplaytogether.
Withalittleintegration,anOEMcancreatearobust,cross-platformdevelopmentplatformfortheirboardsthatwillrunonthesameplatformadoptedbymanycommercialsoftwarevendors.
WithintheEclipseframework,EMACusescross-compilationtoalleviatetheproblemofabstractingtheembeddeddevelopmentenvironmentfromthestandarddesktopenvironment.
DebuggingisaccomplishedusingGDBwithEclipsewindowsforthedebugger'sinputandoutput.
CommunicationwiththetargetisalsointegratedintoEclipsethroughTelnet,FTP,Terminal,andSSHplug-ins.
CVSversioncontrolandHTMLdocumentationarebothaccomplishedwithintheEclipseenvironmentaswell.
AlloftheaforementioneddevelopmentcapabilitiesrolledupintoastandardIDEmakeforapowerful,efficientdevelopmentplatformthatcanbeusedwithasmall8-bitJava-basedcontrolleranda32-bitLinuxserverprogrammedinC.
ThisisthepowerofEclipse.
NathanZ.
GustavsonisaseniorsystemsengineeratEMAC,Inc.
specializinginLinuxandreal-timecontrol.
HeholdsaBSinElectricalEngineeringandiscurrentlypursingaMSatSouthernIllinoisUniversity.
EricRossiisaseniormanageratEMAC,Inc.
whereheisresponsiblefornewproductdevelopmentandcustomengineeringmanagement.
Erichasmorethan25yearsofexperienceinembeddedsystemdesignandholdsaBSinElectricalEngineeringTechnologyaswellasaBSandMSinComputerScience.
Tolearnmore,contactNathanorEricat:EMAC,Inc.
2390EMACWayCarbondale,IL62902Page4of5Printedfromembedded-computing.
com618-529-4525Nathan:ngustavson@emacinc.
comEric:erossi@emacinc.
comwww.
emacinc.
comMMVIIEmbeddedComputingDesign.
AnOpenSystemsPublishing,LLCpublication.
Page5of5Printedfromembedded-computing.
com

Hostinger 限时外贸美国主机活动 低至月12元且赠送1个COM域名

Hostinger 商家我们可能一些新用户不是太熟悉,因为我们很多新人用户都可能较多的直接从云服务器、独立服务器起步的。而Hostinger商家已经有将近十年的历史的商家,曾经主做低价虚拟主机,也是比较有知名度的,那时候也有接触过,不过一直没有过多的使用。这不这么多年过去,Hostinger商家一直比较稳妥的在运营,最近看到这个商家在改版UI后且产品上也在活动策划比较多。目前Hostinger在进...

Stablehost 美国主机商黑五虚拟主机四折

如今我们网友可能较多的会选择云服务器、VPS主机,对于虚拟主机的话可能很多人不会选择。但是我们有些外贸业务用途的建站项目还是会有选择虚拟主机的。今天看到的Stablehost 商家虚拟主机在黑五期间也有四折优惠,对于这个服务商而言不是特别的喜欢,虽然他们商家和我们熟悉的老鹰主机商有些类似,且在后来老鹰主机改版和方案后,Stablehost 商家也会跟随改版,但是性价比认为不如老鹰主机。这次黑色星期...

HostYun(22元/月)全场88折优惠香港原生IP大带宽

在之前的一些文章中有提到HostYun商家的信息,这个商家源头是比较老的,这两年有更换新的品牌域名。在陆续的有新增机房,价格上还是走的低价格路线,所以平时的折扣力度已经是比较低的。在前面我也有介绍到提供九折优惠,这个品牌商家就是走的低价量大为主。中秋节即将到,商家也有推出稍微更低的88折。全场88折优惠码:moon88这里,整理部分HostYun商家的套餐。所有的价格目前都是原价,我们需要用折扣码...

ww.38jjj.com为你推荐
蓝色骨头手机蓝色骨头为什么还没上映嘉兴商标注册嘉兴那里有设计商标的18comic.fun贴吧经常有人说A站B站,是什么意思啊?冯媛甑冯媛甄详细资料同ip站点查询如何查看几个站是不是同IP百度关键词分析关键词怎么分析?haokandianyingwang谁有好看电影网站啊、要无毒播放速度快的、在线等m.2828dy.comwww.dy6868.com这个电影网怎么样?m.2828dy.com电影虫www.dyctv.com这个电影站能下载电影吗?www.5any.com我想去重庆上大学
vps侦探 上海vps 景安vps linuxapache虚拟主机 namecheap 128m内存 bash漏洞 青果网 牛人与腾讯客服对话 100x100头像 193邮箱 howfile hinet 流量计费 太原网通测速平台 gtt 申请网页 linode支付宝 中国电信网络测速 中国电信测速网站 更多