; -------------------------------------------------------------------------------- ; @Title: ATSAMC2x Specific Menu ; @Props: Released ; @Author: KKW, BCA, LST, MKO, KRZ ; @Changelog: 2015-11-20 KKW ; 2019-05-14 KRZ ; @Manufacturer: ATMEL - Atmel Corporation ; @Core: Cortex-M0P ; @Chip: ATSAMC20E15A, ATSAMC20E16A, ATSAMC20E17A, ATSAMC20E18A, ATSAMC20G15A, ; ATSAMC20G16A, ATSAMC20G17A, ATSAMC20G18A, ATSAMC20J15A, ATSAMC20J16A, ; ATSAMC20J17A, ATSAMC20J18A, ATSAMC20N17A, ATSAMC20N18A, ATSAMC21E15A, ; ATSAMC21E16A, ATSAMC21E17A, ATSAMC21E18A, ATSAMC21G15A, ATSAMC21G16A, ; ATSAMC21G17A, ATSAMC21G18A, ATSAMC21J15A, ATSAMC21J16A, ATSAMC21J17A, ; ATSAMC21J18A, ATSAMC21N17A, ATSAMC21N18A ; @Copyright: (C) 1989-2019 Lauterbach GmbH, licensed for use with TRACE32(R) only ; -------------------------------------------------------------------------------- ; $Id: menatsamc2x.men 16339 2023-07-03 13:30:14Z pegold $ add menu ( IF SOFTWARE.BUILD.BASE()>=69655. ( popup "&CPU" ( separator IF CPU.FEATURE(MMU) ( popup "[:mmu]MMU" ( menuitem "[:mmureg]MMU Control" "MMU.view" separator menuitem "[:mmu]MMU Table Dump" "MMU.DUMP.PageTable" menuitem "[:mmu]MMU Table List" "MMU.List.PageTable" separator IF CPU.FEATURE(ITLBDUMP) ( menuitem "[:mmu]ITLB Dump" "MMU.DUMP.ITLB" ) IF CPU.FEATURE(DTLBDUMP) ( menuitem "[:mmu]DTLB Dump" "MMU.DUMP.DTLB" ) IF CPU.FEATURE(TLB0DUMP) ( menuitem "[:mmu]TLB0 Dump (Associative)" "MMU.DUMP.TLB0" ) IF CPU.FEATURE(TLB1DUMP) ( menuitem "[:mmu]TLB1 Dump (Lockable)" "MMU.DUMP.TLB1" ) ) ) IF COMPonent.AVAILable("SMMU") ( popup "[:mmu]SMMU" ( menuitem "[:chip]SMMU1 Registers" ( PRIVATE &name &name=SMMU.COMPonentNAME(COMPonent.Base("SMMU1",0.)) SMMU.Register.Global &(name) ) menuitem "[:mmureg]SMMU1 StreamMapTable" ( PRIVATE &name &name=SMMU.COMPonentNAME(COMPonent.Base("SMMU1",0.)) SMMU.StreamMapTable &(name) ) IF COMPonent.AVAILable("SMMU2") ( separator menuitem "[:chip]SMMU2 Registers" ( PRIVATE &name &name=SMMU.COMPonentNAME(COMPonent.Base("SMMU2",0.)) SMMU.Register.Global &(name) ) menuitem "[:mmureg]SMMU2 StreamMapTable" ( PRIVATE &name &name=SMMU.COMPonentNAME(COMPonent.Base("SMMU2",0.)) SMMU.StreamMapTable &(name) ) ) IF COMPonent.AVAILable("SMMU3") ( separator menuitem "[:chip]SMMU3 Registers" ( PRIVATE &name &name=SMMU.COMPonentNAME(COMPonent.Base("SMMU3",0.)) SMMU.Register.Global &(name) ) menuitem "[:mmureg]SMMU3 StreamMapTable" ( PRIVATE &name &name=SMMU.COMPonentNAME(COMPonent.Base("SMMU3",0.)) SMMU.StreamMapTable &(name) ) ) IF COMPonent.AVAILable("SMMU4") ( separator menuitem "[:chip]SMMU4 Registers" ( PRIVATE &name &name=SMMU.COMPonentNAME(COMPonent.Base("SMMU4",0.)) SMMU.Register.Global &(name) ) menuitem "[:mmureg]SMMU4 StreamMapTable" ( PRIVATE &name &name=SMMU.COMPonentNAME(COMPonent.Base("SMMU4",0.)) SMMU.StreamMapTable &(name) ) ) IF COMPonent.AVAILable("SMMU5") ( separator menuitem "[:chip]SMMU5 Registers" ( PRIVATE &name &name=SMMU.COMPonentNAME(COMPonent.Base("SMMU5",0.)) SMMU.Register.Global &(name) ) menuitem "[:mmureg]SMMU5 StreamMapTable" ( PRIVATE &name &name=SMMU.COMPonentNAME(COMPonent.Base("SMMU5",0.)) SMMU.StreamMapTable &(name) ) ) IF COMPonent.AVAILable("SMMU6") ( separator menuitem "[:chip]SMMU6 Registers" ( PRIVATE &name &name=SMMU.COMPonentNAME(COMPonent.Base("SMMU6",0.)) SMMU.Register.Global &(name) ) menuitem "[:mmureg]SMMU6 StreamMapTable" ( PRIVATE &name &name=SMMU.COMPonentNAME(COMPonent.Base("SMMU6",0.)) SMMU.StreamMapTable &(name) ) ) ) ) IF CPU.FEATURE(L1ICACHE)||CPU.FEATURE(L1DCACHE)||CPU.FEATURE(L2CACHE) ( popup "[:cache]Cache" ( IF CPU.FEATURE(L1ICACHEDUMP) ( menuitem "[:cache]ICACHE Dump" "CACHE.DUMP IC" menuitem "[:cache]ICACHE List" "CACHE.List IC" menuitem "[:cache]ICACHE List Functions" "CACHE.ListFunc.IC" ) IF CPU.FEATURE(L1DCACHEDUMP) ( separator menuitem "[:cache]DCACHE Dump" "CACHE.DUMP DC" menuitem "[:cache]DCACHE List" "CACHE.List DC" menuitem "[:cache]DCACHE List Variables" "CACHE.ListVar.DC" ) IF CPU.FEATURE(L2CACHEDUMP) ( separator menuitem "[:cache]L2CACHE Dump" "CACHE.DUMP L2" menuitem "[:cache]L2CACHE List" "CACHE.List L2" menuitem "[:cache]L2CACHE List Variables" "CACHE.ListVar.L2" ) ) ) ) popup "&Trace" ( separator IF COMPonent.AVAILable("ITM") ( popup "ITM" ( default menuitem "[:oconfig]ITM settings..." "ITM.state" separator menuitem "[:alist]ITMTrace List" "ITMTrace.List" ) ) IF COMPonent.AVAILable("STM") ( popup "STM" ( default menuitem "[:oconfig]STM settings..." "STM.state" separator menuitem "[:alist]STMTrace List" "STMTrace.List" ) ) IF COMPonent.AVAILable("HTM") ( popup "HTM" ( default menuitem "[:oconfig]HTM settings..." "HTM.state" separator menuitem "[:alist]HTMTrace List" "HTMTrace.List" ) ) IF COMPonent.AVAILable("TPIU") ( menuitem "[:oconfig]TPIU settings..." "TPIU.state" ) IF COMPonent.AVAILable("ETR") ( menuitem "[:oconfig]ETR settings..." ( PRIVATE &pdd &pdd=OS.PDD() DO "&pdd/etc/embedded_trace_router/etr_utility.cmm" ) ) ) popup "&Misc" ( popup "Tools" ( IF CPUIS64BIT()||CPU.FEATURE("SPR") ( menuitem "ARM System Register Converter" ( DO "~~/demo/arm/etc/systemregister/systemregister_converter.cmm" ) ) IF CPU.FEATURE("C15") ( menuitem "ARM Coprocessor Converter" ( DO "~~/demo/arm/etc/coprocessor/coprocessor_converter.cmm" ) ) ) ) popup "&Perf" ( IF CPU.FEATURE(BMC) ( before "Reset" menuitem "[:bmc]Benchmark Counters" "BMC.state" before "Reset" separator ) ) ) popup "Peripherals" ( popup "[:chip]Core Registers (Cortex-M0+)" ( menuitem "[:chip]System Control" "per , ""Core Registers (Cortex-M0+),System Control""" menuitem "[:chip]MPU;Memory Protection Unit" "per , ""Core Registers (Cortex-M0+),Memory Protection Unit (MPU)""" menuitem "[:chip]NVIC;Nested Vectored Interrupt Controller" "per , ""Core Registers (Cortex-M0+),Nested Vectored Interrupt Controller (NVIC)""" popup "[:chip]Debug" ( menuitem "[:chip]Core Debug" "per , ""Core Registers (Cortex-M0+),Debug,Core Debug""" menuitem "[:chip]BPU;Breakpoint Unit" "per , ""Core Registers (Cortex-M0+),Debug,Breakpoint Unit (BPU)""" menuitem "[:chip]DWT;Data Watchpoint and Trace Unit" "per , ""Core Registers (Cortex-M0+),Debug,Data Watchpoint and Trace Unit (DWT)""" ) ) separator menuitem "PAC" "per , ""PAC (Peripheral Access Control)""" menuitem "DSU" "per , ""DSU (Device Service Unit)""" menuitem "DIVAS" "per , ""DIVAS (Divide and Square Root Accelerator)""" menuitem "GCLK" "per , ""GCLK (Generic Clock Controller)""" menuitem "MCLK" "per , ""MCLK (Main Clock)""" menuitem "RSTC" "per , ""RSTC (Reset Controller)""" menuitem "PM" "per , ""PM (Power Manager)""" menuitem "OSCCTRL" "per , ""OSCCTRL (Oscillators Controller)""" menuitem "OSC32KCTRL" "per , ""OSC32KCTRL (32k Oscillators Controller)""" menuitem "SUPC" "per , ""SUPC (Supply Controller)""" menuitem "WDT" "per , ""WDT (Watchdog Timer)""" menuitem "RTC" "per , ""RTC (Real-Time Counter)""" menuitem "DMAC" "per , ""DMAC (Direct Memory Access Controller)""" menuitem "EIC" "per , ""EIC (External Interrupt Controller)""" menuitem "NVMCTRL" "per , ""NVMCTRL (Non-Volatile Memory Controller)""" if (cpuis("ATSAMC2?E*")) ( menuitem "PORT A" "per , ""PORT (IO Pin Controller)""" ) else if (cpuis("ATSAMC2?N*")) ( popup "PORT" ( menuitem "PORT A" "per , ""PORT (IO Pin Controller),Port A""" menuitem "PORT B" "per , ""PORT (IO Pin Controller),Port B""" menuitem "PORT C" "per , ""PORT (IO Pin Controller),Port C""" ) ) else ( popup "PORT" ( menuitem "PORT A" "per , ""PORT (IO Pin Controller),Port A""" menuitem "PORT B" "per , ""PORT (IO Pin Controller),Port B""" ) ) menuitem "EVSYS" "per , ""EVSYS (Event System)""" popup "SERCOM" ( menuitem "SERCOM 0" "per , ""SERCOM (Serial Communication Interface),SERCOM 0""" menuitem "SERCOM 1" "per , ""SERCOM (Serial Communication Interface),SERCOM 1""" menuitem "SERCOM 2" "per , ""SERCOM (Serial Communication Interface),SERCOM 2""" menuitem "SERCOM 3" "per , ""SERCOM (Serial Communication Interface),SERCOM 3""" if (cpuis("ATSAMC20N17A")||cpuis("ATSAMC20N18A")||cpuis("ATSAMC21N17A")||cpuis("ATSAMC21N18A")) ( menuitem "SERCOM 4" "per , ""SERCOM (Serial Communication Interface),SERCOM 4""" menuitem "SERCOM 5" "per , ""SERCOM (Serial Communication Interface),SERCOM 5""" menuitem "SERCOM 6" "per , ""SERCOM (Serial Communication Interface),SERCOM 6""" menuitem "SERCOM 7" "per , ""SERCOM (Serial Communication Interface),SERCOM 7""" ) ) if cpuis("ATSAMC21*") ( popup "CAN" ( menuitem "CAN 0" "per , ""CAN (Control Area Network),CAN 0""" menuitem "CAN 1" "per , ""CAN (Control Area Network),CAN 1""" ) ) popup "TC" ( menuitem "TC 0" "per , ""TC (Timer/Counter),TC 0""" menuitem "TC 1" "per , ""TC (Timer/Counter),TC 1""" menuitem "TC 2" "per , ""TC (Timer/Counter),TC 2""" menuitem "TC 3" "per , ""TC (Timer/Counter),TC 3""" menuitem "TC 4" "per , ""TC (Timer/Counter),TC 4""" ) if cpuis("ATSAMC20*")&&(!cpuis("ATSAMC20N*")) ( menuitem "TCC" "per , ""TCC (Timer/Counter for Control Applications)""" ) else ( popup "TCC" ( menuitem "TCC 0" "per , ""TCC (Timer/Counter for Control Applications),TCC 0""" menuitem "TCC 1" "per , ""TCC (Timer/Counter for Control Applications),TCC 1""" menuitem "TCC 2" "per , ""TCC (Timer/Counter for Control Applications),TCC 2""" ) ) menuitem "CCL" "per , ""CCL (Configurable Custom Logic)""" if (cpuis("ATSAMC20*")) ( menuitem "ADC" "per , ""ADC (Analog-to-Digital Converter)""" ) if !(cpuis("ATSAMC20*")) ( popup "ADC" ( menuitem "ADC 0" "per , ""ADC (Analog-to-Digital Converter),ADC 0""" menuitem "ADC 1" "per , ""ADC (Analog-to-Digital Converter),ADC 1""" ) ) if (cpuis("ATSAMC21*")) ( menuitem "SDADC" "per , ""SDADC (Sigma-Delta Analog-to-Digital Converter)""" ) menuitem "AC" "per , ""AC (Analog Comparator)""" if (cpuis("ATSAMC21*")) ( menuitem "DAC" "per , ""DAC (Digital-to-Analog Converter)""" menuitem "TSENS" "per , ""TSENS (Temperature Sensor)""" ) menuitem "FREQM" "per , ""FREQM (Frequency Meter)""" ) )