ADS工程移植到IAR工程的方法_第1页
ADS工程移植到IAR工程的方法_第2页
ADS工程移植到IAR工程的方法_第3页
ADS工程移植到IAR工程的方法_第4页
ADS工程移植到IAR工程的方法_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 ARMDeveloperSuitetoARMIAREmbeddedWorkbenchMigrationGuidePartno:IntroductionThisguideexaminesthedifferencesbetweenusingtheARMDeveloperSuite(ADS)developmenttoolsIDEandtheIARSystemsARMdevelopmenttoolsIDE.Theissuesrelatedtoassemblerconversionrangefrombasictopicssuchascommandlineoptions,systemsegment/ar

2、eanames,listing/outputoptions,codegenerationoptions,registernamingdifferences,assembleroperators,assemblerdirectives,pseudo-instructions,andotherassemblerdifferences,toadvancedtopicssuchaspredefinedsymbols,conditionalassembly,macros,andmodules.Linkerrelatedtopicssuchascommandlineoptionsandimagememor

3、ymappingarealsodocumented.Thefeatures,options,descriptions,andexamplesspecifiedinthedocumentarebasedontoolsassociatedwithARMDeveloperSuiteVersion1.2andARMIAREmbeddedWorkbenchVersion4.20A.InformationabouttheARMdevelopmenttoolswasobtainedfromtheARMDeveloperSuiteVersion1.2AssemblerGuide(ARMDUI0068B)the

4、ARMDeveloperSuiteVersion1.2LinkerandUtilitiesGuide(ARMDUI0151A)andtheARMDeveloperSuiteVersion1.2DeveloperGuide(ARMDUI0056D).InformationabouttheIARSystemsdevelopmenttoolsisbasedontheARMIARAssemblerReferenceGuide(AARM-6),theARMIARC/C+CompilerReferenceGuide(CARM-10)andtheIARLinkerandLibraryToolsReferen

5、ceGuide(XLINK-459I).IAREmbeddedWorkbenchIDEoverviewTheIAREmbeddedWorkbenchIDEconsistsoftoolssuchasacompiler,assembler,linker,librarybuilder,librarian,editor,projectmanager,commandlineinterface,debugger,andsimulator.ARMDeveloperSuiteincludescommand-linedevelopmenttools(whichincludesacompiler,ARMassem

6、bler,linkerandvarioussupportlibraries),GUIdevelopmenttools(whichincludesadebugger,editorandprojectmanager),alibrarianandasimulator.Equivalenttoolsfrombothdevelopmentenvironmentsarelistedintable1togetherwiththecommandlinecommandsforinvokingthem:ToolsARMDeveloperSuiteAREmbeddedWorkbenchIDECompilerADSC

7、/C+compiler,armccorarmcppARC/C+Compiler,iccarmAssemblerADSARMassembler,armasmARARMAssembler,aarm-inkerADSARMlinker,armlinkARXLINKLinker,xlinkbrarybuilderARXARLibraryBuilder,xar-ibrarianADSARMlibrarian,armarARXLIBLibrarian,xlibDebuggerADSARMeXtendedDebugger(AXD)ARC-SPYDebuggerSimulatorADSARMulatorARC

8、-SPYSimulator1.ARMDeveloperSuiteandIAREmbeddedWorkbenchIDEequivalentsTheARMIARC/C+Compilerfeaturesefficientcodegenerationwithdebuginformation,C/C+languagesupportfacilitiesandtypechecking.TheARMIARAssemblerfeaturesabuilt-inCpreprocessorandsupportsconditionalassembly.TheIARXLINKLinkerlinksobjectfilesp

9、roducedbythecompilerorassemblertoproducemachinecodefortheARMcore,whiletheIARXARLibraryBuilderandIARXLIBLibrarianallowmanipulationoflibraryobjectfiles.TheIARC-SPYDebuggerisahigh-levellanguagedebuggerthatisintegratedintotheIDE,socorrectionsaremadedirectlyinthesamesourcecodewindowusedtocontrolthedebugg

10、ing.TOOLSCOMPARISONAnimmediatedifferencebetweenthetoolsetsisthelevelofintegrationofthedevelopmentenvironment.InIAREmbeddedWorkbench,theC-SPYDebuggeriscompletelyintegratedwiththeIDE,whereasinARMDeveloperSuite,theCodewarriorIDEbyMetrowerksandtheARMeXtendedDebugger(AXD)areseparatetoolsthatformacomplete

11、GUI-baseddevelopmentenvironment.However,essentialprojectmanagementoptionsandtools,andmake/build/debugmenusaresimilar.MetrowerksCodewarriorIDEisaprojectmanagementtoolformanagingsourcefilesandbuildingsoftwaredevelopmentprojects,whiletheAXDdebuggerprovidesanenvironmentfordebuggingC,C+andassemblylanguag

12、esourcecode.Bydefault,theAXDdebuggeriscalledtodebugandrunimagesbuiltfromtheCodewarriorIDE.TheAXDdebuggerisavailableforMicrosoftWindowsandUNIX,buttheCodewarriorIDEisonlyavailableforWindows.Generaldebuggerfeatureslikesourceanddisassemblyleveldebugging,sourcestepping,settingbreakpoints,variable,registe

13、randexpressionmonitoring/watching,callstackinformationandfacilitiesforthird-partyextensions(RTOSawareness,simulationmodules,emulatordrivers,etc.)areavailableinbothtoolsets.Bothsourcecodeeditorsprovidetypicalutilitiessuchascoloredkeywordsandsearchandreplace.ARMalsoprovidesanIDEcalledtheRealViewDevelo

14、perSuite.ProjectfilescreatedwiththeCodewarriorIDEhavethefilenameextension.mcp,comparedtoRealViewDeveloperSuiteprojectfilesthathavetheextension.prj.NotethatifyoumigratefromtheCodewarriorIDEtotheRealViewDeveloperSuitetoolsorviceversa,theprojectfilewillneedtobere-createdandrelevantsourcefilesre-added.N

15、oautomaticconversiontoolsexist.GettingstartedThissectiondiscusseshowtogetstartedwithconvertingCandassemblerprojectsfromARMDeveloperSuitetoIAREmbeddedWorkbench.FilenameextensionsInARMDeveloperSuite,projectslistallassociatedsourcefilesrequiredbythetargetapplication.Theseprojectfileshavea.mcpfilenameex

16、tension.InIAREmbeddedWorkbench,workspacesareusedfororganizingmultipleprojects.Thisisusefulwhenyouaresimultaneouslymanagingseveralrelatedprojects.Workspacefileshavethefilenameextension.eww,andprojectfileshavetheextension.ewpinIAREmbeddedWorkbench.ThefilenameextensionsofCsourceandheaderfilesare.cand.h

17、,respectively,inbothARMDeveloperSuiteandIAREmbeddedWorkbench,whichincludesstandardlibraryfilesanduser-specificfiles.ThefilenameextensionofassemblersourcefilesinARMDeveloperSuiteis.s.IAREmbeddedWorkbenchuses.s79bydefault,butinadditionacceptsthe.sextension.Theobjectfilesproducedbythecompilerorassemble

18、rhavethefilenameextensio.no(inARMDeveloperSuite)or.r79(inIAREmbeddedWorkbench).ConvertinganADSprojecttoanIARprojectTheguidelinesbelowdescribehowtoconvertanexistingARMDeveloperSuiteproject,extracttheoptionsusedforbuildingandconverttheprojectintoanIARproject.Asanexample,theCodewarriorIDEprojectfiletes

19、t.mcpinthefollowingfigurecontainsmain.candcounter.csourcefilesinC,acounter.hheaderfileinCandaload.sassemblyfile.Thissimplemainfunctioncallsacounterfunctionthatdelaysuptothevalueofindexandassignsthetempvariablethevalueoftheexternalvariablevaluefromload.s.2.TheMetrowerksCodewarriorIDEwindowTheprojects

20、ettingswindowislocatedunderEdit-“Debug/DebugRel/Release”Settings(Alt+F7)andisshowninthefollowingfigure.3.TheprojectsettingswindowoftheCodewarriorIDESettingsforeithertheARMDeveloperSuitecompiler,assembler,linkerordebuggercanbeselectedfromtheTargetSettingsPanelattheleftofthewindow.Thecommandlineoutput

21、sforeachofthesetoolscanbefoundundertheirrespectiveEquivalentCommandLinefieldsintheirprojectsettingswindow.Whentheprojectsettingshavebeenselected,build/make/compiletheproject.Anyerrorsorwarningswillbedisplayedinthewindowbelow.4.ThemakewindowoftheCodewarriorIDEOncethisprocessissuccessful,toruntheAXDde

22、bugger,gotoProject-Debug(F5).ARM71DMIReSearchPKKes&tx血略SyssmViews-ExeaceOpifonE-WriowH0p理J盟岸|澎1P|论囲|03呵国|11(10|丙0匾园匚1丄*利乔疗FF厂E|M常W4T1DMCtS.asfASYWCRD!FTdroilCan*阳HgtADSy1.2EjidrurrterSOE.CkipynglTic)AEMUmrl&j2CDIra-gfil|ffljgiFila冲|曲ARMFmi-併记碎齐nbr匚JO國oooofde(Oss?ffcicnadel0K*7ff0010;7nd*finedl*C0007

23、id;OxflBCDaSOafiTJTlArQH1Elljrll-pcjjC0007f*EOxa7ffOOiaOKfiTffOOlD-j9U3n.fifCduOTf-el:OKefld(fe0OOist-ndarGP1ErllrrlJ-pcJicciuoif-e:CiKe?ff001OdelCiKt7ffCiOlQ1;7und-e-finedEOOOTfiiOxfiBCDaSOatQ,1tlljrl3-pcjjCOOOTftCOx?ffoc!iaHaOxa7f0010-丿*?口wafCduOTfHl:OKsflQ(be0OOist-ndarGP1Erllrrl3-pc?Cdu-jffej:iK

24、e?ffCii:ilOdel0Kt7ff0010;7und-e-finedCOOOTffiOEQBCDaSOCraHElljElJ-pcj!0E4i2Bf8a9CAdd.rSpijtOK&C/tDxHC9Scciuosoa-3l:0ssflEl000fidniiar8Fr0-r3;lo*oooemC0k600006addrQPrGrrScoooscc.OxoCBLIOOaAdd.rliEljt8C000SC1C0XQCB22C!0aAdd.r2H2jr8aoooeoi4CIOB3-3003addr3Pr-3rr6C0008016lOBOhOOlsubrllpErOrtlcooosni-Oxa2

25、41aOOlsubrl2.e2jiliVmra-gOxcilEDOOOlenprgtl00008024:0s0a0&000ebeqzeroreg-ion00008026jLiKeShDCiOTO2dniazOIfr4-rtCO005Ci-(dxai&dOOOSiznp74,.E&C0008D3COKUArrmabQq_movNew-Workspaceandtocreateanewproject,gotoProject-CreateNewProject.ADDSOURCEFILESNext,addtheCsourceandassemblerfiles(i.e.main.c,counter.can

26、dload.s)fromtheARMDeveloperSuiteprojectintothenewIAREmbeddedWorkbenchproject.Toaddprojectfiles,gotoProject-AddFiles.Notethattheassemblerfile,load.sneededtobeconvertedaccordingtotheguidelinesdescribedintheremainderofthisguide.Inthisexample,theAREAandDCBdirectivesforcreatinganewcode/datasectionandfora

27、llocatingabyteofmemoryrespectively,neededtobeconvertedtotheirequivalentIARdirectives,whichareRSEGandDC8.FibJ.*Re&fcWewp*映Options(Alt+F7).Awindowasshownattherightofthefollowingfigureshouldappear.Intheexampleproject,theARM7TDMIprocessorcorehasbeenselected.Acomparisonscreencaptureforselectingaprocessor

28、coreinARMDeveloperSuiteisshownattheleftofthefigure.ThisoptioncanbeviewedbyselectingARMCCompilerfromtheTargetSettingsPanelattheleftoftheprojectsettingswindow(whichcanbeopenedfromEdit-“Debug/DebugRel/Release”Settings(Alt+F7)asmentionedpreviously).ForIAREmbeddedWorkbench,thetargetcorecanbeselectedfromt

29、heProcessorvariantpanelunderGeneralOptionsintheCategory:panelwhentheprojectoptionswindowisopened.ADSIAR7.SelectingaprocessorcoreforthecompilerinARMDeveloperSuiteandIAREmbeddedWorkbenchSETCCOMPILERARM/THUMBMODETodefineARMorThumbmodefortheCCompilerinARMDeveloperSuite,gototheFileMappingsoptioninTargetS

30、ettingsPanelsandselecttheappropriatecompilerwiththeCompiler:multipleselectionboxfortheassociatedfileextensions.Intheexampleproject,theARMCCompilerwillbeusedforthe.cand.hsourcefiles.ForIAREmbeddedWorkbench,theoptiontochooseARMorThumbmodecanbefoundintheProcessorModepanelunderGeneralOptionsintheCategor

31、y:panel.ThefollowingscreencapturesdemonstratehowtotelltheCcompilertogenerateARMorThumbinterworkcodeinARMDeveloperSuite.ChooseeithertheARMCCompilerorThumbCCompileroptionsfromTargetSettingsPanels,selecttheATPCStab,thenselecttheARM/ThumbinterworkingcheckboxintheARM/ThumbProcedureCallStandardOptionspane

32、l.ToperformARM/ThumbinterworkinginIAREmbeddedWorkbench,selecttheGenerateinterworkcodecheckboxfromGeneralOptionsintheCategory:panelasshowninthepreviousfigure.ADSADS9.SettingARM./ThumbinterworkingmodefortheCcompilerinARMDeveloperSuiteSETCCOMPILERINCLUDEDIRECTORIESIncludedirectoriesforARMDeveloperSuite

33、projectscanbefoundbyselectingSourceTreesfromTargetSettingsPanelsintheprojectsettingswindow.Fortheexampleproject,theADSINCvariablecontainsthedirectorypathtotheincludefiles.InIAREmbeddedWorkbench,includepathscanbedefinedbyselectingC/C+CompilerfromtheCategory:panelattheleftoftheprojectoptionswindow,sel

34、ectingthePreprocessortabandaddingthepathstotheIncludepaths(oneperline)panel.ADSIAR10.SettingincludedirectoriesfortheCcompilerinARMDeveloperSuiteandIAREmbeddedWorkbenchSETCCOMPILERPREDEFINEDSYMBOLSThefigurebelowshowsthelocationofpredefinedcompilersymbolsandvariablesforARMDeveloperSuiteandIAREmbeddedW

35、orkbench.InARMDeveloperSuite,thepredefinedsymbolsarelocatedunderthePreprocessortabintheARMCCompileroptioninTargetSettingsPanels,whileinIAREmbeddedWorkbench,thevariablesarelocatedintheDefinedsymbols(oneperline)panelunderthePreprocessortabintheC/C+CompileroptionintheCategory:panel.SETASSEMBLERCORETYPE

36、Asmentionedpreviously,theexampleprojectusestheARM7TDMIprocessorcore.TochangeaprocessorcoretypefortheADSDeveloperSuiteassembler,gotoARMAssemblerfromTargetSettingsPanelsandselectthedesiredcoretypefromtheArchitectureorProcessormultipleoptionsbox.ForIAREmbeddedWorkbench,thetargetcorefortheassemblerisset

37、inthesamelocationasthecompiler.ThisislocatedintheProcessorvariantpanelunderGeneralOptionsintheCategory:panelasshowninthecomparisonfiguresbelow.ItisnotpossibletoselectadifferentcoretypefortheCcompilerandassemblerinIAREmbeddedWorkbench.ADSIAR12.SelectingaprocessorcorefortheassemblerinARMDeveloperSuite

38、andIAREmbeddedWorkbenchSETASSEMBLERARM/THUMBMODEInordertodefineeitherARMorThumbmodefortheassembler,refertothefigurebelow.InARMDeveloperSuite,thisisdefinedintheInitialStatepanelintheTargettaboftheARMAssembleroptioninTargetSettingsPanels.ForIAREmbeddedWorkbench,thisoptionisdefinedintheProcessormodepan

39、eloftheTargettabinGeneralOptionsintheCategory:panel.ThisissimilartosettingARM/ThumbmodefortheIAREmbeddedWorkbenchCcompiler.SETASSEMBLERINCLUDEDIRECTORIESThisstepsetstheincludedirectoriesfortheassembler.InARMDeveloperSuite,theincludedirectoriesaresetinthesamelocationintheprojectsettingswindowasthecom

40、piler,i.e.undertheSourceTreesoptioninTargetSettingsPanels.ForIAREmbeddedWorkbench,includepathscanbedefinedintheIncludepaths(oneperline)panelintheIncludetabfromtheAssembleroptionintheCategory:panel.Thefigurebelowshowsthecomparisonscreencaptures.SETASSEMBLERPREDEFINEDSYMBOLSThelistofassemblerpredefine

41、dsymbolsorvariablesforbothARMDeveloperSuiteandIAREmbeddedWorkbenchareshowninthefigurebelow.InARMDeveloperSuite,thesymbolsarelocatedinthePredefinestabunderARMAssemblerinTargetSettingsPanelsandforIAREmbeddedWorkbench,theycanbefoundinthe#undeftabundertheAssembleroptionintheCategory:panel.NotethattheARM

42、DeveloperSuiteallowspredefinedvariablestobeedited.SETLINKERCODEANDDATABASEADDRESSESTheexampleprojecthasamemorymapwithread-onlyandread-writebaseaddressesof0 x0000and0 xA000respectively.IntheARMDeveloperSuite,thisinformationcanbeinputtothelinkerbyselectingtheOutputtabfromtheARMLinkeroptioninTargetSett

43、ingsPanelsandfillingintheROBaseandRWBasefieldsasshown.AlthoughtheIAREmbeddedWorkbenchdoesnothaveanequivalentfieldstoinputthisinformation,theCmdOpttab(selectedfromtheLinkeroptionintheCategory:panel)canbeused.SelecttheUsecommandlineoptionscheckboxandaddinthecommandsasshowninthefigurebelow.Adiscussiono

44、fspecifyingamemorymapofanimagetothelinkercanbefoundfurtherintheguide.NotethatinARMDeveloperSuite,thefromELFutilityofthelinkermaybeusedtotranslateexecutableimagefilesgeneratedbythelinkerintootheroutputformatssuchasplainbinary.ADSIAR16.SelectingaprocessorcorefortheassemblerinARMDeveloperSuiteandIAREmb

45、eddedWorkbenchSTARTIARC-SPYDEBUGGERAftersettingtherelevantprojectoptions,compile/make/buildtheprojectandgotoProject-Debug(Ctrl+D)tostarttheIARC-SPYDebuggerasshowninthefigurebelow.OnceintheIARC-SPYDebugger,toreturntotheeditorgotoDebug-StopDebugging.17.TheIARC-SPYDebuggerwindowConvertingassemblersourc

46、efilesTheguidelinesinthefollowingsectionsdescribehowtoaccuratelyandsystematicallyconvertassemblersourcefilesfromARMDeveloperSuitetoIAREmbeddedWorkbench.BASICASSEMBLERCONVERSIONForbasicassemblerconversion,usethefollowingsteps,shownwithasimpleexample:Afterstep1RSEGtest:CODE:NOROOT(2)indexRN9LDRrO,inde

47、x,#4LDRr1,=&FF00RSEGhash:DATA:NOROOT(2)DCFD12.3valueEQU8LDRr5,=value|0 xF9ENDRemoveuseoftheARMDeveloperSuiteRNdirective.Renameregisters(ifrequired).Beforestep2RSEGtest:CODE:NOROOT(2)indexRN9LDRr0,index,#4LDRr1,=&FF00RSEGhash:DATA:NOROOT(2)DCFD12.3valueEQU8LDRr5,=value|0 xF9ENDAfterstep2:RSEGtest:C0D

48、E:N0R00T(2)LDRr0,r9,#4LDRr1,=&FFOORSEGhash:DATA:NOROOT(2)3)Modifyunaryandbinaryassembleroperators,whilenotingoperatorprecedence.TheexampleshowsthemodificationofthebitwiseORoperatorfrom|(inARMDeveloperSuite)to|(inIAREmbeddedWorkbench).Beforestep3:RSEGtest:C0DE:N0R00T(2)LDRr0,r9,#4LDRr1,=&FFOORSEGhash

49、:DATA:NOROOT(2)DCFD12.3valueEQU8LDRr5,=value|0 xF9ENDAfterstep3RSEGtest:CODE:NOROOT(2)LDRr0,r9,#4LDRr1,=&FF00RSEGhash:DATA:N0R00T(2)DCFD12.3valueEQU8LDRr5,=value|0 xF9END4)ModifyassemblerdirectivesBeforestep4:RSEGtest:CODE:NOROOT(2)LDRr0,r9,#4LDRr1,=&FF00RSEGhash:DATA:NOROOT(2)DCFD12.3valueEQU8LDRr5

50、,=value:OR:0 xF9ENDAfterstep4RSEGtest:CODE:NOROOT(2)LDRr0,r9,#4LDRr1,=&FF00RSEGhash:DATA:NOROOT(2)5)Modifyassemblersymbols,numericliteralsandnumericexpressions(ifrequired).Notethatassemblerpseudo-instructionsandlabelsdonotneedtobemodified.Theexamplebelowshowsthemodificationofanumericliteral.Beforest

51、ep5RSEGLDRtest:CODE:NOROOT(2)r0,r9,#4LDRr1,=&FFOORSEGhash:DATA:N0R00T(2)DF6412.3valueEQU8LDRr5,=value:OR:0 xF9ENDAfterstep5:RSEGtest:CODE:NOROOT(2)LDRr0,r9,#4LDRr1,=0 xFF00RSEGhash:DATA:NOROOT(2)DF6412.3valueEQU8LDRr5,=value:OR:0 xF9ENDCOMPLEXASSEMBLERCONVERSIONFormorecomplexassemblerconversions,fol

52、lowthestepsoutlinedbelow.(DetaileddescriptionsandassociatedexampleshavebeenprovidedinthesectionAdvancedconversion24.)Modifypredefinedsymbols.Modifyconditionalassemblydirectives.Convertmacros.Createmodules(ifrequired).MakefilesARMDeveloperSuitetoolsmayalsobeusedwithmakefiles.Ifmakefilesarerequired,th

53、efollowingstepsdescribethemethodofconvertingmakefilesfromARMDeveloperSuitetoIAREmbeddedWorkbench.Asimpleexampleofamakefileconversionisprovided.1)Changetheassemblertousefromarmasm(ARMDeveloperSuite)toaarm(IAREmbeddedWorkbench)Beforestep1:#AssemblertouseAS=armasm#0ptionsDtoDpassDtoDtheDassemblerAFLAGS

54、=-gD-bigend-list=testhello.o:Dhello.sDDD$(AS)D$(AFLAGS)Dhello.sBeforestep1:clean:innnrmn-rfn*.oAfterstep1:#AssemblertouseAS=aarm#0ptionsntonpassntonthenassemblerAFLAGS=-g-bigend-list=testhello.o:nhello.snnn$(as)i$(aflags)dhello.sclean:nnnnrmn-rfn*.o2)Modifycommandlineoptions.Theexampleshowshowtochan

55、geth-egoptionusedforgeneratingdebuginformationinARMDeveloperSuitetotheequivalentoptioninIAREmbeddedWorkbench-,r.Beforestep2:#AssemblertouseAS=aarm#0ptionsntonpassntonthenassemblerAFLAGS=-gn-bigend-list=testhello.o:nhello.snnnn$(As)n$(aflags)ihello.sclean:nnnnrmn-rfn*.oAfterstep2:#AssemblertouseAS=aa

56、rm#0ptionsntonpassntonthenassemblerAFLAGS=-r-bigend-list=testhello.o:hello.s$(AS)$(AFLAGS)hello.sclean:rm-rf*.o Modifycodegenerationoptions.TheexampleshowshowtochangetheARMDeveloperSuiteoptionforgeneratingbig-endianorderedcodeanddatatotheequivalentoptioninIAREmbeddedWorkbench.Beforestep3:#Assemblert

57、ouseAS=aarm#OptionsQtoQpassQtoQtheQassemblerAFLAGS=-rQ-bigend-list=testhello.o:Qhello.sQQQ$(AS)Q$(AFLAGS)Qhello.sclean:QQQrmQ-rfQ*.oAfterstep3:#AssemblertouseAS二aarm#0ptionsQtoQpassQtoQtheQassemblerAFLAGS=-rQ一一endianQbig-list=testhello.o:Qhello.sQQQ$(AS)Q$(AFLAGS)Qhello.sclean:QQQQrmQ-rfQ*.oModifyli

58、sting/outputoptions.TheexampleshowshowtochangetheARMDeveloperSuiteoptionforproducingalistingoutputfiletotheequivalentoptioninIAREmbeddedWorkbench.Beforestep4:#AssemblertouseAS二aarm#0ptionsQtoQpassQtoQtheQassemblerAFLAGS=-rQ-endianQbig-list=testiello.o:Qhello.sQQQ$(AS)Q$(AFLAGS)Qhello.sclean:QQQrmQ-r

59、fQ*.oAfterstep4:#AssemblertouseAS二aarm#0ptionsQtoQpassQtoQtheQassemblerAFLAGS=-rQ-endianQbig-ltesthello.o:Qhello.sQQQ$(AS)Q$(AFLAGS)Qhello.sclean:QQQQrmQ-rfQ*.oLinkerFilesConvertinglinkerfilesfromARMDeveloperSuitetoIAREmbeddedWorkbenchissimilartotheconversionofmakefiles.RefertothesectionLinkerandoth

60、ertools28foradetaileddescriptionoflinkeroptionsandthememorymappingmechanism.Followthesesteps:1)Modifylinkercommandlineoptions.2)Changethememorymappingmethodfromusingscatterloading(ARMDeveloperSuite)tosegmentcontrol(IAREmbeddedWorkbench).6)MigrationreferenceThissectionliststhedifferencesinassembler,c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论