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

hostodo:2021美国独立日7折优惠促销NVMe硬盘的VPS,低至$13/年,还送DirectAdmin授权

7月4日是美国独立日,大致就是国庆节的意思吧。hostodo今年提前搞了个VPS大促销活动,4款便宜VPS,相当于7折,续费不涨价,本次促销不定时,不知道有多少货,卖完为止。VPS基于KVM虚拟,NVMe阵列,1Gbps带宽,自带一个IPv4+/64 IPv6,solusvm管理,送收费版DirectAdmin授权,VPS在用就有效! 官方网站:https://www.hostodo.com ...

收到几个新商家投稿(HostMem,无忧云,青云互联,TTcloud,亚洲云端,趣米云),一起发布排名不分先后

7月份已经过去了一半,炎热的夏季已经来临了,主机圈也开始了大量的夏季促销攻势,近期收到一些商家投稿信息,提供欧美或者亚洲地区主机产品,价格优惠,这里做一个汇总,方便大家参考,排名不分先后,以邮件顺序,少部分因为促销具有一定的时效性,价格已经恢复故暂未列出。HostMem部落曾经分享过一次Hostmem的信息,这是一家提供动态云和经典云的国人VPS商家,其中动态云硬件按小时计费,流量按需使用;而经典...

BuyVM老牌商家新增迈阿密机房 不限流量 月付2美元

我们很多老用户对于BuyVM商家还是相当熟悉的,也有翻看BuyVM相关的文章可以追溯到2014年的时候有介绍过,不过那时候介绍这个商家并不是很多,主要是因为这个商家很是刁钻。比如我们注册账户的信息是否完整,以及我们使用是否规范,甚至有其他各种问题导致我们是不能购买他们家机器的。以前你嚣张是很多人没有办法购买到其他商家的机器,那时候其他商家的机器不多。而如今,我们可选的商家比较多,你再也嚣张不起来。...

ww.38jjj.com为你推荐
neworiental我国最好的英语学校是在哪里?小度商城小度怎么下载app?中老铁路地铁路是怎么造的?是钻地吗?商标注册流程及费用申请商标的流程和花费及时间是什么原代码求数字代码大全?杰景新特萨克斯吉普特500是台湾原产的吗百度关键词工具常见百度关键词挖掘方法分别是什么请列举?网站检测请问,对网站进行监控检测的工具有哪些?www.e12.com.cn有什么好的高中学习网?125xx.com115xx.com是什么意思
域名空间购买 xenvps bluehost 宕机监控 ubuntu更新源 tk域名 智能骨干网 促正网秒杀 毫秒英文 hostloc 重庆双线服务器托管 1美金 环聊 net空间 个人免费邮箱 工信部网站备案查询 ledlamp lamp的音标 酸酸乳 实惠 更多