▪Able.zhou▪1/10/2020AMP和SMP概念AMP系统调试和同步机制SMP系统调试Multi-CoreDebugging▪2/x▪▪Able.zhou▪10.01.2020AMP和SMP概念AMP系统调试和同步机制SMP系统调试▪3/x▪▪Able.zhou▪10.01.2020单核系统架构单核拥有/控制所有资源,且完成所有任务CORERAMFLASHGPIOTIMERMemoriesPeripheralsSystemBusTask1Task2......Taskn▪4/x▪▪Able.zhou▪10.01.2020系统架构每个内核有其自己的资源和特定的任务,也共享部分资源MASTERCORESLAVECOREGPIOTIMERRAMFLASHPERMEMGlobalSystemBusLocalBusPERMEMLocalBusTask1Task3......TaskmTask2Task4......Taskn▪5/x▪▪Able.zhou▪10.01.2020系统架构AMP表示”AsymmetricMultiProcessing”AMP系统内核架构同样内核(例如:多个ARM946E)同架构但不同性能的多个内核(例如:一个ARM946E,一个Cortex-A9)完全不同架构的内核(例如:一个ARM946E,一个TMS320C55X)每个内核都有自己特定的任务和资源▪6/x▪▪Able.zhou▪10.01.2020系统架构各个内核公用系统资源和共同完成所有任务CORE1RAMFLASHTIMERGPIOMemoriesPeripheralsCORE2SystemBusTask1Task2......Taskn▪7/x▪▪Able.zhou▪10.01.2020系统架构SMP表示”SymmetricMultiProcessing”SMP系统内核架构所有内核架构必须相同所有内核拥有同样的地址空间和资源所有任务都可以在任一核上执行▪8/x▪▪Able.zhou▪10.01.2020▪9/x▪▪Able.zhou▪10.01.2020AMP和SMP概念AMP系统调试和同步机制SMP系统调试▪10/x▪▪Able.zhou▪10.01.2020实例(1)▪11/x▪▪Able.zhou▪10.01.2020实例(2)▪12/x▪▪Able.zhou▪10.01.2020系统调试配置▪13/x▪▪Able.zhou▪10.01.2020系统调试配置▪14/x▪▪Able.zhou▪10.01.2020!TwosampleslavedebuggersIfAutoIncrementisset,thentheportvaluesareautomaticallyincrementedforthetheothertwocoresbyone.▪15/x▪▪Able.zhou▪10.01.2020系统特性不是所有内核在默认状态下都是可以调试的有些内核处于复状态有些内核没有时钟有些内核仍处于未上电状态一般需要主核先对其他从核完成初始化后,从核才可以被调试MASTERCORESLAVECORE1SLAVECORE2SLAVECORE3RESETCONTROLCLOCKCONTROLPOWERCONTROL▪16/x▪▪Able.zhou▪10.01.2020:Ifonecoreentersapowersavingstate,thenthewholeJTAGscanchainisblocked.Accessingasinglecoreisnotpossibleuntilallcoreshavewakedup.▪17/x▪▪Able.zhou▪10.01.2020系统配置(CoreSightsystem)Cortex-MDebugAndTraceRAM/FLASHCortex-MCortex-A/RDAPTAPJTAG/SWDAHBAccessPortAPBAccessPortJTAGAccessPortDebugPortPort0Port7...JTAGCoreJTAGMemorybusDebugperipheralbusAP0AP1AP2DAPinternalbus▪18/x▪▪Able.zhou▪10.01.2020系统配置(CoreSightsystem)▪19/x▪▪Able.zhou▪10.01.2020系统配置(CoreSightsystem)▪20/x▪▪Able.zhou▪10.01.2020系统配置(CoreSightsystem)AccessPortnumbersIndividualdebugandtracebaseaddressesSharedtracebaseaddresses▪21/x▪▪Able.zhou▪10.01.2020系统同步机制(软件)IntercomnameoftheTRACE32instanceSYnch.ONSYnch.OFFIntercomnamesoftheTRACE32remoteinstanceSYnch.Connectlocalhost:10001...ActionssendingtootherTRACE32instancesSYnch.MasterGo[ON|OFF]SYnch.MasterBreak[ON|OFF]SYnch.MasterStep[ON|OFF]ActionstoreactonsyncheventsfromotherTRACE32instancesSYnch.SlaveGo[ON|OFF]SYnch.SlaveBreak[ON|OFF]SYnch.SlaveStep[ON|OFF]SYnch.RESetSYnch.state▪22/x▪▪Able.zhou▪10.01.2020系统同步机制(软件)TargetSystemARMDSP\1.2.3.4.5.▪23/x▪▪Able.zhou▪10.01.2020系统同步机制(软件)TargetSystemARMDSP1.2.3.BKPT▪24/x▪▪Able.zhou▪10.01.2020系统同步机制(硬件)TargetSystemARMDSPCrossTrigger1.2.3.4.▪25/x▪▪Able.zhou▪10.01.2020系统同步机制(硬件)TargetSystemARMDSPCrossTrigger2.1.BKPT▪26/x▪▪Able.zhou▪10.01.2020系统同步机制(硬件)SynchronousstartbyCTIissupportedby:Cortex-R4Cortex-A5/8/9Cortex-M3(revision2orlater)Synchronousstopissupported,iftheCTIimplementatonfollowstheARMrecommendations.DebuggerrequiresadditionalsetuptouseCTI:SYStem.CONFIGCTICONFIGARMV1;withoutsupportingrestartSYStem.CONFIGCTICONFIGCortexV1;withsupportingrestartSomechipsrequireacustomsetup,e.g.:SYStem.CONFIGCTICONFIGOMAP3▪27/x▪▪Able.zhou▪10.01.2020系统示例演示OMPA5912(ARM926EJ+TMS320C55X)电源USB/ETH▪28/x▪▪Able.zhou▪10.01.2020AMP和SMP概念AMP系统调试和同步机制SMP系统调试▪29/x▪▪Able.zhou▪10.01.2020实例(1)▪30/x▪▪Able.zhou▪10.01.2020实例(2)▪31/x▪▪Able.zhou▪10.01.2020系统配置(ARM11MPCore)ARM11TDITDOInstructionRegisterDataRegister51ETBTDITDOInstructionRegisterDataRegister41ARM11TDITDOInstructionRegisterDataRegister51ETBTDITDOInstructionRegisterDataRegister41TDITDO13.3.0.0.9.2.5.1.13.3.0.0.9.2.5.1.4.1.9.2.0.0.13.3.SYStem.CONFIGCoreNumber2.Core0&1:SYStem.CPUARM11MPCoreSYStem.CONFIGIRPRESYStem.CONFIGDRPRESYStem.CONFIGIRPOSTSYStem.CONFIGDRPOSTSYStem.CONFIGETBIRPRESYStem.CONFIGETBDRPRESYStem.CONFIGETBIRPOSTSYStem.CONFIGETBDRPOSTSYStem.Up▪32/x▪▪Able.zhou▪10.01.2020系统配置(Cortex-AMPCore)TD