343 lines
12 KiB
Plaintext
343 lines
12 KiB
Plaintext
; --------------------------------------------------------------------------------
|
|
; @Title: STM32F3x Specific Menu
|
|
; @Props: Released
|
|
; @Author: BIC, KBR, WYS, AJK, TRJ, KMB
|
|
; @Changelog: 2012-10-17
|
|
; 2015-04-15 MKK
|
|
; 2017-03-30 AJK
|
|
; 2018-04-12 KMB
|
|
; @Manufacturer: STM - ST Microelectronics N.V.
|
|
; @Core: Cortex-M4F
|
|
; @Chip: STM32F302RD, STM32F302RE, STM32F302VD, STM32F302VE,
|
|
; STM32F302ZD, STM32F302ZE, STM32F303RD, STM32F303RE,
|
|
; STM32F303VD, STM32F303VE, STM32F303ZD, STM32F303ZE,
|
|
; STM32F398VE;
|
|
; @Copyright: (C) 1989-2018 Lauterbach GmbH, licensed for use with TRACE32(R) only
|
|
; --------------------------------------------------------------------------------
|
|
; $Id: menstm32f3x.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-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 "EFM" "per , ""EFM (Embedded Flash memory)"""
|
|
menuitem "CRC" "per , ""CRC (Cyclic Redundancy Check)"""
|
|
menuitem "PWR" "per , ""PWR (Power Control Register)"""
|
|
menuitem "RCC" "per , ""RCC (Reset and Clock Control)"""
|
|
if cpuis("STM32F303?D")||cpuis("STM32F303?E")||cpuis("STM32F398VE")||cpuis("STM32F302?D")||cpuis("STM32F302?E")
|
|
(
|
|
menuitem "FSMC" "per , ""FSMC (Flexible static memory controller)"""
|
|
)
|
|
if !cpuis("STM32F301*6")&&!cpuis("STM32F301*8")&&!cpuis("STM32F302*6")&&!cpuis("STM32F302*8")&&!cpuis("STM32F303*6")&&!cpuis("STM32F303*8")&&cpu()!="STM32F328C8"&&cpu()!="STM32F318C8"&&cpu()!="STM32F318K8"&&!cpuis("STM32F334*4")&&!cpuis("STM32F334*6")&&!cpuis("STM32F334*8")&&(cpu()!="STM32F358CC")&&(cpu()!="STM32F358RC")&&(cpu()!="STM32F358VC")&&(cpu()!="STM32F378CC")&&(cpu()!="STM32F378RC")&&(cpu()!="STM32F378VC")
|
|
(
|
|
menuitem "GPIO" "per , ""GPIO (General-Purpose I/O)"""
|
|
)
|
|
if cpuis("STM32F301*6")||cpuis("STM32F301*8")||cpuis("STM32F302*6")||cpuis("STM32F302*8")||cpuis("STM32F303*6")||cpuis("STM32F303*8")||cpu()=="STM32F328C8"||cpu()=="STM32F318C8"||cpu()=="STM32F318K8"||cpuis("STM32F334*4")||cpuis("STM32F334*6")||cpuis("STM32F334*8")||(cpu()=="STM32F358CC")||(cpu()==" STM32F358RC")||(cpu()=="STM32F358VC")||(cpu()=="STM32F378CC")||(cpu()=="STM32F378RC")||(cpu()=="STM32F378VC")
|
|
(
|
|
menuitem "GPIO" "per , ""GPIO (General-Purpose I/O)"""
|
|
)
|
|
menuitem "SYSCFG" "per , ""SYSCFG (System configuration controller)"""
|
|
menuitem "DMA" "per , ""DMA (Direct memory access controller)"""
|
|
menuitem "EXTI" "per , ""EXTI (Extended interrupts and events controller)"""
|
|
menuitem "ADC" "per , ""ADC (Analog-to-digital converters)"""
|
|
if (cpu()=="STM32F372CB")||(cpu()=="STM32F372RC")||(cpu()=="STM32F372CC")||(cpu()=="STM32F372V8")||(cpu()=="STM32F372R8")||(cpu()=="STM32F372VB")||(cpu()=="STM32F372C8")||(cpu()=="STM32F372RB")||(cpu()=="STM32F372VC")||(cpu()=="STM32F373C8")||(cpu()=="STM32F373RB")||(cpu()=="STM32F373VC")||(cpu()=="STM32F373CB")||(cpu()=="STM32F373RC")||(cpu()=="STM32F373CC")||(cpu()=="STM32F373V8")||(cpu()=="STM32F373R8")||(cpu()=="STM32F373VB")||(cpu()=="STM32F383CC")||(cpu()=="STM32F383RC")||(cpu()=="STM32F383VC")||cpu()=="STM32F378CC"||cpu()=="STM32F378RC"||cpu()=="STM32F378VC"
|
|
(
|
|
menuitem "SDADC" "per , ""SDADC (Sigma-delta analog-to-digital converter)"""
|
|
)
|
|
menuitem "DAC" "per , ""DAC (Digital To Analog Converter)"""
|
|
menuitem "COMP" "per , ""COMP (Comparator)"""
|
|
if cpuis("STM32F303?B")||cpuis("STM32F303?C")||cpuis("STM32F303?D")||cpuis("STM32F303?E")||cpuis("STM32F302?B")||cpuis("STM32F302?C")||cpuis("STM32F302?D")||cpuis("STM32F302?E")||cpuis("STM32F398?E")||(cpu()=="STM32F313CC")||(cpu()=="STM32F313RC")||(cpu()=="STM32F313VC")||cpuis("STM32F303?6")||cpuis("STM32F303?8")||cpuis("STM32F302?6")||cpuis("STM32F302?8")||cpuis("STM32F358?C")||cpuis("STM32F328?8")
|
|
(
|
|
menuitem "OPAMP" "per , ""OPAMP (Operational amplifier)"""
|
|
)
|
|
else if (cpu()!="STM32F378CC"&&cpu()!="STM32F378RC"&&cpu()!="STM32F378VC")
|
|
(
|
|
menuitem "OPAMP" "per , ""OPAMP (Operational amplifier)"""
|
|
)
|
|
if cpuis("STM32F301*6")||cpuis("STM32F301*8")||cpu()=="STM32F318C8"||cpu()=="STM32F318K8"||cpuis("STM32F302*6")||cpuis("STM32F302*8")||cpuis("STM32F303*6")||cpuis("STM32F303*8")||cpu()=="STM32F328C8"||cpu()=="STM32F358CC"||cpu()=="STM32F358RC"||cpu()=="STM32F358VC"||cpuis("STM32F334?4")||cpuis("STM32F334?6")||cpuis("STM32F334?8")||cpuis("STM32F378*")||cpuis("STM32F303?B")||cpuis("STM32F303?C")||cpuis("STM32F302?D")||cpuis("STM32F302?E")||cpuis("STM32F302?B")||cpuis("STM32F302?C")||cpuis("STM32F303?D")||cpuis("STM32F303?E")||cpuis("STM32F398?E")
|
|
(
|
|
menuitem "TSC" "per , ""TSC (Touch sensing controller)"""
|
|
)
|
|
if (cpuis("STM32F303?B")||cpuis("STM32F303?C")||cpuis("STM32F303?D")||cpuis("STM32F303?E")||cpuis("STM32F302?B")||cpuis("STM32F302?C")||cpuis("STM32F303?D")||cpuis("STM32F303?E")||cpuis("STM32F398?E")||(cpu()=="STM32F313CC")||(cpu()=="STM32F313RC")||(cpu()=="STM32F313VC")||cpuis("STM32F301*6")||cpuis("STM32F301*8")||cpu()=="STM32F318C8"||cpu()=="STM32F318K8"||cpuis("STM32F302*6")||cpuis("STM32F302*8")||cpuis("STM32F303*6")||cpuis("STM32F303*8")||cpu()=="STM32F328C8"||cpu()=="STM32F358CC"||cpu()=="STM32F358RC"||cpu()=="STM32F358VC"||cpuis("STM32F302*")||cpuis("STM32F303*")||cpuis("STM32F334?4")||cpuis("STM32F334?6")||cpuis("STM32F334?8"))
|
|
(
|
|
menuitem "ACT" "per , ""ACT (Advanced-control timers)"""
|
|
)
|
|
menuitem "GPT" "per , ""GPT (General-purpose timers)"""
|
|
menuitem "BT" "per , ""BT (Basic Timers)"""
|
|
if (cpuis("STM32F334*"))
|
|
(
|
|
menuitem "HRTIM" "per , ""HRTIM (High-Resolution Timer)"""
|
|
)
|
|
menuitem "IWDG" "per , ""IWDG (Independent watchdog)"""
|
|
menuitem "WWDG" "per , ""WWDG (System window watchdog)"""
|
|
menuitem "RTC" "per , ""RTC (Real-time clock)"""
|
|
menuitem "I2C" "per , ""I2C (Inter-integrated circuit)"""
|
|
menuitem "USART" "per , ""USART (Universal synchronous asynchronous receiver transmitter)"""
|
|
menuitem "SPI/I2S" "per , ""SPI/I2S (Serial peripheral interface/inter-IC sound)"""
|
|
if !cpuis("STM32F301*6")&&!cpuis("STM32F301*8")&&cpu()!="STM32F318C8"&&cpu()!="STM32F318K8"
|
|
(
|
|
menuitem "CAN" "per , ""CAN (Controller Area Network)"""
|
|
)
|
|
if (cpu()=="STM32F37??")||(cpu()=="STM32F303?B")||(cpu()=="STM32F303?C")||(cpu()=="STM32F302?B")||(cpu()=="STM32F302?C")||(cpu()=="STM32F302?6")||(cpu()=="STM32F302?8")||cpuis("STM32F303?B")||cpuis("STM32F303?C")||cpuis("STM32F303?D")||cpuis("STM32F303?E")||cpuis("STM32F302?B")||cpuis("STM32F302?C")||cpuis("STM32F302?D")||cpuis("STM32F302?E")||cpuis("STM32F358?C")||cpuis("STM32F328?8")
|
|
(
|
|
menuitem "USB" "per , ""USB (USB Full Speed Device)"""
|
|
)
|
|
if (cpu()=="STM32F372CB")||(cpu()=="STM32F372RC")||(cpu()=="STM32F372CC")||(cpu()=="STM32F372V8")||(cpu()=="STM32F372R8")||(cpu()=="STM32F372VB")||(cpu()=="STM32F372C8")||(cpu()=="STM32F372RB")||(cpu()=="STM32F372VC")||(cpu()=="STM32F373C8")||(cpu()=="STM32F373RB")||(cpu()=="STM32F373VC")||(cpu()=="STM32F373CB")||(cpu()=="STM32F373RC")||(cpu()=="STM32F373CC")||(cpu()=="STM32F373V8")||(cpu()=="STM32F373R8")||(cpu()=="STM32F373VB")||(cpu()=="STM32F383CC")||(cpu()=="STM32F383RC")||(cpu()=="STM32F383VC")||cpu()=="STM32F378CC"||cpu()=="STM32F378RC"||cpu()=="STM32F378VC"||cpu()=="STM32F378CC"||cpu()=="STM32F378RC"||cpu()=="STM32F378VC"
|
|
(
|
|
menuitem "HDMI-CEC" "per , ""HDMI-CEC (HDMI-CEC controller)"""
|
|
)
|
|
menuitem "DBG" "per , ""DBG (Debug registers)"""
|
|
menuitem "DES" "per , ""DES (Device Electronic Signature)"""
|
|
)
|
|
)
|