408 lines
12 KiB
Plaintext
408 lines
12 KiB
Plaintext
; --------------------------------------------------------------------------------
|
|
; @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)"""
|
|
)
|
|
)
|
|
)
|