; -------------------------------------------------------------------------------- ; @Title: RP2040 Specific Menu ; @Props: Released ; @Author: KRZ ; @Changelog: 2022-09-01 KRZ ; @Manufacturer: Raspberry Pi (Trading) Ltd. ; @Core: Cortex-M0+ ; @Chip: RP2040 ; @Copyright: (C) 1989-2022 Lauterbach GmbH, licensed for use with TRACE32(R) only ; -------------------------------------------------------------------------------- ; $Id: menrp2040.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 "ADC;Analog to Digital Converter" "per , ""ADC (Analog to Digital Converter)""" menuitem "BUSCTRL;Bus Fabric" "per , ""BUSCTRL (Bus Fabric)""" menuitem "CLOCKS;" "per , ""CLOCKS""" menuitem "DMA;Direct Memory Access" "per , ""DMA (Direct Memory Access""" popup "I2C;Inter-Integrated Circuit" ( menuitem "I2C0" "per , ""I2C (Inter-Integrated Circuit),I2C0""" menuitem "I2C1" "per , ""I2C (Inter-Integrated Circuit),I2C1""" ) menuitem "IO_BANK0;" "per , ""IO_BANK0""" menuitem "IO_QSPI;" "per , ""IO_QSPI""" menuitem "PADS_BANK0;" "per , ""PADS_BANK0""" menuitem "PADS_QSPI;" "per , ""PADS_QSPI""" popup "PIO;Programmable IO block" ( menuitem "PIO0" "per , ""PIO (Programmable IO block),PIO0""" menuitem "PIO1" "per , ""PIO (Programmable IO block),PIO1""" ) menuitem "PLL_SYS;" "per , ""PLL_SYS""" menuitem "PLL_USB" "per , ""PLL_USB""" menuitem "PPB;" "per , ""PPB""" menuitem "PSM;Power-On State Machine" "per , ""PSM (Power-On State Machine)""" menuitem "PWM;Pulse-Width Modulator" "per , ""PWM (Pulse-Width Modulator)""" menuitem "RESETS;" "per , ""RESETS""" menuitem "ROSC;Ring Oscillator" "per , ""ROSC (Ring Oscillator)""" menuitem "RTC;Real-time Counter" "per , ""RTC (Real-time Counter)""" menuitem "SIO;SuperIO Controller" "per , ""SIO (SuperIO Controller)""" popup "SPI;Serial Peripheral Interface" ( menuitem "SPI0" "per , ""SPI (Serial Peripheral Interface),SPI0""" menuitem "SPI1" "per , ""SPI (Serial Peripheral Interface),SPI1""" ) menuitem "SYSCFG;System Config" "per , ""SYSCFG (System Config)""" menuitem "SYSINFO;System Info" "per , ""SYSINFO (System Info)""" menuitem "TBMAN;Testbench Manager" "per , ""TBMAN (Testbench Manager)""" menuitem "TIMER;Timer/Counter" "per , ""TIMER (Timer/Counter)""" popup "UART;Universal Asynchronous Receiver/Transmitter" ( menuitem "UART0" "per , ""UART (Universal Asynchronous Receiver/Transmitter),UART0""" menuitem "UART1" "per , ""UART (Universal Asynchronous Receiver/Transmitter),UART1""" ) menuitem "USBCTRL_DPRAM;DPRAM Layout for USB" "per , ""USBCTRL_DPRAM (DPRAM Layout for USB)""" menuitem "USBCTRL_REGS;USB FS/LS Controller" "per , ""USBCTRL_REGS (USB FS/LS Controller)""" menuitem "VREG_AND_CHIP_RESET;Voltage Regulator and Chip Level Reset" "per , ""VREG_AND_CHIP_RESET (Voltage Regulator and Chip Level Reset)""" menuitem "WATCHDOG" "per , ""WATCHDOG""" menuitem "XIP_CTRL;Execute-In-Place QSPI Flash" "per , ""XIP_CTRL (Execute-In-Place QSPI Flash)""" menuitem "XIP_SSI;Execute-In-Place Synchronous Serial Interface" "per , ""XIP_SSI (Execute-In-Place Synchronous Serial Interface)""" menuitem "XOSC;Crystal Oscillator" "per , ""XOSC (Crystal Oscillator)""" ) )