; -------------------------------------------------------------------------------- ; @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)""" ) )