Texas Instruments TMS320 DSP Computer Hardware User Manual


 
www.ti.com
A.4GeneralGuidelines
GeneralGuidelines
DMARule3EachoftheIDMA2methodsimplementedbyanalgorithmmustbeindependently
relocateable.(SeeSection6.7)
DMARule4AllalgorithmsmuststatethemaximumnumberofconcurrentDMAtransfersforeach
logicalchannel.(SeeSection6.8)
DMARule5Allagorithmsmustcharacterizetheaverageandmaximumsizeofthedatatransfersper
logicalchannelforeachoperation.Also,allalgorithmsmustcharacterizetheaverageand
maximumfrequencyofdatatransfersperlogicalchannelforeachoperation.(SeeSection6.8)
DMARule6C6000algorithmsmustnotissueanyCPUread/writestobuffersinexternalmemorythat
areinvolvedinDMAtransfers.Thisalsoappliestotheinputbufferspassedtothealgorithmthrough
itsalgorithminterface.(SeeSection6.13.1)
DMARule7IfaC6000algorithmhasimplementedtheIDMA2interface,allinputandoutputbuffers
residinginexternalmemoryandpassedtothisalgorithmthroughitsfunctioncalls,shouldbe
allocatedonacachelineboundaryandbeamultipleofthecachelinelengthinsize.The
applicationmustalsocleanthecacheentriesforthesebuffersbeforepassingthemtothe
algorithm.(SeeSection6.13.1)
DMARule8ForC6000algorithms,allbuffersresidinginexternalmemoryinvolvedinaDMAtransfer
shouldbeallocatedonacachelineboundaryandbeamultipleofthecachelinelengthinsize.
(SeeSection6.13.1)
DMARule9C6000Algorithmsshouldnotusestackallocatedbuffersasthesourceordestinationof
anyDMAtransfer.(SeeSection6.13.1)
DMARule10C55xalgorithmsmustrequestalldatabuffersinexternalmemorywith32-bitalignment
andsizesinmultiplesof4(bytes).(SeeSection6.14.3)
DMARule11C55xalgorithmsmustusethesamedatatypes,accessmodesandDMAtransfer
settingswhenreadingfromorwritingtodatastoredinexternalmemory,orinapplication-passed
databuffers.(SeeSection6.14.3)
Guideline1Algorithmsshouldminimizetheirpersistentdatamemoryrequirementsinfavorofscratch
memory.(SeeSection2.3.2)
Guideline2Eachinitializationandfinalizationfunctionshouldbedefinedinaseparateobjectmodule;
thesemodulesmustnotcontainanyothercode.(SeeSection2.4)
Guideline3Allmodulesthatsupportobjectcreationshouldsupportdesign-timeobjectcreation.(See
Section3.1.5)
Guideline4Allmodulesthatsupportobjectcreationshouldsupportrun-timeobjectcreation.(See
Section3.1.6)
Guideline5Algorithmsshouldkeepstacksizerequirementstoaminimum.(SeeSection4.1.2)
Guideline6Algorithmsshouldminimizetheirstaticmemoryrequirements.(SeeSection4.1.3)
Guideline7Algorithmsshouldneverhaveanyscratchstaticmemory.(SeeSection4.1.3)
Guideline8Algorithmcodeshouldbepartitionedintodistinctsectionsandeachsectionshouldbe
characterizedbytheaveragenumberofinstructionsexecutedperinputsample.(SeeSection4.2)
Guideline9Interruptlatencyshouldneverexceed10µs.(SeeSection4.3)
Guideline10Algorithmsshouldavoidtheuseofglobalregisters.(SeeSection5.1)
Guideline11Algorithmsshouldavoidtheuseofthefloatdatatype.(SeeSection5.2)
78RulesandGuidelinesSPRU352GJune2005RevisedFebruary2007
SubmitDocumentationFeedback