; -------------------------------------------------------------------------------- ; @Title: NRF52xxx Specific Menu ; @Props: Released ; @Author: TRJ, MJW, BGI ; @Changelog: 25-01-2017 TRJ ; 12-02-2018 BGI ; @Manufacturer: NORDICSEMI - Nordic Semiconductor ; @Core: Cortex-M4 ; @Chip: NRF52832QFAA, NRF52832CEAA, NRF52832CIAA, NRF52832QFAB, NRF52840QI, ; NRF52810QF, NRF52810QC ; @Copyright: (C) 1989-2018 Lauterbach GmbH, licensed for use with TRACE32(R) only ; -------------------------------------------------------------------------------- ; $Id: mennrf52xxx.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" ( if CPUIS("NRF52810*") ( popup "[:chip]Core Registers (Cortex-M4)" ( menuitem "[:chip]System Control" "per , ""Core Registers (Cortex-M4),System Control""" menuitem "[:chip]MPU;Memory Protection Unit" "per , ""Core Registers (Cortex-M4),Memory Protection Unit""" menuitem "[:chip]NVIC;Nested Vectored Interrupt Controller" "per , ""Core Registers (Cortex-M4),Nested Vectored Interrupt Controller""" popup "[:chip]Debug" ( menuitem "[:chip]Core Debug" "per , ""Core Registers (Cortex-M4),Debug,Core Debug""" menuitem "[:chip]FPB;Flash Patch and Breakpoint Unit" "per , ""Core Registers (Cortex-M4),Debug,Flash Patch and Breakpoint Unit (FPB)""" menuitem "[:chip]DWT;Data Watchpoint and Trace Unit" "per , ""Core Registers (Cortex-M4),Debug,Data Watchpoint and Trace Unit (DWT)""" ) ) ) else ( popup "[:chip]Core Registers (Cortex-M4F)" ( menuitem "[:chip]System Control" "per , ""Core Registers (Cortex-M4F),System Control""" menuitem "[:chip]MPU;Memory Protection Unit" "per , ""Core Registers (Cortex-M4F),Memory Protection Unit""" menuitem "[:chip]NVIC;Nested Vectored Interrupt Controller" "per , ""Core Registers (Cortex-M4F),Nested Vectored Interrupt Controller""" menuitem "[:chip]FPU;Floating-point Unit" "per , ""Core Registers (Cortex-M4F),Floating-point Unit""" popup "[:chip]Debug" ( menuitem "[:chip]Core Debug" "per , ""Core Registers (Cortex-M4F),Debug,Core Debug""" menuitem "[:chip]FPB;Flash Patch and Breakpoint Unit" "per , ""Core Registers (Cortex-M4F),Debug,Flash Patch and Breakpoint Unit (FPB)""" menuitem "[:chip]DWT;Data Watchpoint and Trace Unit" "per , ""Core Registers (Cortex-M4F),Debug,Data Watchpoint and Trace Unit (DWT)""" ) ) ) separator menuitem "NVMC" "per , ""Non-Volatile Memory Controller (NVMC)""" if (!cpuis("NRF52840QI")) ( menuitem "BPROT" "per , ""Block Protection (BPROT)""" ) menuitem "FICR" "per , ""Factory Information Configuration Registers (FICR)""" menuitem "UICR" "per , ""User Information Configuration Registers (UICR)""" menuitem "POWER" "per , ""Power management (POWER)""" menuitem "CLOCK" "per , ""Clock management (CLOCK)""" popup "GPIO" ( if (cpuis("NRF52840QI")) ( menuitem "PORT 0" "per , ""General purpose input/output (GPIO),PORT 0""" menuitem "PORT 1" "per , ""General purpose input/output (GPIO),PORT 1""" ) else ( menuitem "PORT 0" "per , ""General purpose input/output (GPIO),PORT 0""" ) ) menuitem "GPIOTE" "per , ""GPIO tasks and events (GPIOTE)""" menuitem "PPI" "per , ""Programmable Peripheral Interconnect (PPI)""" menuitem "RADIO" "per , ""2.4 GHz radio (RADIO)""" popup "TIMER" ( menuitem "TIMER0" "per , ""Timer/counter (TIMER),Timer 0""" menuitem "TIMER1" "per , ""Timer/counter (TIMER),Timer 1""" menuitem "TIMER2" "per , ""Timer/counter (TIMER),Timer 2""" if (!cpuis("NRF52810QC")&&!cpuis("NRF52810QF")) ( menuitem "TIMER3" "per , ""Timer/counter (TIMER),Timer 3""" menuitem "TIMER4" "per , ""Timer/counter (TIMER),Timer 4""" ) ) popup "RTC" ( menuitem "RTC0" "per , ""Real Time Counter (RTC),RTC 0""" menuitem "RTC1" "per , ""Real Time Counter (RTC),RTC 1""" if (!cpuis("NRF52810QC")&&!cpuis("NRF52810QF")&&!cpuis("NRF52840QI")) ( menuitem "RTC2" "per , ""Real Time Counter (RTC),RTC 2""" ) ) menuitem "RNG" "per , ""Random Number Generator (RNG)""" menuitem "TEMP" "per , ""Temperature Sensor (TEMP)""" menuitem "ECB" "per , ""AES Electronic Codebook Mode Encryption (ECB)""" menuitem "CCM" "per , ""AES CCM Mode Encryption (CCM)""" menuitem "AAR" "per , ""Accelerated Address Resolver (AAR)""" popup "SERCOM" ( menuitem "SERCOM0" "per , ""Serial Communication Interface (SERCOM),Sercom0""" menuitem "SERCOM1" "per , ""Serial Communication Interface (SERCOM),Sercom1""" if (!cpuis("NRF52810QC")&&!cpuis("NRF52810QF")) ( menuitem "SERCOM2" "per , ""Serial Communication Interface (SERCOM),Sercom2""" ) if (cpuis("NRF52840QI")) ( menuitem "SERCOM3" "per , ""Serial Communication Interface (SERCOM),Sercom3""" ) ) popup "UART" ( menuitem "UART0" "per , ""Universal asynchronous receiver (UART),UART 0""" if (cpuis("NRF52840QI")) ( menuitem "UART1" "per , ""Universal asynchronous receiver (UART),UART 1""" ) ) menuitem "QDEC" "per , ""Quadrature Decoder (QDEC)""" menuitem "SAADC" "per , ""Analog to digital converter (SAADC)""" if (cpuis("NRF52832QFAA")||cpuis("NRF52832CEAA")||cpuis("NRF52832CIAA")||cpuis("NRF52832QFAB")||cpuis("NRF52840QI")) ( menuitem "LPCOMP/COMP" "per , ""Low Power Comparator/Comparator (LPCOMP/COMP)""" ) else ( menuitem "COMP" "per , ""Comparator (COMP)""" ) menuitem "WDT" "per , ""Watchdog Timer (WDT)""" if (cpuis("NRF52832QFAA")||cpuis("NRF52832CEAA")||cpuis("NRF52832CIAA")||cpuis("NRF52832QFAB")||cpuis("NRF52840QI")) ( menuitem "NFCT" "per , ""Near Field Communication Tag (NFCT)""" ) menuitem "PDM" "per , ""Pulse Density Modulation Interface (PDM)""" if (cpuis("NRF52832QFAA")||cpuis("NRF52832CEAA")||cpuis("NRF52832CIAA")||cpuis("NRF52832QFAB")||cpuis("NRF52840QI")) ( menuitem "I2S" "per , ""Inter-IC Sound Interface (I2S)""" menuitem "MWU" "per , ""Memory Watch Unit (MWU)""" ) popup "EGU" ( menuitem "EGU0" "per , ""Event Generator Unit (EGU),EGU 0""" menuitem "EGU1" "per , ""Event Generator Unit (EGU),EGU 1""" if (cpuis("NRF52840QI")) ( menuitem "EGU2" "per , ""Event Generator Unit (EGU),EGU 2""" menuitem "EGU3" "per , ""Event Generator Unit (EGU),EGU 3""" menuitem "EGU4" "per , ""Event Generator Unit (EGU),EGU 4""" menuitem "EGU5" "per , ""Event Generator Unit (EGU),EGU 5""" ) ) popup "PWM" ( menuitem "PWM 0" "per , ""Pulse Width Modulation (PWM),PWM 0""" if (cpuis("NRF52840QI")) ( menuitem "PWM 1" "per , ""Pulse Width Modulation (PWM),PWM 1""" menuitem "PWM 2" "per , ""Pulse Width Modulation (PWM),PWM 2""" ) ) if (cpuis("NRF52840QI")) ( menuitem "ACL" "per , ""Access control lists (ACL)""" menuitem "USBD" "per , ""Universal serial bus device (USBD)""" menuitem "QSPI" "per , ""Quad serial peripheral interface (QSPI)""" menuitem "CRYPTOCELL" "per , ""ARM TrustZone CryptoCell 310 (CRYPTOCELL)""" ) ) )