CodeComposerStudiov4User'sGuideforMSP430User'sGuideLiteratureNumber:SLAU157KMay2005–RevisedAugust20092SLAU157K–May2005–RevisedAugust2009SubmitDocumentationFeedbackContentsPreface71GetStartedNow!
91.
1SoftwareInstallation101.
2FlashingtheLED101.
3ImportantMSP430DocumentsontheCD-ROMandWeb.
112DevelopmentFlow132.
1UsingCodeComposerStudio(CCS)142.
1.
1CreatingaProjectFromScratch142.
1.
2ProjectSettings.
152.
1.
3UsinganExistingCCEv2,CCEv3orCCEv3.
1Project.
152.
1.
4StackManagement152.
1.
5HowtoGenerateBinary-FormatFiles(TI-TXTandINTEL-HEX)152.
1.
6OverviewofExampleProgramsandProjects.
162.
2UsingtheIntegratedDebugger.
162.
2.
1BreakpointTypes.
162.
2.
2UsingBreakpoints.
17AFrequentlyAskedQuestions19A.
1Hardware20A.
2ProgramDevelopment(Assembler,C-Compiler,Linker,IDE)20A.
3Debugging.
21BIAR2.
x/3.
x/4.
xtoCCSC-Migration25B.
1InterruptVectorDefinition26B.
2IntrinsicFunctions26B.
3DataandFunctionPlacement26B.
3.
1DataPlacementatanAbsoluteLocation26B.
3.
2DataPlacementIntoNamedSegments.
27B.
3.
3FunctionPlacementIntoNamedSegments27B.
4CCallingConventions28B.
5OtherDifferences.
28B.
5.
1InitializingStaticandGlobalVariables28B.
5.
2CustomBootRoutine29B.
5.
3PredefinedMemorySegmentNames29B.
5.
4PredefinedMacroNames30CIAR2.
x/3.
x/4.
xtoCCSAssemblerMigration31C.
1SharingC/C++HeaderFilesWithAssemblySource.
32C.
2SegmentControl32C.
3TranslatingA430AssemblerDirectivestoAsm430Directives.
33C.
3.
1Introduction.
33C.
3.
2CharacterStrings.
33C.
3.
3SectionControlDirectives.
34SLAU157K–May2005–RevisedAugust2009Contents3SubmitDocumentationFeedbackwww.
ti.
comC.
3.
4ConstantInitializationDirectives34C.
3.
5ListingControlDirectives.
35C.
3.
6FileReferenceDirectives35C.
3.
7ConditionalAssemblyDirectives36C.
3.
8SymbolControlDirectives.
36C.
3.
9MacroDirectives.
37C.
3.
10MiscellaneousDirectives.
37C.
3.
11AlphabeticalListingandCrossReferenceofAsm430Directives38C.
3.
12UnsupportedA430Directives(IAR)39DFET-SpecificMenus41D.
1Menus.
42D.
1.
1DebugView:Run→FreeRun42D.
1.
2Target→ConnectTarget42D.
1.
3Target→Advanced→MakeDeviceSecure42D.
1.
4Project→Properties→CCSDebugSettings→Target→MSP430Properties→ClockControl.
.
.
.
42D.
1.
5Window→ShowView→Breakpoints42D.
1.
6Window→ShowView→Trace42D.
1.
7Project→Properties→TIDebugProperties→Target→MSP430Properties→TargetVoltage.
.
.
43DocumentRevisionHistory44ImportantNotices.
454ContentsSLAU157K–May2005–RevisedAugust2009SubmitDocumentationFeedbackwww.
ti.
comListofTables1-1SystemRequirements101-2CodeExamples.
102-1DeviceArchitecture,BreakpointsandOtherEmulationFeatures16SLAU157K–May2005–RevisedAugust2009ListofTables5SubmitDocumentationFeedbackIAREmbeddedWorkbenchisaregisteredtrademarkofIARSystemsAB.
ThinkPadisaregisteredtrademarkofLenovo.
Microsoft,Windows,WindowsVistaareregisteredtrademarksofMicrosoftCorporation.
Allothertrademarksarethepropertyoftheirrespectiveowners.
ListofTables6SLAU157K–May2005–RevisedAugust2009SubmitDocumentationFeedbackPrefaceSLAU157K–May2005–RevisedAugust2009ReadThisFirstAboutThisManualThismanualdescribestheuseofTexasInstruments'CodeComposerStudiov4(CCSv4)withtheMSP430ultra-low-powermicrocontrollers.
HowtoUseThisManualReadandfollowtheinstructionsintheGetStartedNow!
chapter.
Thischapterprovidesinstructionsoninstallingthesoftware,anddescribeshowtorunthedemonstrationprograms.
Afteryouseehowquickandeasyitistousethedevelopmenttools,TIrecommendsthatyoureadallofthismanual.
ThismanualdescribesonlythesetupandbasicoperationofthesoftwaredevelopmentenvironmentbutdoesnotfullydescribetheMSP430orthecompletedevelopmentsoftwareandhardwaresystems.
Fordetailsoftheseitems,refertotheappropriateTIdocumentslistedinSection1.
3,ImportantMSP430DocumentsontheCD-ROMandWeb.
ThismanualappliestotheusewithTexasInstruments'MSP-FET430UIF,MSP-FET430PIFandeZ430developmenttoolsseries.
Thesetoolscontainthemostup-to-datematerialsavailableatthetimeofpackaging.
Forthelatestmaterials(datasheets,user'sguides,software,applicationinformation,etc.
),visittheTIMSP430websiteatwww.
ti.
com/msp430orcontactyourlocalTIsalesoffice.
InformationAboutCautionsandWarningsThisdocumentmaycontaincautionsandwarnings.
CAUTIONThisisanexampleofacautionstatement.
Acautionstatementdescribesasituationthatcouldpotentiallydamageyoursoftwareorequipment.
WARNINGThisisanexampleofawarningstatement.
Awarningstatementdescribesasituationthatcouldpotentiallycauseharmtoyou.
Theinformationinacautionorawarningisprovidedforyourprotection.
Readeachcautionandwarningcarefully.
SLAU157K–May2005–RevisedAugust2009ReadThisFirst7SubmitDocumentationFeedbackRelatedDocumentationFromTexasInstrumentswww.
ti.
comRelatedDocumentationFromTexasInstrumentsCCSv4documentationMSP430AssemblyLanguageToolsUser'sGuide,literaturenumberSLAU131MSP430OptimizingC/C++CompilerUser'sGuide,literaturenumberSLAU132MSP430developmenttoolsdocumentationMSP430HardwareToolsUser'sGuide,literaturenumberSLAU278eZ430-F2013DevelopmentToolUser'sGuide,literaturenumberSLAU176eZ430-RF2480User'sGuide,literaturenumberSWRA176eZ430-RF2500DevelopmentToolUser'sGuide,literaturenumberSLAU227eZ430-RF2500-SEHDevelopmentToolUser'sGuide,literaturenumberSLAU273eZ430-ChronosDevelopmentToolUser'sGuide,literaturenumberSLAU292MSP430xxxxdevicedatasheetsMSP430x1xxFamilyUser'sGuide,literaturenumberSLAU049MSP430x2xxFamilyUser'sGuide,literaturenumberSLAU144MSP430x3xxFamilyUser'sGuide,literaturenumberSLAU012MSP430x4xxFamilyUser'sGuide,literaturenumberSLAU056MSP430x5xxFamilyUser'sGuide,literaturenumberSLAU208IfYouNeedAssistanceSupportfortheMSP430devicesandtheFETdevelopmenttoolsisprovidedbytheTexasInstrumentsProductInformationCenter(PIC).
ContactinformationforthePICcanbefoundontheTIwebsiteatwww.
ti.
com/support.
ACodeComposerStudiospecificWikipage(FAQ)isavailable,andtheTexasInstrumentsE2ECommunitysupportforumsfortheMSP430andCodeComposerStudiov4provideopeninteractionwithpeerengineers,TIengineers,andotherexperts.
Additionaldevice-specificinformationcanbefoundontheMSP430website.
FCCWarningThisequipmentisintendedforuseinalaboratorytestenvironmentonly.
Itgenerates,uses,andcanradiateradiofrequencyenergyandhasnotbeentestedforcompliancewiththelimitsofcomputingdevicespursuanttosubpartJofpart15ofFCCrules,whicharedesignedtoprovidereasonableprotectionagainstradio-frequencyinterference.
Operationofthisequipmentinotherenvironmentsmaycauseinterferencewithradiocommunications,inwhichcase,theuserisrequiredtotakewhatevermeasuresmayberequiredtocorrectthisinterferenceathisownexpense.
8ReadThisFirstSLAU157K–May2005–RevisedAugust2009SubmitDocumentationFeedbackChapter1SLAU157K–May2005–RevisedAugust2009GetStartedNow!
Thischapterprovidesinstructionsoninstallingthesoftware,andshowshowtorunthedemonstrationprograms.
TopicPage1.
1SoftwareInstallation.
101.
2FlashingtheLED101.
3ImportantMSP430DocumentsontheCD-ROMandWeb11SLAU157K–May2005–RevisedAugust2009GetStartedNow!
9SubmitDocumentationFeedback1.
1SoftwareInstallation1.
2FlashingtheLEDSoftwareInstallationwww.
ti.
comToinstallCodeComposerStudiov4(CCS),runsetup_CCS_4.
x.
x.
x.
x.
exefromtheDVDordownloadlocationandfollowtheinstructionsshownonthescreen.
ThehardwaredriversfortheUSBJTAGemulators(MSP-FET430UIFandeZ430series)areinstalledautomaticallywheninstallingCCS.
Thedriverfortheparallel-portFET(MSP-FET430PIF)arenotinstalledbydefault,butcanbeselectedmanuallyduringtheinstallationprocess.
Note:SupportofMSP-FET430PIF(parallelportemulators).
ThedriverandIDEcomponentssupportingtheMSP-FET430PIFparallelportinterfacearenotinstalledbydefault.
YouneedtoselectthemmanuallyduringtheCCS4installationprocess.
Table1-1.
SystemRequirementsRecommendedSystemRequirementsMinimumSystemRequirementsProcessorDualCore1.
5GHzRAM2GB1GB300MB(dependsonfeaturesselectedduringFreeDiskSpace2GBinstallation)MicrosoftWindowsXPwithSP2(32bit)orMicrosoftWindowsXPwithSP2(32bit)orOperatingSystemWindowsVista(32bit)WindowsVista(32bit)ThissectiondemonstratesontheFETtheequivalentoftheC-language"Helloworld!
"introductoryprogram.
CCSv4includesplainCandASMcodefilesaswellasfullypreconfiguredprojects.
ThefollowingdescribeshowanapplicationthatflashestheLEDisdeveloped,downloadedtotheFET,andrun.
1.
StartCodeComposerStudioStart→AllPrograms→TexasInstruments→CodeComposerStudiov4→CodeComposerStudiov4.
2.
CreateanewProjectbyselectingFile→New→CCSProject.
3.
Enteraprojectnameandclicknext4.
SetProjectTypetoMSP4305.
ClicknexttwicetogettotheCCSProjectSettingspage.
SelecttheDeviceVariantusedintheproject.
6.
AddtheflashingLEDcodeexampletotheprojectbyclickingProject→AddFilestoActiveProject.
Codeexamplesarelocatedin\ccs4\msp430\examples.
UseTable1-2toselecttheappropriatesourcecodefile:Table1-2.
CodeExamplesMSP430DevicesCodeExampleMSP430x1xxdevicefamily\msp430x1xx\C-Source\msp430x1xx.
cMSP430x2xxdevicefamily\msp430x2xx\C-Source\msp430x2xx.
cMSP430x4xxdevicefamily\msp430x4xx\C-Source\msp430x4xx.
cMSP430x5xxdevicefamily\msp430x5xx\C-Source\msp430x5xx.
c7.
IfusingaUSBFlashEmulationToolsuchastheMSP-FET430UIFortheeZ430DevelopmentTool,theyshouldbealreadyconfiguredbydefault.
Thedebuginterfacemaybechangedbyopeningthe*.
ccxmlfileintheproject.
Thepull-downmenucontainsTIMSP430USBxandTIMSP430LPTx(incasesupportfortheMSP430ParallelPortToolswasselectedduringtheinstallation)connections.
Select"savefile"fromthedropdownmenuorclickthe"save"icontoensureconfigurationchangesarecorrectlysaved.
8.
Tocompilethecodeanddownloadtheapplicationtothetargetdevice,gotoTarget→DebugActiveProject.
10GetStartedNow!
SLAU157K–May2005–RevisedAugust2009SubmitDocumentationFeedback1.
3ImportantMSP430DocumentsontheCD-ROMandWebwww.
ti.
comImportantMSP430DocumentsontheCD-ROMandWeb9.
TheapplicationmaybestartedbyselectingTarget→Run(F8)orclickingthePlaybuttononthetoolbar.
SeeFAQDebugging#1iftheCCSdebuggerisunabletocommunicatewiththedevice.
Congratulations,youhavejustbuiltandtestedanMSP430application!
Predefinedprojects,whicharelocatedin\msp430\examples\exampleprojects,canbeimportedbyselectingProject→ImportExistingCCS/CCEEclipseProject.
TheprimarysourcesofMSP430andCCS4informationarethedevice-specificdatasheets,user'sguides.
Themostup-to-dateversionsofthesedocumentsavailableatthetimeofproductionhavebeenprovidedontheCD-ROMincludedwiththistool.
TheMSP430website(www.
ti.
com/msp430)containsthelatestversionofthesedocuments.
SLAU157K–May2005–RevisedAugust2009GetStartedNow!
11SubmitDocumentationFeedbackGetStartedNow!
12SLAU157K–May2005–RevisedAugust2009SubmitDocumentationFeedbackChapter2SLAU157K–May2005–RevisedAugust2009DevelopmentFlowThischapterdiscusseshowtouseCodeComposerStudio(CCS)todevelopapplicationsoftwareandhowtodebugthatsoftware.
TopicPage2.
1UsingCodeComposerStudio(CCS)142.
2UsingtheIntegratedDebugger16SLAU157K–May2005–RevisedAugust2009DevelopmentFlow13SubmitDocumentationFeedback2.
1UsingCodeComposerStudio(CCS)2.
1.
1CreatingaProjectFromScratchUsingCodeComposerStudio(CCS)www.
ti.
comThefollowingsectionsareabriefoverviewofhowtouseCCS.
ForafulldiscussionofsoftwaredevelopmentflowwithCCSinassemblyorC,seeMSP430AssemblyLanguageToolsUser'sGuide(SLAU131)andMSP430OptimizingC/C++CompilerUser'sGuide(SLAU132).
Thissectionpresentsstep-by-stepinstructionstocreateanassemblyorCprojectfromscratchandtodownloadandruntheapplicationontheMSP430(seeSection2.
1.
2,ProjectSettings).
Also,theMSP430CodeComposerStudioHelppresentsamorecomprehensiveoverviewoftheprocess.
1.
StarttheCCS(Start→AllPrograms→TexasInstruments→CodeComposerStudiov4→CodeComposerStudiov4).
2.
Createnewproject(File→New→CCSProject).
Enterthenamefortheproject,clicknextandsetProjectTypetoMSP430.
ClicknexttwicetogettotheCCSProjectSettingspage.
SelecttheappropriatedevicevariantandclickFinish.
Forassemblyonlyprojectsensuretoclick"Configureasanassemblyonlyproject.
"3.
Createanewsourcefile(File→New→SourceFile).
Enterfilenameandremembertoaddthesuffix.
cor.
asm.
If,instead,youwanttouseanexistingsourcefileforyourproject,clickProject→AddFilestoActiveProjectandbrowsetothefileofinterest.
SingleclickonthefileandclickOpenordouble-clickonthefilenametocompletetheadditionofitintotheprojectfolder.
Notethataddingafiletotheprojectcreatesacopyofthefileintheprojectdirectory.
Topointtoafileinthedirectorystructurewithoutphysicallyaddingittotheprojectdirectory,clickProject→LinkFilestoActiveProjectinstead.
4.
Entertheprogramtextintothefile.
Note:Use.
hfilestosimplifycodedevelopment.
CCSissuppliedwithfilesforeachdevicethatdefinethedeviceregistersandthebitnames.
Usingthesefilesisrecommendedandcangreatlysimplifythetaskofdevelopingaprogram.
Toincludethe.
hfilecorrespondingtothetargetdevice,addtheline#includeforCand.
cdeclsC,LIST,"msp430xyyy"forassemblycode,wherexyyyspecifiestheMSP430partnumber.
5.
Configuretheconnectionoptionsbyopeningthe*.
ccxmlfileinyourprojecttoselectdebuginterface,oracceptthedefaultfactorysettings.
6.
Buildtheproject(Project→BuildActiveProject).
7.
Debugtheapplication(Target→DebugActiveProject).
Thisstartsthedebugger,whichgainscontrolofthetarget,erasesthetargetmemory,programsthetargetmemorywiththeapplication,andresetsthetarget.
SeeFAQDebugging#1ifthedebuggerisunabletocommunicatewiththedevice.
8.
ClickTarget→Runtostarttheapplication.
9.
ClickTarget→TerminateAlltostoptheapplicationandtoexitthedebugger.
CCSwillreturntotheC/C++view(codeeditor)automatically.
10.
ClickFile→ExittoexitCCS.
DevelopmentFlow14SLAU157K–May2005–RevisedAugust2009SubmitDocumentationFeedback2.
1.
2ProjectSettings2.
1.
3UsinganExistingCCEv2,CCEv3orCCEv3.
1Project2.
1.
4StackManagement2.
1.
5HowtoGenerateBinary-FormatFiles(TI-TXTandINTEL-HEX)www.
ti.
comUsingCodeComposerStudio(CCS)ThesettingsrequiredtoconfiguretheCCSarenumerousanddetailed.
Mostprojectscanbecompiledanddebuggedwithdefaultfactorysettings.
TheprojectsettingsareaccessedbyclickingProject→Propertiesfortheactiveproject.
Thefollowingprojectsettingsarerecommended/required:Specifythetargetdevicefordebugsession(Project→Properties→CCSBuildSettings→DeviceVariant).
ThecorrespondingLinkerCommandFileandRuntimeSupportLibraryareselectedautomatically.
TomoreeasilydebugaCproject,disableoptimization(Project→Properties→C/C++Build→ToolSettings→MSP430Compiler→BasicOptions).
SpecifythesearchpathfortheCpreprocessor(Project→Properties→C/C++Build→ToolSettings→MSP430Compiler→IncludeOptions).
Specifythesearchpathforanylibrariesbeingused(Project→Properties→C/C++Build→ToolSettings→MSP430Linker→FileSearchPath).
Specifythedebuggerinterface.
Openthe*.
ccxmlfileinproject.
InConnectionselectTIMSP430LPTxfortheparallelFETinterfaceorTIMSP430USBxfortheUSBinterface.
EnabletheerasureoftheMainandInformationmemoriesbeforeobjectcodedownload(Project→Properties→CCSDebugSettings→Target→MSP430Properties→DownloadOptions→EraseMainandInformationMemory).
Toensureproperstandaloneoperation,disableSoftwareBreakpoints(Project→Properties→CCSDebugSettings→Target→MSP430Properties→UseSoftwareBreakpoints).
IfSoftwareBreakpointsareenabled,ensureproperterminationofeachdebugsessionwhilethetargetisconnected;otherwise,thetargetmaynotbeoperationalstandalone.
CCSv4supportstheconversionofworkspacesandprojectscreatedinversionCCEv2,v3,andv3.
1totheCCS4format(File→Import→General→ExistingProjectsintoWorkspace→Next).
BrowsetolegacyCCEworkspacecontainingtheprojecttobeimported.
TheImportWizardlistsallprojectsinthegivenworkspace.
SpecificProjectscanthenbeselectedandconverted.
CCEv2andCCEv3projectsmayrequiremanualworkonthetargetconfigurationfile(*.
ccxml)onceimported.
TheIDEmayreturnawarningthatanimportedprojectwasbuildwithanotherversionofCodeGenerationTools(CGT)dependingonthepreviousCGTversion.
Whilethesupportforassemblyprojectshasnotchanged,theheaderfilesforCcodehavebeenmodifiedslightlytoimprovecompatibilitywiththeIAREmbeddedWorkbenchIDE(interruptvectordefinitions).
ThedefinitionsusedinCCE2.
xarestillgiven,buthavebeencommentedoutinallheaderfiles.
TosupportCCE2.
xCcode,removethe"//"infrontof#definestatements,whicharelocatedattheendofeach.
hfile,inthesection"InterruptVectors".
Thereservedstacksizecanbeconfiguredthroughtheprojectoptionsdialog(Project→Properties→C/C++Build→ToolSettings→MSP430Linker→BasicOptions→SetCSystemStackSize).
StacksizeisdefinedtoextendfromthelastlocationofRAMfor50to80bytes(i.
e.
,thestackextendsdownwardsthroughRAMfor50to80bytes,dependingontheRAMsizeoftheselecteddevice).
Notethatthestackcanoverflowduetosmallsizeorapplicationerrors.
SeeSection2.
2.
2.
1foramethodoftrackingthestacksize.
TheCCSinstallationincludesthehex430.
execonversiontool.
ItcanbeconfiguredtogenerateoutputobjectsinTI-TXTformatforusewiththeMSP-GANG430andMSP-PRGS430programmers,aswellasINTEL-HEXformatfilesforTIfactorydeviceprogramming.
ThetoolcanbeusedeitherstandaloneinaSLAU157K–May2005–RevisedAugust2009DevelopmentFlow15SubmitDocumentationFeedback2.
1.
6OverviewofExampleProgramsandProjects2.
2UsingtheIntegratedDebugger2.
2.
1BreakpointTypesUsingtheIntegratedDebuggerwww.
ti.
comcommandline(locatedin\tools\compiler\msp430\bin)ordirectlywithinCCS.
Inthelattercase,apost-buildstepcanbeconfiguredtogeneratethefileautomaticallyaftereverybuildbyselectingpredefinedformatssuchasTI-TXTandINTEL-HEXinthe"ApplyPredefinedStep"menu(Project→Properties→C/C++Build→BuildSteps→Post-BuildStep).
Thegeneratedfileisstoredinthe\\Debug\directory.
ExampleprogramsforMSP430devicesareprovidedin\ccsv4\msp430\examples.
AssemblyandCsourcesareavailableintheappropriatesubdirectory.
Tousetheexamples,createanewprojectandaddtheexamplesourcefiletotheprojectbyclickingProject→AddFilestoActiveProject.
Inaddition,exampleprojectscorrespondingtothecodeexamplesareprovidedin\ccsv4\msp430\examples\exampleprojects.
TheprojectscanbeimportedbyProject→ImportExistingCCS/CCEEclipseProject(seeSection1.
2formoreinformation).
SeeAppendixDforadescriptionofFET-specificmenuswithinCCS.
Thedebuggerbreakpointmechanismusesalimitednumberofon-chipdebuggingresources(specifically,Nbreakpointregisters,seeTable2-1).
WhenNorfewerbreakpointsareset,theapplicationrunsatfulldevicespeed(or"realtime").
WhengreaterthanNbreakpointsaresetandUseSoftwareBreakpointsisenabled(Project→Properties→CCSDebugSettings→Target→MSP430Properties→UseSoftwareBreakpoints),anunlimitednumberofsoftwarebreakpointscanbesetwhilestillmeetingrealtimeconstraints.
Note:Asoftwarebreakpointreplacestheinstructionatthebreakpointaddresswithacalltointerruptthecodeexecution.
Therefore,thereisasmalldelaywhensettingasoftwarebreakpoint.
Inaddition,theuseofsoftwarebreakpointsalwaysrequiresproperterminationofeachdebugsession;otherwise,theapplicationmaynotbeoperationalstandalone.
Bothaddress(code)anddata(value)breakpointsaresupported.
DatabreakpointsandrangebreakpointseachrequiretwoMSP430hardwarebreakpoints.
Table2-1.
DeviceArchitecture,BreakpointsandOtherEmulationFeaturesBreakpointRangeMSP4304-Wire2-WireClockStateTraceDevicesBreakpoinArchitectureJTAGJTAG(1)ControlSequencerBuffer(N)tsCC430F513xMSP430Xv2XX2XXCC430F612xMSP430Xv2XX2XXCC430F613xMSP430Xv2XX2XXMSP430F11x1MSP430X2MSP430F11x2MSP430X2MSP430F12xMSP430X2MSP430F12x2MSP430X2MSP430F13xMSP430X3XMSP430F14xMSP430X3XMSP430F15xMSP430X8XXXXMSP430F16xMSP430X8XXXXMSP430F161xMSP430X8XXXX(1)The2-wireJTAGdebuginterfaceisalsoreferredtoasSpy-Bi-Wire(SBW)interface.
NotethatthisinterfaceissupportedonlybytheUSBemulators(eZ430-xxxxandMSP-FET430UIFUSBJTAGemulator)andtheMSP-GANG430productionprogrammingtool.
TheMSP-FET430PIFparallelportJTAGemulatordoesnotsupportcommunicationin2-wireJTAGmode.
DevelopmentFlow16SLAU157K–May2005–RevisedAugust2009SubmitDocumentationFeedback2.
2.
2UsingBreakpointswww.
ti.
comUsingtheIntegratedDebuggerTable2-1.
DeviceArchitecture,BreakpointsandOtherEmulationFeatures(continued)BreakpointRangeMSP4304-Wire2-WireClockStateTraceDevicesBreakpoinArchitectureJTAGJTAG(1)ControlSequencerBuffer(N)tsMSP430F20xxMSP430XX2XMSP430F21x1MSP430X2XMSP430F21x2MSP430XX2XMSP430F22x2MSP430XX2XMSP430F22x4MSP430XX2XMSP430F23xMSP430X3XXMSP430F23x0MSP430X2XMSP430F24xMSP430X3XXMSP430F241xMSP430XX8XXXXMSP430F2410MSP430X3XXMSP430F261xMSP430XX8XXXXMSP430F41xMSP430X2XMSP430F41x2MSP430XX2XMSP430F42xMSP430X2XMSP430FE42xMSP430X2XMSP430FE42x2MSP430X2XMSP430FW42xMSP430X2XMSP430F42x0MSP430X2XMSP430FG42x0MSP430X2XMSP430F43xMSP430X8XXXXMSP430FG43xMSP430X2XMSP430F43x1MSP430X2XMSP430F44xMSP430X8XXXXMSP430FG461xMSP430XX8XXXXMSP430F47xMSP430X2XMSP430FG47xMSP430X2XMSP430F47x3MSP430X2XMSP430F47x4MSP430X2XMSP430F471xxMSP430XX8XXXXMSP430F54xxMSP430Xv2XX8XXXXMSP430F54xxAMSP430Xv2XX8XXXXMSP430F55xxMSP430Xv2XX8XXXXIfthedebuggerisstartedwithgreaterthanNbreakpointssetandsoftwarebreakpointsaredisabled,amessageisshownthatinformstheuserthatnotallbreakpointscanbeenabled.
NotethatCCSpermitsanynumberofbreakpointstobeset,regardlessoftheUseSoftwareBreakpointssettingofCCS.
Ifsoftwarebreakpointsaredisabled,amaximumofNbreakpointscanbesetwithinthedebugger.
Resettingaprogramrequiresabreakpoint,whichissetontheaddressdefinedinProject→Properties→CCSDebugSettings→Target→GenericDebuggerOptions→RunTo.
TheRunToCursoroperationtemporarilyrequiresabreakpoint.
ConsoleI/O(CIO)functions,suchasprintf,requiretheuseofabreakpoint.
Ifthesefunctionsarecompiledin,butyoudonotwishtouseabreakpoint,disableCIOfunctionalitybychangingtheoptioninProject→Properties→CCSDebugSettings→Target→GenericDebugOptions→EnableCIOfunctionuse.
SLAU157K–May2005–RevisedAugust2009DevelopmentFlow17SubmitDocumentationFeedback2.
2.
2.
1BreakpointsinCCSv4UsingtheIntegratedDebuggerwww.
ti.
comCCSsupportsanumberofpredefinedbreakpointtypesthatcanbeselectedbyopeningamenufoundnexttotheBreakpointsiconintheBreakpointwindow(Window→ShowView→Breakpoints).
Inadditiontotraditionalbreakpoints,CCSallowssettingwatchpointstobreakonadataaddressaccessinsteadofanaddressaccess.
Thepropertiesofbreakpoints/watchpointscanbechangedinthedebuggerbyrightclickingonthebreakpointandselectingProperties.
BreakafterprogramaddressStopscodeexecutionwhentheprogramattemptstoexecutecodeafteraspecificaddress.
BreakbeforeprogramaddressStopscodeexecutionwhentheprogramattemptstoexecutecodebeforeaspecificaddress.
BreakinprogramrangeStopscodeexecutionwhentheprogramattemptstoexecutecodeinaspecificrange.
BreakonDMAtransferBreakonDMAtransferinrangeBreakswhenaDMAaccesswithinaspecifiedaddressrangeoccurs.
BreakonstackoverflowItispossibletodebugtheapplicationsthatcausedthestackoverflow.
SetBreakonStackOverflow(rightclickindebugwindowandthenselect"BreakonStackOverflow"inthecontextmenu).
Theprogramexecutionstopsontheinstructionthatcausedthestackoverflow.
ThesizeofthestackcanbeadjustedinProject→Properties→C/C++Build→MSP430Linker→BasicOptions.
BreakpointSetsabreakpoint.
HardwarebreakpointForcesahardwarebreakpointifsoftwarebreakpointsarenotdisabled.
WatchondataaddressrangeStopscodeexecutionwhendataaccesstoanaddressinaspecificrangeoccurs.
WatchStopscodeexecutionifaspecificdataaccesstoaspecificaddressismade.
WatchpointwithdataStopscodeexecutionifaspecificdataaccesstoaspecificaddressismadewithaspecificvalue.
Restriction1:Watchpointsareapplicabletoglobalvariablesandnon-registerlocalvariables.
Inthelattercase,setabreakpoint(BP)tohaltexecutioninthefunctionwhereobservationofthevariableisdesired(setcodeBPthere).
Thensetthewatchpointanddelete(ordisable)thecodebreakpointinthefunctionandrun/restarttheapplication.
Restriction2:Watchpointsareapplicabletovariables8bitsand16bitswide.
Note:NotalloptionsareavailableoneveryMSP430derivative(seeTable2-1).
Therefore,thenumberofpredefinedbreakpointtypesinthebreakpointmenuvariesdependingontheselecteddevice.
FormoreinformationonadvanceddebuggingwithCCS,seetheapplicationreportAdvancedDebuggingUsingtheEnhancedEmulationModule(EEM)WithCCEVersion3(SLAA393).
18DevelopmentFlowSLAU157K–May2005–RevisedAugust2009SubmitDocumentationFeedbackAppendixASLAU157K–May2005–RevisedAugust2009FrequentlyAskedQuestionsThisappendixpresentssolutionstofrequentlyaskedquestionsregardinghardware,programdevelopmentanddebuggingtools.
TopicPageA.
1Hardware20A.
2ProgramDevelopment(Assembler,C-Compiler,Linker,IDE)20A.
3Debugging21SLAU157K–May2005–RevisedAugust2009FrequentlyAskedQuestions19SubmitDocumentationFeedbackA.
1HardwareA.
2ProgramDevelopment(Assembler,C-Compiler,Linker,IDE)Hardwarewww.
ti.
comForacompletelistofhardwarerelatedFAQs,seetheMSP430HardwareToolsUser'sGuideSLAU278.
Note:ConsidertheCCSReleaseNotesForthecaseofunexpectedbehavior,seetheCCSReleaseNotesdocumentforknownbugsandlimitationsofthecurrentCCSversion.
ThisinformationcanbeaccessedthroughthemenuitemStart→AllPrograms→TexasInstruments→CodeComposerStudiov4→ReleaseNotes.
1.
AcommonMSP430"mistake"istofailtodisablethewatchdogmechanism;thewatchdogisenabledbydefault,anditresetsthedeviceifnotdisabledorproperlymanagedbytheapplication.
2.
WithintheClibraries,GIE(GlobalInterruptEnable)isdisabledbefore(andrestoredafter)thehardwaremultiplierisused.
3.
ItispossibletomixassemblyandCprogramswithinCCS.
Seethe"InterfacingC/C++WithAssemblyLanguage"chapteroftheMSP430OptimizingC/C++CompilerUser'sGuide(literaturenumberSLAU132).
4.
Constantdefinitions(#define)usedwithinthe.
hfilesareeffectivelyreservedandinclude,forexample,C,Z,N,andV.
Donotcreateprogramvariableswiththesenames.
5.
Compileroptimizationcanremoveunusedvariablesand/orstatementsthathavenoeffectandcanaffectdebugging.
Topreventthis,thesevariablescanbedeclaredvolatile;e.
g.
,volatileinti;.
FrequentlyAskedQuestions20SLAU157K–May2005–RevisedAugust2009SubmitDocumentationFeedbackA.
3Debuggingwww.
ti.
comDebuggingThedebuggerispartofCCSandcanbeusedasastandaloneapplication.
ThissectionisapplicablewhenusingthedebuggerbothstandaloneandfromtheCCSIDE.
Note:ConsidertheCCSreleasenotesIncaseofunexpectedbehavior,seetheCCSReleaseNotesdocumentforknownbugsandlimitationsofthecurrentCCSversion.
Toaccessthisinformation,clickStart→AllPrograms→TexasInstruments→CodeComposerStudiov4→ReleaseNotes.
1.
Thedebuggerreportsthatitcannotcommunicatewiththedevice.
Possiblesolutionstothisprobleminclude:Ensurethatthecorrectdebuginterfaceandcorrespondingportnumberhavebeenselectedinthe*.
ccxmlfilewithintheprojectandthatthefilewassavedafterachange.
Ensurethatthejumpersettingsareconfiguredcorrectlyonthetargethardware.
Ensurethatnoothersoftwareapplication(e.
g.
printerdrivers,etc.
)hasreservedortakencontroloftheCOM/parallelport,whichwouldpreventthedebugserverfromcommunicatingwiththedevice.
OpentheDeviceManageranddetermineifthedriverfortheFETtoolhasbeencorrectlyinstalledandiftheCOM/parallelportissuccessfullyrecognizedbytheWindowsOS.
CheckthePCBIOSfortheparallelportsettings(seeFAQDebugging#5).
ForusersofIBMorLenovoThinkPadcomputers,tryportsettingLPT2andLPT3,evenifoperatingsystemreportsthattheparallelportislocatedatLPT1.
Restartthecomputer.
EnsurethattheMSP430deviceissecurelyseatedinthesocket(sothatthe"fingers"ofthesocketcompletelyengagethepinsofthedevice),andthatitspin1(indicatedwithacircularindentationonthetopsurface)alignswiththe"1"markonthePCB.
CAUTIONPossibleDamageToDeviceAlwayshandleMSP430deviceswithavacuumpick-uptoolonly;donotuseyourfingers,asyoucaneasilybendthedevicepinsandrenderthedeviceuseless.
Also,alwaysobserveandfollowproperESDprecautions.
2.
Thedebuggercandebugapplicationsthatutilizeinterruptsandlow-powermodes.
SeeFAQDebugging#17).
3.
Thedebuggercannotaccessthedeviceregistersandmemorywhilethedeviceisrunning.
Theusermuststopthedevicetoaccessdeviceregistersandmemory.
4.
ThedebuggerreportsthatthedeviceJTAGsecurityfuseisblown.
WithcurrentMSP-FET430PIFandMSP430-FET430UIFJTAGinterfacetools,thereisaweaknesswhenadaptingtargetboardsthatarepoweredexternally.
ThisleadstoanaccidentalfusecheckintheMSP430andresultsintheJTAGsecurityfusebeingrecognizedasblownalthoughitisnot.
ThisoccursforMSP-FET430PIFandMSP-FET430UIFbutismainlyseenonMSP-FET430UIF.
Workarounds:ConnectthedeviceRST/NMIpintoJTAGheader(pin11),MSP-FET430PIF/MSP-FET430UIFinterfacetoolsareabletopulltheRSTline,thisalsoresetsthedeviceinternalfuselogic.
DonotconnectbothVCCTool(pin2)andVCCTarget(pin4)oftheJTAGheader.
SpecifyavalueforVCCinthedebuggerthatisequaltotheexternalsupplyvoltage.
5.
Theparallelportdesignators(LPTx)havethefollowingphysicaladdresses:LPT1=378h,LPT2=278h,LPT3=3BCh.
Theconfigurationoftheparallelport(ECP,Compatible,Bidirectional,Normal)isnotsignificant;ECPseemstoworkwell.
SeeFAQDebugging#1foradditionalhintsonsolvingcommunicationproblemsbetweenthedebuggerandthedevice.
SLAU157K–May2005–RevisedAugust2009FrequentlyAskedQuestions21SubmitDocumentationFeedbackDebuggingwww.
ti.
com6.
ThedebuggerassertsRST/NMItoresetthedevicewhenthedebuggerisstartedandwhenthedeviceisprogrammed.
ThedeviceisalsoresetbythedebuggerResetbutton,andwhenthedeviceismanuallyreprogrammed(usingReload),andwhentheJTAGisresynchronized(usingResynchronizeJTAG).
WhenRST/NMIisnotasserted(low),thedebuggersetsthelogicdrivingRST/NMItohighimpedance,andRST/NMIispulledhighviaaresistoronthePCB.
RST/NMIisassertedandnegatedafterpowerisappliedwhenthedebuggerisstarted.
RST/NMIisthenassertedandnegatedasecondtimeafterdeviceinitializationiscomplete.
7.
ThedebuggercandebugadevicewhoseprogramreconfiguresthefunctionoftheRST/NMIpintoNMI.
8.
TheleveloftheXOUT/TCLKpinisundefinedwhenthedebuggerresetsthedevice.
ThelogicdrivingXOUT/TCLKissettohighimpedanceatallothertimes.
9.
Whenmakingcurrentmeasurementsofthedevice,ensurethattheJTAGcontrolsignalsarereleased,otherwisethedeviceispoweredbythesignalsontheJTAGpinsandthemeasurementsareerroneous.
SeeFAQDebugging#10.
10.
Whenthedebuggerhascontrolofthedevice,theCPUison(i.
e.
,itisnotinlow-powermode)regardlessofthesettingsofthelow-powermodebitsinthestatusregister.
Anylow-powermodeconditionisrestoredpriortoSTEPorGO.
Consequently,donotmeasurethepowerconsumedbythedevicewhilethedebuggerhascontrolofthedevice.
Instead,runtheapplicationusingReleaseJTAGonrun.
11.
TheMEMORYwindowcorrectlydisplaysthecontentsofmemorywhereitispresent.
However,theMEMORYwindowincorrectlydisplaysthecontentsofmemorywherethereisnonepresent.
Memoryshouldbeusedonlyintheaddressrangesasspecifiedbythedevicedatasheet.
12.
Thedebuggerutilizesthesystemclocktocontrolthedeviceduringdebugging.
Therefore,devicecountersandothercomponentsthatareclockedbytheMainSystemClock(MCLK)areaffectedwhenthedebuggerhascontrolofthedevice.
Specialprecautionsaretakentominimizetheeffectuponthewatchdogtimer.
TheCPUcoreregistersarepreserved.
Allotherclocksources(SMCLKandACLK)andperipheralscontinuetooperatenormallyduringemulation.
Inotherwords,theFlashEmulationToolisapartiallyintrusivetool.
Devicesthatsupportclockcontrolcanfurtherminimizetheseeffectsbystoppingtheclock(s)duringdebugging(Project→Properties→CCSDebugSettings→Target→ClockControl).
13.
Whenprogrammingtheflash,donotsetabreakpointontheinstructionimmediatelyfollowingthewritetoflashoperation.
Asimplework-aroundtothislimitationistofollowthewritetoflashoperationwithaNOPandtosetabreakpointontheinstructionfollowingtheNOP.
14.
Multipleinternalmachinecyclesarerequiredtoclearandprogramtheflashmemory.
Whensinglesteppingoverinstructionsthatmanipulatetheflash,controlisgivenbacktothedebuggerbeforetheseoperationsarecomplete.
Consequently,thedebuggerupdatesitsmemorywindowwitherroneousinformation.
AworkaroundforthisbehavioristofollowtheflashaccessinstructionwithaNOPandthensteppasttheNOPbeforereviewingtheeffectsoftheflashaccessinstruction.
15.
Bitsthatareclearedwhenreadduringnormalprogramexecution(i.
e.
,interruptflags)areclearedwhenreadwhilebeingdebugged(i.
e.
,memorydump,peripheralregisters).
UsingcertainMSP430deviceswithenhancedemulationlogicsuchasMSP430F43x/44xdevices,bitsdonotbehavethisway(i.
e.
,thebitsarenotclearedbythedebuggerreadoperations).
16.
ThedebuggercannotbeusedtodebugprogramsthatexecuteintheRAMofF12xandF41xdevices.
Aworkaroundforthislimitationistodebugprogramsinflash.
17.
Whilesinglesteppingwithactiveandenabledinterrupts,itcanappearthatonlytheinterruptserviceroutine(ISR)isactive(i.
e.
,thenon-ISRcodeneverappearstoexecute,andthesinglestepoperationstopsonthefirstlineoftheISR).
However,thisbehavioriscorrectbecausethedeviceprocessesanactiveandenabledinterruptbeforeprocessingnon-ISR(i.
e.
,mainline)code.
Aworkaroundforthisbehavioris,whilewithintheISR,todisabletheGIEbitonthestack,sothatinterruptsaredisabledafterexitingtheISR.
Thispermitsthenon-ISRcodetobedebugged(butwithoutinterrupts).
Interruptscanlaterbere-enabledbysettingGIEinthestatusregisterintheRegisterwindow.
OndeviceswithClockControl,itmaybepossibletosuspendaclockbetweensinglestepsanddelayaninterruptrequest(Project→Properties→CCSDebugSettings→Target→ClockControl).
22FrequentlyAskedQuestionsSLAU157K–May2005–RevisedAugust2009SubmitDocumentationFeedbackwww.
ti.
comDebugging18.
OndevicesequippedwithaDataTransferController(DTC),thecompletionofadatatransfercyclepreemptsasinglestepofalow-powermodeinstruction.
Thedeviceadvancesbeyondthelow-powermodeinstructiononlyafteraninterruptisprocessed.
Untilaninterruptisprocessed,itappearsthatthesinglestephasnoeffect.
Aworkaroundtothissituationistosetabreakpointontheinstructionfollowingthelow-powermodeinstruction,andthenexecute(Run)tothisbreakpoint.
19.
ThetransferofdatabytheDataTransferController(DTC)maynotstoppreciselywhentheDTCisstoppedinresponsetoasinglesteporabreakpoint.
WhentheDTCisenabledandasinglestepisperformed,oneormorebytesofdatacanbetransferred.
WhentheDTCisenabledandconfiguredfortwo-blocktransfermode,theDTCmaynotstoppreciselyonablockboundarywhenstoppedinresponsetoasinglesteporabreakpoint.
20.
Breakpoints.
CCSsupportsanumberofpredefinedbreakpointandwatchpointtypes.
SeeSection2.
2.
2foradetailedoverview.
SLAU157K–May2005–RevisedAugust2009FrequentlyAskedQuestions23SubmitDocumentationFeedbackFrequentlyAskedQuestions24SLAU157K–May2005–RevisedAugust2009SubmitDocumentationFeedbackAppendixBSLAU157K–May2005–RevisedAugust2009IAR2.
x/3.
x/4.
xtoCCSC-MigrationSourcecodefortheTICCSCcompilerandsourcecodefortheIAREmbeddedWorkbenchcompilerarenotfullycompatible.
WhilethestandardANSI/ISOCcodeisportablebetweenthesetools,implementation-specificextensionsdifferandneedtobeported.
Thisappendixdocumentsthemajordifferencesbetweenthetwocompilers.
TopicPageB.
1InterruptVectorDefinition.
26B.
2IntrinsicFunctions26B.
3DataandFunctionPlacement.
26B.
4CCallingConventions.
28B.
5OtherDifferences.
28SLAU157K–May2005–RevisedAugust2009IAR2.
x/3.
x/4.
xtoCCSC-Migration25SubmitDocumentationFeedbackB.
1InterruptVectorDefinitionB.
2IntrinsicFunctionsB.
3DataandFunctionPlacementB.
3.
1DataPlacementatanAbsoluteLocationInterruptVectorDefinitionwww.
ti.
comIARISRdeclarations(usingthe#pragmavector=)arenowfullysupportedinCCS.
However,thisisnotthecaseforallotherIARpragmadirectives.
CCSandIARtoolsusethesameinstructionsforMSP430processor-specificintrinsicfunctions.
TheschemeimplementedintheIARcompilerusingeitherthe@operatororthe#pragmalocationdirectiveisnotsupportedwiththeCCScompiler:/*IARCCode*/__no_initcharalpha@0x0200;/*Place'alpha'ataddress0x200*/#pragmalocation=0x0202constintbeta;Ifabsolutedataplacementisneeded,thiscanbeachievedwithentriesintothelinkercommandfile,andthendeclaringthevariablesasexternintheCcode:/*CCSLinkerCommandFileEntry*/alpha=0x200;beta=0x202;/*CCSCCode*/externcharalpha;externintbeta;TheabsoluteRAMlocationsmustbeexcludedfromtheRAMsegment;otherwise,theircontentmaybeoverwrittenasthelinkerdynamicallyallocatesaddresses.
ThestartaddressandlengthoftheRAMblockmustbemodifiedwithinthelinkercommandfile.
Forthepreviousexample,theRAMstartaddressmustbeshifted4bytesfrom0x0200to0x0204,whichreducesthelengthfrom0x0080to0x007C(foranMSP430devicewith128bytesofRAM):/*CCSLinkerCommandFileEntry*//*SPECIFYTHESYSTEMMEMORYMAP*/MEMORY/*assumingadevicewith128bytesofRAM*/{.
.
.
RAM:origin=0x0204,length=0x007C/*was:origin=0x200,length=0x0080*/.
.
.
}Thedefinitionsoftheperipheralregistermapinthelinkercommandfiles(lnk_msp430xxxx.
cmd)andthedevice-specificheaderfiles(msp430xxxx.
h)thataresuppliedwithCCSareanexampleofplacingdataatabsolutelocations.
Note:Whenaprojectiscreated,CCScopiesthelinkercommandfilecorrespondingtotheselectedMSP430derivativefromtheincludedirectory(\tools\compiler\MSP430\include)intotheprojectdirectory.
Therefore,ensurethatalllinkercommandfilechangesaredoneintheprojectdirectory.
Thisallowstheuseofproject-specificlinkercommandfilesfordifferentprojectsusingthesamedevice.
IAR2.
x/3.
x/4.
xtoCCSC-Migration26SLAU157K–May2005–RevisedAugust2009SubmitDocumentationFeedbackB.
3.
2DataPlacementIntoNamedSegmentsB.
3.
3FunctionPlacementIntoNamedSegmentswww.
ti.
comDataandFunctionPlacementInIAR,itispossibletoplacevariablesintonamedsegmentsusingeitherthe@operatorora#pragmadirective:/*IARCCode*/__no_initintalpha@"MYSEGMENT";/*Place'alpha'into'MYSEGMENT'*/#pragmalocation="MYSEGMENT"/*Place'beta'into'MYSEGMENT'*/constintbeta;WiththeCCScompiler,the#pragmaDATA_SECTION()directivemustbeused:/*CCSCCode*/#pragmaDATA_SECTION(alpha,"MYSEGMENT")intalpha;#pragmaDATA_SECTION(beta,"MYSEGMENT")constintbeta;SeeSectionB.
5.
3forinformationonhowtotranslatememorysegmentnamesbetweenIARandCCS.
WiththeIARcompiler,functionscanbeplacedintoanamedsegmentusingthe@operatororthe#pragmalocationdirective:/*IARCCode*/voidg(void)@"MYSEGMENT"{}#pragmalocation="MYSEGMENT"voidh(void){}WiththeCCScompiler,thefollowingschemewiththe#pragmaCODE_SECTION()directivemustbeused:/*CCSCCode*/#pragmaCODE_SECTION(g,"MYSEGMENT")voidg(void){}SeeSectionB.
5.
3forinformationonhowtotranslatememorysegmentnamesbetweenIARandCCS.
SLAU157K–May2005–RevisedAugust2009IAR2.
x/3.
x/4.
xtoCCSC-Migration27SubmitDocumentationFeedbackB.
4CCallingConventionsB.
5OtherDifferencesB.
5.
1InitializingStaticandGlobalVariablesCCallingConventionswww.
ti.
comTheCCSandIARC-compilersusedifferentcallingconventionsforpassingparameterstofunctions.
WhenportingamixedCandassemblyprojecttotheTICCScodegenerationtools,theassemblyfunctionsneedtobemodifiedtoreflectthesechanges.
Fordetailedinformationaboutthecallingconventions,seetheTIMSP430OptimizingC/C++CompilerUser'sGuide(SLAU132)andtheIARMSP430C/C++CompilerReferenceGuide.
Thefollowingexampleisafunctionthatwritesthe32-bitword'Data'toagivenmemorylocationinbig-endianbyteorder.
Itcanbeseenthattheparameter'Data'ispassedusingdifferentCPUregisters.
IARVersion:;voidWriteDWBE(unsignedchar*Add,unsignedlongData);;WritesaDWORDtothegivenmemorylocationinbig-endianformat.
The;memoryaddressMUSTbeword-aligned.
;;IN:R12Address(Add);R14LowerWord(Data);R15UpperWord(Data)WriteDWBEswpbR14;SwapbytesinlowerwordswpbR15;Swapbytesinupperwordmov.
wR15,0(R12);Write1stwordtomemorymov.
wR14,2(R12);Write2ndwordtomemoryretCCSVersion:;voidWriteDWBE(unsignedchar*Add,unsignedlongData);;WritesaDWORDtothegivenmemorylocationinbig-endianformat.
The;memoryaddressMUSTbeword-aligned.
;;IN:R12Address(Add);R13LowerWord(Data);R14UpperWord(Data)WriteDWBEswpbR13;SwapbytesinlowerwordswpbR14;Swapbytesinupperwordmov.
wR14,0(R12);Write1stwordtomemorymov.
wR13,2(R12);Write2ndwordtomemoryretTheANSI/ISOCstandardspecifiesthatstaticandglobal(extern)variableswithoutexplicitinitializationsmustbepre-initializedto0(beforetheprogrambeginsrunning).
ThistaskistypicallyperformedwhentheprogramisloadedandisimplementedintheIARcompiler:/*IAR,globalvariable,initializedto0uponprogramstart*/intCounter;However,theTICCScompilerdoesnotpre-initializethesevariables;therefore,itisuptotheapplicationtofulfillthisrequirement:/*CCS,globalvariable,manuallyzero-initialized*/intCounter=0;IAR2.
x/3.
x/4.
xtoCCSC-Migration28SLAU157K–May2005–RevisedAugust2009SubmitDocumentationFeedbackB.
5.
2CustomBootRoutineB.
5.
3PredefinedMemorySegmentNameswww.
ti.
comOtherDifferencesWiththeIARcompiler,theCstartupfunctioncanbecustomized,givingtheapplicationachancetoperformearlyinitializationssuchasconfiguringperipherals,oromitdatasegmentinitialization.
Thisisachievedbyprovidingacustomized__low_level_init()function:/*IARCCode*/int__low_level_init(void){=/*Insertyourlow-levelinitializationshere*//*Chooseifsegmentinitialization*//*shouldbedoneornot.
*//*Return:0toomitinitialization*//*1toruninitialization*/return(1);}ThereturnvaluecontrolswhetherornotdatasegmentsareinitializedbytheCstartupcode.
WiththeCCSCcompiler,thecustombootroutinenameis_system_pre_init().
ItisusedthesamewayasintheIARcompiler.
/*CCSCCode*/int_system_pre_init(void){/*Insertyourlow-levelinitializationshere*//*Chooseifsegmentinitialization*//*shouldbedoneornot.
*//*Return:0toomitinitialization*//*1toruninitialization*/return(1);}Notethatomittingsegmentinitializationwithbothcompilersomitsbothexplicitandnon-explicitinitialization.
Theusermustensurethatimportantvariablesareinitializedatruntimebeforetheyareused.
Memorysegmentnamesfordataandfunctionplacementarecontrolledbydevice-specificlinkercommandfilesinbothCCSandIARtools.
However,differentsegmentnamesareused.
Seethelinkercommandfilesformoredetailedinformation.
Thefollowingtableshowshowtoconvertthemostcommonlyusedsegmentnames.
DescriptionCCSSegmentNameIARSegmentNameDATA16_NRAM.
bssDATA16_IDATA16_ZStack(RAM).
stackCSTACKMainmemory(flashorROM).
textCODEINFOA.
infoAInformationmemory(flashorROM)INFOB.
infoBINFO.
int00.
int01Interruptvectors(flashorROM)INTVEC….
int14Resetvector(flashorROM).
resetRESETSLAU157K–May2005–RevisedAugust2009IAR2.
x/3.
x/4.
xtoCCSC-Migration29SubmitDocumentationFeedbackB.
5.
4PredefinedMacroNamesOtherDifferenceswww.
ti.
comBothIARandCCScompilersupportafewnonANSI/ISOstandardpredefinedmacronames,whichhelpcreatingcodethatcanbecompiledandusedondifferentcompilerplatforms.
Checkifamacronameisdefinedusingthe#ifdefdirective.
DescriptionCCSMacroNameIARMacroNameIsMSP430thetargetandisaparticularcompiler__MSP430____ICC430__platformusedIsaparticularcompilerplatformused__TI_COMPILER_VERSION____IAR_SYSTEMS_ICC__IsaCheaderfileincludedfromwithinassembly__ASM_HEADER____IAR_SYSTEMS_ASM__sourcecodeIAR2.
x/3.
x/4.
xtoCCSC-Migration30SLAU157K–May2005–RevisedAugust2009SubmitDocumentationFeedbackAppendixCSLAU157K–May2005–RevisedAugust2009IAR2.
x/3.
x/4.
xtoCCSAssemblerMigrationSourcefortheTICCSassemblerandsourcecodefortheIARassemblerarenot100%compatible.
Theinstructionmnemonicsareidentical,whiletheassemblerdirectivesaresomewhatdifferent.
ThisappendixdocumentsthedifferencesbetweentheCCSassemblerdirectivesandtheIAR2.
x/3.
xassemblerdirectives.
TopicPageC.
1SharingC/C++HeaderFilesWithAssemblySource32C.
2SegmentControl.
32C.
3TranslatingA430AssemblerDirectivestoAsm430Directives33SLAU157K–May2005–RevisedAugust2009IAR2.
x/3.
x/4.
xtoCCSAssemblerMigration31SubmitDocumentationFeedbackC.
1SharingC/C++HeaderFilesWithAssemblySourceC.
2SegmentControlSharingC/C++HeaderFilesWithAssemblySourcewww.
ti.
comTheIARA430assemblersupportscertainC/C++preprocessordirectivesdirectlyand,thereby,allowsdirectincludingofC/C++headerfilessuchastheMSP430device-specificheaderfiles(msp430xxxx.
h)intotheassemblycode:#include"msp430x14x.
h"//IncludedeviceheaderfileWiththeCCSAsm430assembler,adifferentschemethatusesthe.
cdeclsdirectivemustbeused.
ThisdirectiveallowsprogrammersinmixedassemblyandC/C++environmentstoshareC/C++headerscontainingdeclarationsandprototypesbetweentheC/C++andassemblycode:.
cdeclsC,LIST,"msp430x14x.
h";IncludedeviceheaderfileMoreinformationonthe.
cdeclsdirectivecanbefoundintheMSP430AssemblyLanguageToolsUser'sGuide(literaturenumberSLAU131).
TheCCSAsm430assemblerdoesnotsupportanyoftheIARA430segmentcontroldirectivessuchasORG,ASEG,RSEG,andCOMMON.
DescriptionAsm430Directive(CCS)Reservespaceinthe.
bssuninitializedsection.
bssReservespaceinanameduninitializedsection.
usectAllocateprogramintothedefaultprogramsection(initialized).
textAllocatedataintoanamedinitializedsection.
sectToallocatecodeanddatasectionstospecificaddresseswiththeCCSassembler,itisnecessarytocreate/usememorysectionsdefinedinthelinkercommandfiles.
ThefollowingexampledemonstratesinterruptvectorassignmentinbothIARandCCSassemblytohighlightthedifferences.
;InterruptVectorsUsedMSP430x11x1/12x(2)–IARAssemblerORG0FFFEh;MSP430RESETVectorDWRESET;ORG0FFF2h;Timer_A0VectorDWTA0_ISR;;InterruptVectorsUsedMSP430x11x1/12x(2)-CCSAssembler.
sect".
reset";MSP430RESETVector.
shortRESET;.
sect".
int09";Timer_A0Vector.
shortTA0_ISR;Bothexamplesassumethatthestandarddevicesupportfiles(headerfiles,linkercommandfiles)areused.
NotethatthelinkercommandfilesaredifferentbetweenIARandCCSandcannotbereused.
SeeSectionB.
5.
3forinformationonhowtotranslatememorysegmentnamesbetweenIARandCCS.
IAR2.
x/3.
x/4.
xtoCCSAssemblerMigration32SLAU157K–May2005–RevisedAugust2009SubmitDocumentationFeedbackC.
3TranslatingA430AssemblerDirectivestoAsm430DirectivesC.
3.
1IntroductionC.
3.
2CharacterStringswww.
ti.
comTranslatingA430AssemblerDirectivestoAsm430DirectivesThefollowingsectionsdescribe,ingeneral,howtoconvertassemblerdirectivesfortheIARA430assembler(A430)toTexasInstrumentsCCSAsm430assembler(Asm430)directives.
Thesesectionsareintendedonlyasaguidefortranslation.
Fordetaileddescriptionsofeachdirective,seeeithertheMSP430AssemblyLanguageToolsUser'sGuide(SLAU131),fromTexasInstruments,ortheMSP430IARAssemblerReferenceGuidefromIAR.
Note:OnlytheassemblerdirectivesrequireconversionOnlytheassemblerdirectivesrequireconversion,nottheassemblerinstructions.
Bothassemblersusethesameinstructionmnemonics,operands,operators,andspecialsymbolssuchasthesectionprogramcounter($)andthecommentdelimiter(;).
TheA430assemblerisnotcasesensitivebydefault.
ThesesectionsshowtheA430directiveswritteninuppercasetodistinguishthemfromtheAsm430directives,whichareshowninlowercase.
Inadditiontousingdifferentdirectives,eachassemblerusesdifferentsyntaxforcharacterstrings.
A430usesCsyntaxforcharacterstrings:Aquoteisrepresentedusingthebackslashcharacterasanescapecharactertogetherwithquote(\")andthebackslashitselfisrepresentedbytwoconsecutivebackslashes(\\).
InAsm430syntax,aquoteisrepresentedbytwoconsecutivequotes("");seeexamples:CharacterStringAsm430Syntax(CCS)A430Syntax(IAR)PLAN"C""PLAN""C""""PLAN\"C\""\dos\command.
com"\dos\command.
com""\\dos\\command.
com"Concatenatedstring(i.
e.
Error41)-"Error""41"SLAU157K–May2005–RevisedAugust2009IAR2.
x/3.
x/4.
xtoCCSAssemblerMigration33SubmitDocumentationFeedbackC.
3.
3SectionControlDirectivesC.
3.
4ConstantInitializationDirectivesTranslatingA430AssemblerDirectivestoAsm430Directiveswww.
ti.
comAsm430hasthreepredefinedsectionsintowhichvariouspartsofaprogramareassembled.
Uninitializeddataisassembledintothe.
bsssection,initializeddataintothe.
datasection,andexecutablecodeintothe.
textsection.
A430alsousessectionsorsegments,buttherearenopredefinedsegmentnames.
Often,itisconvenienttoadheretothenamesusedbytheCcompiler:DATA16_Zforuninitializeddata,CONSTforconstant(initialized)data,andCODEforexecutablecode.
Thefollowingtableusesthesenames.
Apairofsegmentscanbeusedtomakeinitialized,modifiabledataPROM-able.
TheROMsegmentwouldcontaintheinitializersandwouldbecopiedtoRAMsegmentbyastart-uproutine.
Inthiscase,thesegmentsmustbeexactlythesamesizeandlayout.
DescriptionAsm430Directive(CCS)A430Directive(IAR)Reservesizebytesinthe.
bss(uninitializeddata).
bss(1)(2)sectionAssembleintothe.
data(initializeddata)section.
dataRSEGconstAssembleintoanamed(initialized)section.
sectRSEGAssembleintothe.
text(executablecode)section.
textRSEGcodeReservespaceinanamed(uninitialized)section.
usect(1)(2)Alignmentonbyteboundary.
align1(3)Alignmentonwordboundary.
align2EVEN(1).
bssand.
usectdonotrequireswitchingbackandforthbetweentheoriginalandtheuninitializedsection.
Forexample:;IARAssemblerExampleRSEGDATA16_N;SwitchtoDATAsegmentEVEN;EnsureproperalignmentADCResult:DS2;Allocate1wordinRAMFlags:DS1;Allocate1byteinRAMRSEGCODE;SwitchbacktoCODEsegment;CCSAssemblerExample#1ADCResult.
usect".
bss",2,2;Allocate1wordinRAMFlags.
usect".
bss",1;Allocate1byteinRAM;CCSAssemblerExample#2.
bssADCResult,2,2;Allocate1wordinRAM.
bssFlags,1;Allocate1byteinRAM(2)Spaceisreservedinanuninitializedsegmentbyfirstswitchingtothatsegment,thendefiningtheappropriatememoryblock,andthenswitchingbacktotheoriginalsegment.
Forexample:RSEGDATA16_ZLABEL:DS16;Reserve16byteRSEGCODE(3)Initializationofbit-fieldconstants(.
field)isnotsupported,therefore,thesectioncounterisalwaysbyte-aligned.
DescriptionAsm430Directive(CCS)A430Directive(IAR)Initializeoneormoresuccessivebytesortextstrings.
byteor.
stringDBInitializea32-bitIEEEfloating-pointconstant.
doubleor.
floatDFInitializeavariable-lengthfield.
field(1)Reservesizebytesinthecurrentsection.
spaceDSInitializeoneormoretextstringsInitializeoneormoretextstringsDBInitializeoneormore16-bitintegers.
wordDWInitializeoneormore32-bitintegers.
longDL(1)Initializationofbit-fieldconstants(.
field)isnotsupported.
ConstantsmustbecombinedintocompletewordsusingDW.
;Asm430code;A430code.
field5,3\.
field12,4|->DW(30255;BreakifXexceeds255EXITMENDIFDBX;InitializebytestoFROM.
.
.
TOXSETX+1;IncrementcounterENDRENDMThescopeofassembly-timesymbolsdiffersinthetwoassemblers.
InAsm430,definitionscanbeglobaltoafileorlocaltoamoduleormacro.
Localsymbolscanbeundefinedwiththe.
newblockdirective.
InA430,symbolsareeitherlocaltoamacro(LOCAL),localtoamodule(EQU),orglobaltoafile(DEFINE).
Inaddition,thepreprocessordirective#definealsocanbeusedtodefinelocalsymbols.
DescriptionAsm430Directive(CCS)A430Directive(IAR)Assignacharacterstringtoasubstitutionsymbol.
asgSETorVARorASSIGNUndefinelocalsymbols.
newblock(1)Equateavaluewithasymbol.
equor.
setEQUor=Performarithmeticonnumericsubstitutionsymbols.
evalSETorVARorASSIGNEndstructuredefinition.
endstruct(2)Beginastructuredefinition.
struct(2)Assignstructureattributestoalabel.
tag(2)(1)NoA430directivedirectlycorrespondsto.
newblock.
However,#undefmaybeusedtoresetasymbolthatwasdefinedwiththe#definedirective.
Also,macrosormodulesmaybeusedtoachievethe.
newblockfunctionalitybecauselocalsymbolsareimplicitlyundefinedattheendofamacroormodule.
(2)Definitionofstructuretypesisnotsupported.
Similarfunctionalityisachievedbyusingmacrostoallocateaggregatedataandbaseaddressplussymbolicoffset,asshown:MYSTRUCT:MACRODS4ENDMLODEFINE0HIDEFINE2RSEGDATA16_ZXMYSTRUCTRSEGCODEMOVX+LO,R4.
.
.
36IAR2.
x/3.
x/4.
xtoCCSAssemblerMigrationSLAU157K–May2005–RevisedAugust2009SubmitDocumentationFeedbackC.
3.
9MacroDirectivesC.
3.
10MiscellaneousDirectiveswww.
ti.
comTranslatingA430AssemblerDirectivestoAsm430DirectivesDescriptionAsm430Directive(CCS)A430Directive(IAR)Defineamacro.
macroMACROExitprematurelyfromamacro.
mexitEXITMEndmacrodefinition.
endmENDMDescriptionAsm430Directive(CCS)A430Directive(IAR)Senduser-definederrormessagestotheoutput.
emsg#errordeviceSenduser-definedmessagestotheoutputdevice.
mmsg#message(1)Senduser-definedwarningmessagestothe.
wmsg(2)outputdeviceDefinealoadaddresslabel.
label(3)Directiveproducedbyabsolutelister.
setsectASEG(4)Directiveproducedbyabsolutelister.
setsymEQUor=(4)Programend.
endEND(1)Thesyntaxofthe#messagedirectiveis:#message""Thiscauses'#message'tobeoutputtotheprojectbuildwindowduringassemble/compiletime.
(2)Warningmessagescannotbeuser-defined.
#messagemaybeused,butthewarningcounterisnotincremented.
(3)Theconceptofload-timeaddressesisnotsupported.
Run-timeandload-timeaddressesareassumedtobethesame.
Toachievethesameeffect,labelscanbegivenabsolute(run-time)addressesbytheEQUdirectives.
;Asm430code;A430code.
labelload_startload_start:Run_start:load_end:Run_end:run_start:EQU240H.
labelload_endrun_end:EQUrun_start+load_end-load_start(4)AlthoughnotproducedbytheabsolutelisterASEGdefinesabsolutesegmentsandEQUcanbeusedtodefineabsolutesymbols.
MYFLAGEQU23EH;MYFLAGislocatedat23EASEG240H;Absolutesegmentat240MAIN:MOV#23CH,SP;MAINislocatedat240.
.
.
SLAU157K–May2005–RevisedAugust2009IAR2.
x/3.
x/4.
xtoCCSAssemblerMigration37SubmitDocumentationFeedbackC.
3.
11AlphabeticalListingandCrossReferenceofAsm430DirectivesTranslatingA430AssemblerDirectivestoAsm430Directiveswww.
ti.
comAsm430DirectiveAsm430DirectiveA430Directive(IAR)A430Directive(IAR)(CCS)(CCS).
alignALIGN.
loopREPT.
asgSETorVARorASSIGN.
macroMACRO.
breakSeeConditionalAssemblyDirectives.
mexitEXITM.
bssSeeSymbolControlDirectives.
mlibSeeFileReferencingDirectives.
byteor.
stringDB.
mlistLSTEXP+(macro)Cpre-processordeclarationsare.
cdeclsLSTREP+(loopblocks)inherentlysupported.
.
copyor.
include#includeor$.
mmsg#message(XXXXXX).
dataRSEG.
mnolistLSTEXP-(macro).
defPUBLICorEXPORTLSTREP-(loopblocks).
doubleNotsupported.
newblockSeeSymbolControlDirectives.
elseELSE.
nolistLSTOUT-.
elseifELSEIF.
optionSeeListingControlDirectives.
emsg#error.
pagePAGE.
endEND.
refEXTERNorIMPORT.
endifENDIF.
sectRSEG.
endloopENDR.
setsectSeeMiscellaneousDirectives.
endmENDM.
setsymSeeMiscellaneousDirectives.
endstructSeeSymbolControlDirectives.
spaceDS.
equor.
setEQUor=.
sslistNotsupported.
evalSETorVARorASSIGN.
ssnolistNotsupported.
evenEVEN.
stringDB.
fclistLSTCND-.
structSeeSymbolControlDirectives.
fcnolistLSTCND+.
tagSeeSymbolControlDirectives.
fieldSeeConstantInitializationDirectives.
textRSEG.
floatSeeConstantInitializationDirectives.
titleSeeListingControlDirectives.
globalSeeFileReferencingDirectives.
usectSeeSymbolControlDirectives.
ifIF.
widthCOL.
labelSeeMiscellaneousDirectives.
wmsgSeeMiscellaneousDirectives.
lengthPAGSIZ.
wordDW.
listLSTOUT+38IAR2.
x/3.
x/4.
xtoCCSAssemblerMigrationSLAU157K–May2005–RevisedAugust2009SubmitDocumentationFeedbackC.
3.
12UnsupportedA430Directives(IAR)www.
ti.
comTranslatingA430AssemblerDirectivestoAsm430DirectivesThefollowingIARassemblerdirectivesarenotsupportedintheCCSAsm430assembler:ConditionalAssemblyDirectivesMacroDirectivesREPTC(1)LOCAL(2)REPTIFileReferencingDirectivesMiscellaneousDirectivesSymbolControlDirectivesNAMEorPROGRAMRADIXDEFINEMODULEorLIBRARYCASEONSFRBENDMODCASEOFFSFRWListingControlDirectivesC-StylePreprocessorDirectives(3)SymbolControlDirectivesLSTMAC(+/-)#defineASEGLSTCOD(+/-)#undefRSEGLSTPAG(+/-)#if,#else,#elifCOMMONLSTXREF(+/-)#ifdef,#ifndefSTACK#endifORG#include#error(1)ThereisnodirectsupportforIARREPTC/REPTIdirectivesinCCS.
However,equivalentfunctionalitycanbeachievedusingtheCCS.
macrodirective:;IARAssemblerExampleREPTIzero,"R4","R5","R6"MOV#0,zeroENDR;CCSAssemblerExamplezero_regs.
macrolist.
varitem.
loop.
break($ismember(item,list)=0)MOV#0,item.
endloop.
endmCodethatisgeneratedbycalling"zero_regsR4,R5,R6":MOV#0,R4MOV#0,R5MOV#0,R6(2)InCCS,locallabelsaredefinedbyusing$n(withn=0…9)orwithNAME.
Examplesare$4,$7,orTest.
(3)TheuseofC-stylepreprocessordirectivesissupportedindirectlythroughtheuseof.
cdecls.
Moreinformationonthe.
cdeclsdirectivecanbefoundintheMSP430AssemblyLanguageToolsUser'sGuide(literaturenumberSLAU131).
SLAU157K–May2005–RevisedAugust2009IAR2.
x/3.
x/4.
xtoCCSAssemblerMigration39SubmitDocumentationFeedbackIAR2.
x/3.
x/4.
xtoCCSAssemblerMigration40SLAU157K–May2005–RevisedAugust2009SubmitDocumentationFeedbackAppendixDSLAU157K–May2005–RevisedAugust2009FET-SpecificMenusThisappendixdescribestheCCSmenusthatarespecifictotheFET.
TopicPageD.
1Menus.
42SLAU157K–May2005–RevisedAugust2009FET-SpecificMenus41SubmitDocumentationFeedbackD.
1MenusD.
1.
1DebugView:Run→FreeRunD.
1.
2Target→ConnectTargetD.
1.
3Target→Advanced→MakeDeviceSecureD.
1.
4Project→Properties→CCSDebugSettings→Target→MSP430Properties→D.
1.
5Window→ShowView→BreakpointsD.
1.
6Window→ShowView→TraceMenuswww.
ti.
comThedebuggerusesthedeviceJTAGsignalstodebugthedevice.
OnsomeMSP430devices,theseJTAGsignalsaresharedwiththedeviceportpins.
Normally,thedebuggermaintainsthepinsinJTAGmodesothatthedevicecanbedebugged.
Duringthistime,theportfunctionalityofthesharedpinsisnotavailable.
However,whenFreeRun(byopeningapulldownmenunexttotheRuniconontopoftheDebugView)isselected,theJTAGdriversaresetto3-state,andthedeviceisreleasedfromJTAGcontrol(TESTpinissettoGND)whenGOisactivated.
Anyactiveon-chipbreakpointsareretained,andthesharedJTAGportpinsreverttotheirportfunctions.
Atthistime,thedebuggerhasnoaccesstothedeviceandcannotdetermineifanactivebreakpoint(ifany)hasbeenreached.
Thedebuggermustbemanuallycommandedtostopthedevice,atwhichtimethestateofthedeviceisdetermined(i.
e.
,wasabreakpointreached).
SeeFAQDebugging#9.
Regainscontrolofthedevicewhenticked.
BlowstheJTAGfuseonthetargetdevice.
Afterthefuseisblown,nofurthercommunicationviaJTAGwiththedeviceispossible.
ClockControlDisablesthespecifiedsystemclockwhilethedebuggerhascontrolofthedevice(followingaSTOPorbreakpoint).
AllsystemclocksareenabledfollowingaGOorasinglestep(STEP/STEPINTO).
Canonlybechangedwhenthedebuggerisinactive.
SeeFAQDebugging#12.
OpenstheMSP430BreakpointsViewwindow.
Thiswindowcanbeusedtosetbasicandadvancedbreakpoints.
AdvancedsettingssuchasConditionalTriggersandRegisterTriggerscanbeselectedindividuallyforeachbreakpointbyaccessingtheproperties(rightclickoncorrespondingbreakpoint).
Pre-definedbreakpointssuchasBreakonStackOverflowcanbeselectedbyopeningtheBreakpointpulldownmenu,whichislocatednexttotheBreakpointiconatthetopofthewindow.
BreakpointsmaybecombinedbydragginganddroppingwithintheBreakpointViewwindow.
Acombinedbreakpointistriggeredwhenallbreakpointconditionsaremet.
TheTraceViewenablestheuseofthestatestoragemodule.
ThestatestoragemoduleispresentonlyindevicesthatcontainthefullversionoftheEnhancedEmulationModule(EEM)(seeTable2-1).
Onceabreakpointisdefined,theStateStorageViewdisplaysthetraceinformationasconfigured.
VarioustracemodescanselectedwhenclickingtheConfigurationPropertiesiconatthetoprightcornerofthewindow.
DetailsontheEEMareavailableintheapplicationreportAdvancedDebuggingUsingtheEnhancedEmulationModule(EEM)WithCCEVersion3(SLAA393).
FET-SpecificMenus42SLAU157K–May2005–RevisedAugust2009SubmitDocumentationFeedbackD.
1.
7Project→Properties→TIDebugProperties→Target→MSP430Properties→www.
ti.
comMenusTargetVoltageThetargetvoltageoftheMSP-FET430UIFcanbeadjustedbetween1.
8Vand3.
6V.
Thisvoltageisavailableonpin2ofthe14-pintargetconnectortosupplythetargetfromtheUSBFET.
Ifthetargetissuppliedexternally,theexternalsupplyvoltageshouldbeconnectedtopin4ofthetargetconnector,sotheUSBFETcansettheleveloftheoutputsignalsaccordingly.
Canonlybechangedwhenthedebuggerisinactive.
SLAU157K–May2005–RevisedAugust2009FET-SpecificMenus43SubmitDocumentationFeedbackDocumentRevisionHistoryDocumentRevisionHistorywww.
ti.
comVersionChanges/CommentsAddedemulationfeaturesforMSP430F54xxA,MSP430F55xx.
SLAU157LUpdatedandextendedTable2-1witharchitectureinformation.
UpdatedinformationthroughoutforCodeComposerStudiov4.
SLAU157JRemovedinformationonhardware.
ItwasmovedintotheMSP430HardwareToolsUser'sGuide(SLAU278)AddedMSP-FET430U100AkitinSection1.
7andMSP-TS430PZ100Atargetsocketmoduleschematic(FigureB-19)andPCB(FigureB-20).
AddedemulationfeaturesforCC430F513x,CC430F612x,CC430F613x,MSP430F41x2,MSP430F47x,SLAU157IMSP430FG479,andMSP430F471xxinTable2-1UpdatedMSP-TS430PN80targetsocketmoduleschematic(FigureB-15)withinformationonMSP430F47xandMSP430FG47x.
RemovedinformationthroughoutonMSP-FET430Pxx0andMSP-FET430X110kits.
SLAU157HUpdatedinformationthroughoutforCodeComposerEssentialsv3.
1.
SLAU157GAddedMSP-FET430U5x100kitandMSP-TS430PZ5x100targetsocketmoduleschematic.
AddedcrystalinformationtoSection1.
7.
AddedoverviewofdebuginterfacesasTable1-1.
SLAU157FAddedeZ430-F2013,T2012,andeZ430-RF2500.
UpdatedinformationthroughoutforCodeComposerEssentialsv3.
AddedMSP-TS430PW28targetsocketmodule,schematic(FigureB-5)andPCB(FigureB-6).
UpdatedMSP-FET430U28kitcontentinformation(DWorPWpackagesupport)inSection1.
7.
SLAU157EAddedemulationfeaturesforMSP430F21x2toTable2-1.
UpdatedMSP-TS430PW14targetsocketmoduleschematic(FigureB-1).
UpdatedMSP-TS430DA38targetsocketmoduleschematic(FigureB-7).
AddedSection1.
12.
SLAU157DUpdatedTable2-1.
UpdatedAppendixF.
UpdatedAppendixF.
SLAU157CAddedemulationfeaturesforMSP430F22x2,MSP430F241x,MSP430F261x,MSP430FG42x0andMSP430F43xinTable2-1.
RenamedMSP-FET430U40toMSP-FET430U23x0.
ReplacedMSP-FET430U40schematicandPCBfigureswithrenamedMSP-FET430U23x0figures.
SLAU157BAddedFAQHardware#2inSectionA.
1.
AddedFAQDebugging#4inSectionA.
3.
NOTE:Pagenumbersforpreviousrevisionsmaydifferfrompagenumbersinthecurrentversion.
RevisionHistory44SLAU157K–May2005–RevisedAugust2009SubmitDocumentationFeedbackEVALUATIONBOARD/KITIMPORTANTNOTICETexasInstruments(TI)providestheenclosedproduct(s)underthefollowingconditions:Thisevaluationboard/kitisintendedforuseforENGINEERINGDEVELOPMENT,DEMONSTRATION,OREVALUATIONPURPOSESONLYandisnotconsideredbyTItobeafinishedend-productfitforgeneralconsumeruse.
Personshandlingtheproduct(s)musthaveelectronicstrainingandobservegoodengineeringpracticestandards.
Assuch,thegoodsbeingprovidedarenotintendedtobecompleteintermsofrequireddesign-,marketing-,and/ormanufacturing-relatedprotectiveconsiderations,includingproductsafetyandenvironmentalmeasurestypicallyfoundinendproductsthatincorporatesuchsemiconductorcomponentsorcircuitboards.
Thisevaluationboard/kitdoesnotfallwithinthescopeoftheEuropeanUniondirectivesregardingelectromagneticcompatibility,restrictedsubstances(RoHS),recycling(WEEE),FCC,CEorUL,andthereforemaynotmeetthetechnicalrequirementsofthesedirectivesorotherrelateddirectives.
Shouldthisevaluationboard/kitnotmeetthespecificationsindicatedintheUser'sGuide,theboard/kitmaybereturnedwithin30daysfromthedateofdeliveryforafullrefund.
THEFOREGOINGWARRANTYISTHEEXCLUSIVEWARRANTYMADEBYSELLERTOBUYERANDISINLIEUOFALLOTHERWARRANTIES,EXPRESSED,IMPLIED,ORSTATUTORY,INCLUDINGANYWARRANTYOFMERCHANTABILITYORFITNESSFORANYPARTICULARPURPOSE.
Theuserassumesallresponsibilityandliabilityforproperandsafehandlingofthegoods.
Further,theuserindemnifiesTIfromallclaimsarisingfromthehandlingoruseofthegoods.
Duetotheopenconstructionoftheproduct,itistheuser'sresponsibilitytotakeanyandallappropriateprecautionswithregardtoelectrostaticdischarge.
EXCEPTTOTHEEXTENTOFTHEINDEMNITYSETFORTHABOVE,NEITHERPARTYSHALLBELIABLETOTHEOTHERFORANYINDIRECT,SPECIAL,INCIDENTAL,ORCONSEQUENTIALDAMAGES.
TIcurrentlydealswithavarietyofcustomersforproducts,andthereforeourarrangementwiththeuserisnotexclusive.
TIassumesnoliabilityforapplicationsassistance,customerproductdesign,softwareperformance,orinfringementofpatentsorservicesdescribedherein.
PleasereadtheUser'sGuideand,specifically,theWarningsandRestrictionsnoticeintheUser'sGuidepriortohandlingtheproduct.
Thisnoticecontainsimportantsafetyinformationabouttemperaturesandvoltages.
ForadditionalinformationonTI'senvironmentaland/orsafetyprograms,pleasecontacttheTIapplicationengineerorvisitwww.
ti.
com/esh.
NolicenseisgrantedunderanypatentrightorotherintellectualpropertyrightofTIcoveringorrelatingtoanymachine,process,orcombinationinwhichsuchTIproductsorservicesmightbeorareused.
FCCWarningThisevaluationboard/kitisintendedforuseforENGINEERINGDEVELOPMENT,DEMONSTRATION,OREVALUATIONPURPOSESONLYandisnotconsideredbyTItobeafinishedend-productfitforgeneralconsumeruse.
Itgenerates,uses,andcanradiateradiofrequencyenergyandhasnotbeentestedforcompliancewiththelimitsofcomputingdevicespursuanttopart15ofFCCrules,whicharedesignedtoprovidereasonableprotectionagainstradiofrequencyinterference.
Operationofthisequipmentinotherenvironmentsmaycauseinterferencewithradiocommunications,inwhichcasetheuserathisownexpensewillberequiredtotakewhatevermeasuresmayberequiredtocorrectthisinterference.
IMPORTANTNOTICETexasInstrumentsIncorporatedanditssubsidiaries(TI)reservetherighttomakecorrections,modifications,enhancements,improvements,andotherchangestoitsproductsandservicesatanytimeandtodiscontinueanyproductorservicewithoutnotice.
Customersshouldobtainthelatestrelevantinformationbeforeplacingordersandshouldverifythatsuchinformationiscurrentandcomplete.
AllproductsaresoldsubjecttoTI'stermsandconditionsofsalesuppliedatthetimeoforderacknowledgment.
TIwarrantsperformanceofitshardwareproductstothespecificationsapplicableatthetimeofsaleinaccordancewithTI'sstandardwarranty.
TestingandotherqualitycontroltechniquesareusedtotheextentTIdeemsnecessarytosupportthiswarranty.
Exceptwheremandatedbygovernmentrequirements,testingofallparametersofeachproductisnotnecessarilyperformed.
TIassumesnoliabilityforapplicationsassistanceorcustomerproductdesign.
CustomersareresponsiblefortheirproductsandapplicationsusingTIcomponents.
Tominimizetherisksassociatedwithcustomerproductsandapplications,customersshouldprovideadequatedesignandoperatingsafeguards.
TIdoesnotwarrantorrepresentthatanylicense,eitherexpressorimplied,isgrantedunderanyTIpatentright,copyright,maskworkright,orotherTIintellectualpropertyrightrelatingtoanycombination,machine,orprocessinwhichTIproductsorservicesareused.
InformationpublishedbyTIregardingthird-partyproductsorservicesdoesnotconstitutealicensefromTItousesuchproductsorservicesorawarrantyorendorsementthereof.
Useofsuchinformationmayrequirealicensefromathirdpartyunderthepatentsorotherintellectualpropertyofthethirdparty,oralicensefromTIunderthepatentsorotherintellectualpropertyofTI.
ReproductionofTIinformationinTIdatabooksordatasheetsispermissibleonlyifreproductioniswithoutalterationandisaccompaniedbyallassociatedwarranties,conditions,limitations,andnotices.
Reproductionofthisinformationwithalterationisanunfairanddeceptivebusinesspractice.
TIisnotresponsibleorliableforsuchaltereddocumentation.
Informationofthirdpartiesmaybesubjecttoadditionalrestrictions.
ResaleofTIproductsorserviceswithstatementsdifferentfromorbeyondtheparametersstatedbyTIforthatproductorservicevoidsallexpressandanyimpliedwarrantiesfortheassociatedTIproductorserviceandisanunfairanddeceptivebusinesspractice.
TIisnotresponsibleorliableforanysuchstatements.
TIproductsarenotauthorizedforuseinsafety-criticalapplications(suchaslifesupport)whereafailureoftheTIproductwouldreasonablybeexpectedtocauseseverepersonalinjuryordeath,unlessofficersofthepartieshaveexecutedanagreementspecificallygoverningsuchuse.
Buyersrepresentthattheyhaveallnecessaryexpertiseinthesafetyandregulatoryramificationsoftheirapplications,andacknowledgeandagreethattheyaresolelyresponsibleforalllegal,regulatoryandsafety-relatedrequirementsconcerningtheirproductsandanyuseofTIproductsinsuchsafety-criticalapplications,notwithstandinganyapplications-relatedinformationorsupportthatmaybeprovidedbyTI.
Further,BuyersmustfullyindemnifyTIanditsrepresentativesagainstanydamagesarisingoutoftheuseofTIproductsinsuchsafety-criticalapplications.
TIproductsareneitherdesignednorintendedforuseinmilitary/aerospaceapplicationsorenvironmentsunlesstheTIproductsarespecificallydesignatedbyTIasmilitary-gradeor"enhancedplastic.
"OnlyproductsdesignatedbyTIasmilitary-grademeetmilitaryspecifications.
BuyersacknowledgeandagreethatanysuchuseofTIproductswhichTIhasnotdesignatedasmilitary-gradeissolelyattheBuyer'srisk,andthattheyaresolelyresponsibleforcompliancewithalllegalandregulatoryrequirementsinconnectionwithsuchuse.
TIproductsareneitherdesignednorintendedforuseinautomotiveapplicationsorenvironmentsunlessthespecificTIproductsaredesignatedbyTIascompliantwithISO/TS16949requirements.
Buyersacknowledgeandagreethat,iftheyuseanynon-designatedproductsinautomotiveapplications,TIwillnotberesponsibleforanyfailuretomeetsuchrequirements.
FollowingareURLswhereyoucanobtaininformationonotherTexasInstrumentsproductsandapplicationsolutions:ProductsApplicationsAmplifiersamplifier.
ti.
comAudiowww.
ti.
com/audioDataConvertersdataconverter.
ti.
comAutomotivewww.
ti.
com/automotiveDLPProductswww.
dlp.
comBroadbandwww.
ti.
com/broadbandDSPdsp.
ti.
comDigitalControlwww.
ti.
com/digitalcontrolClocksandTimerswww.
ti.
com/clocksMedicalwww.
ti.
com/medicalInterfaceinterface.
ti.
comMilitarywww.
ti.
com/militaryLogiclogic.
ti.
comOpticalNetworkingwww.
ti.
com/opticalnetworkPowerMgmtpower.
ti.
comSecuritywww.
ti.
com/securityMicrocontrollersmicrocontroller.
ti.
comTelephonywww.
ti.
com/telephonyRFIDwww.
ti-rfid.
comVideo&Imagingwww.
ti.
com/videoRF/IFandZigBeeSolutionswww.
ti.
com/lprfWirelesswww.
ti.
com/wirelessMailingAddress:TexasInstruments,PostOfficeBox655303,Dallas,Texas75265Copyright2009,TexasInstrumentsIncorporated
麻花云怎么样?麻花云公司成立于2007年,当前主打产品为安徽移动BGP线路,数据中心连入移动骨干网。提供5M,10M大带宽云主机,香港云服务器产品,数据中心为香港将军澳机房,香港宽频机房 cn2-GIA优质线路、采用HYPER-V,KVM虚拟技术架构一、麻花云官网点击直达麻花云官方网站合肥网联网络科技有限公司优惠码: 专属优惠码:F1B07B 享受85折优惠。最新活动 :双11 云上嗨购 香港云主...
iON Cloud怎么样?iON Cloud升级了新加坡CN2 VPS的带宽和流量最低配的原先带宽5M现在升级为10M,流量也从原先的150G升级为250G。注意,流量也仅计算出站方向。iON Cloud是Krypt旗下的云服务器品牌,成立于2019年,是美国老牌机房(1998~)krypt旗下的VPS云服务器品牌,主打国外VPS云服务器业务,均采用KVM架构,整体性能配置较高,云服务器产品质量靠...
zoecloud怎么样?zoecloud是一家国人商家,5月成立,暂时主要提供香港BGP KVM VPS,线路为AS41378,并有首发永久8折优惠:HKBGP20OFF。目前,解锁香港区 Netflix、Youtube Premium ,但不保证一直解锁,谢绝以不是原生 IP 理由退款。不保证中国大陆连接速度,建议移动中转使用,配合广州移动食用效果更佳。点击进入:zoecloud官方网站地址zo...
flashtool强刷教程为你推荐
压缩软件哪个好解压软件哪个好游戏加速器哪个好大家玩游戏用的都是什么加速器啊,哪个效果最好等额本息等额本金哪个好等额本息和等额本金哪个好?播放器哪个好什么手机视频播放器比较好用?扣扣空间登录如何设置QQ空间快速登陆飞信空间登录请问如何登陆我的飞信空间?willyunlee电影拳皇演的是什么意思上海dns服务器地址上海市青浦区的电信DNS地址是多少360云盘网页版登陆360密盘怎么登陆360云存储360云盘最高多少内存
域名升级访问 成都主机租用 看国外视频直播vps 域名备案信息查询 瓦工 themeforest permitrootlogin 宕机监控 表单样式 搜狗12306抢票助手 500m空间 台湾谷歌网址 最好的免费空间 泉州电信 速度云 国外代理服务器地址 免费智能解析 vip域名 多线空间 shopex主机 更多