1CodeComposerStudio&DSP/BIOSIntegratedDevelopEnvironmentRealTimeScheduling,Debug&AnalysisTimeToMarketPerformanceReliability2HOSTDEVELOPMENTCOMPUTERCodeComposerStudioProgrammingWithDSP/BIOSTARGETTMS320DSPHARDWAREDSP/BIOSKernelInterfacetargetapplicationprogramBUILD.c.asm.hprogramsourceskernelheaders.exeexecutableimageDEBUGJTAGEMULATIONSERVERRTDX.libkernelmodulesCONFIGURATIONVISUALIZATIONC-andASM-callablefunctionsinteractiveconfigurationtoolkernel-awaredebugsupporton-the-flyprogramanalysisreal-timecapture3SoftwareModulesDSP/BIOS™containsacollectionofmodulesEachmoduleisacoherentsoftwarepackageModuleviewedfromtwoperspectivesinterface—relatedsetofconstants,types,andfunctionsvisibletoclientprogramsbody—algorithmsanddatastructureschosentoimplementfunctionalityoftheinterface4real-timehostlinkMix-and-MatchModulesTARGETTMS320DSPHARDWAREDSP/BIOSKernelInterfaceREAL-TIMECAPTUREsoftwareeventlogsstatisticsaccumulatorshostcmd/datachannelsHARDWAREABSTRACTIONreal-timeclockservicesdevice-independentI/OlogicalmemorysegmentsMULTIPLETHREADSHW+SWinterruptssynchronizedtasksbackgroundroutinesSUMCOUNTMAXXXXXXXXXXXXXXXXXXXXXXXXXput()get()post()post()pend()0000FFFFRAMdataportstreamsmessagesperiodicfunctionswall-clocktimefastslowallocationstaticdynamictimer5LOG-EventLogManagerHostTargetLOGobjectLOGbufferread&clear•Logsresideintargetmemory•Fixedorcircularbuffer•Logspassedtohostduringidle•SetupwithConfigtool6StandardCfunctionI/OprintfFunction-datacollection-I/O-dataformat&display5,100+cycles(200cyclesperchar)10,400words7DSP/BIOSI/OLOGprintfFunction-datacollection28cycles(C54x)16words-I/Oapprox100cycles-dataformat&display1,000cyclesTHREADBIOSIDLEHOST8real-timehostlinkMix-and-MatchModulesTARGETTMS320DSPHARDWAREDSP/BIOSKernelInterfaceREAL-TIMECAPTUREsoftwareeventlogsstatisticsaccumulatorshostcmd/datachannelsHARDWAREABSTRACTIONreal-timeclockservicesdevice-independentI/OlogicalmemorysegmentsMULTIPLETHREADSHW+SWinterruptssynchronizedtasksbackgroundroutinesSUMCOUNTMAXXXXXXXXXXXXXXXXXXXXXXXXXput()get()post()post()pend()0000FFFFRAMdataportstreamsmessagesperiodicfunctionswall-clocktimefastslowallocationstaticdynamictimer9STS-StatisticsManagerCaptureCount,Maximum,andTotalvaluesforanyvariablesinRealTimeHWI,SWI,PRD,andPIPcapturedautomaticallySTSstatisticsAPIsforexplicitstatisticsobjectsinyourtargetprogram10TraceManagerReal-timeanalysis:Turnson/offtracesUseonlywhatyouneedTargetcanstart/stopacquiringdatawhenanomalydiscoveredwithfixedlog:Store1stneventssinceenabledStorelastneventsuntildisabled11real-timehostlinkMix-and-MatchModulesTARGETTMS320DSPHARDWAREDSP/BIOSKernelInterfaceREAL-TIMECAPTUREsoftwareeventlogsstatisticsaccumulatorshostcmd/datachannelsHARDWAREABSTRACTIONreal-timeclockservicesdevice-independentI/OlogicalmemorysegmentsMULTIPLETHREADSHW+SWinterruptssynchronizedtasksbackgroundroutinesSUMCOUNTMAXXXXXXXXXXXXXXXXXXXXXXXXXput()get()post()post()pend()0000FFFFRAMdataportstreamsmessagesperiodicfunctionswall-clocktimefastslowallocationstaticdynamictimer12HST-HostChannelManagerReal-timefileI/OAudioSWIPIPEbuffersframe1frame2frame2frame1HostChannelsHostComputer13real-timehostlinkMix-and-MatchModulesTARGETTMS320DSPHARDWAREDSP/BIOSKernelInterfaceREAL-TIMECAPTUREsoftwareeventlogsstatisticsaccumulatorshostcmd/datachannelsHARDWAREABSTRACTIONreal-timeclockservicesdevice-independentI/OlogicalmemorysegmentsMULTIPLETHREADSHW+SWinterruptssynchronizedtasksbackgroundroutinesSUMCOUNTMAXXXXXXXXXXXXXXXXXXXXXXXXXput()get()post()post()pend()0000FFFFRAMdataportstreamsmessagesperiodicfunctionswall-clocktimefastslowallocationstaticdynamictimer14CLKManagerCPUClockex:200MHzTimerRegister•Usersetsus/interrupt•ToolsetsPRDregisterTimerInterrupt•CallsPRD_Tick•CallsanyCLKHWIfunctions/4ex:PRD=4999915PRD-PeriodicFunctionManagerUseCLKManagertodrivePRDCallPRD_TickTimerInterruptorCallPRD_tickyourselfLowResolution‘tickrate’ex:1msPostsPRD_SWIExecutesallreadyPRDsex:loadPRDevery16ms(16ticks)16PIP-BufferedPipeManagerExample:audiodemoAudioSWICodecISRReaderReaderWriterWriterAudioin/outPIPEbuffersframe1frame2frame2frame117MEM-MemoryManagerSpecifymemorysegmentsandlocatecodeanddatasectionsDSP/BIOSgenerateslinker.cmdfileSectionDescriptionDefault.dataDataIDRAM.textProgramIPRAM.stackStackIDRAM.biosBIOScodeIPRAMExamples:18real-timehostlinkMix-and-MatchModulesTARGETTMS320DSPHARDWAREDSP/BIOSKernelInterfaceREAL-TIMECAPTUREsoftwareeventlogsstatisticsaccumulatorshostcmd/datachannelsHARDWAREABSTRACTIONreal-timeclockservicesdevice-independentI/OlogicalmemorysegmentsMULTIPLETHREADSHW+SWinterruptssynchronizedtasksbackgroundroutinesSUMCOUNTMAXXXXXXXXXXXXXXXXXXXXXXXXXput()get()post()post()pend()0000FFFFRAMdataportstreamsmessagesperiodicfunctionswall-clocktimefastslowallocationstaticdynamictimer19PrincipalSoftwareRequirementsRealTimeSystemattributes...EventDrivensynchronous&asynchronousTimeConstrainedhard&softrealtimeRequireConcurrencypreemptionmulti-taskingJWL-TISB-2/08/0020TheHistoricalProblem_IO_isr:ssbxintmstm#0,imrpshmst0….popmst0rsbxintmretevoidma