Files
Gen4_R-Car_Trace32/2_Trunk/menstm32f0x.men
2025-10-14 09:52:32 +09:00

460 lines
19 KiB
Plaintext

; --------------------------------------------------------------------------------
; @Title: STM32F0 Specific Menu
; @Props: Released
; @Author: BIC, CNA, KNO, AST, KOL, AJK
; @Changelog: 2012-06-25
; 2015-04-15 MKK
; 2016-06-24 AST
; 2017-10-04 AJK
; @Manufacturer: STM - ST Microelectronics N.V.
; @Chip: STM32F038C6, STM32F038F6, STM32F038G6, STM32F038K6, STM32F048C6, STM32F048G6,
; STM32F048T6, STM32F058C8, STM32F058R8, STM32F078CB, STM32F078RB, STM32F078VB,
; STM32F091CB, STM32F091CC, STM32F091RB, STM32F091RC, STM32F091VB, STM32F091VC,
; STM32F098CC, STM32F098RC, STM32F050C4, STM32F050C6, STM32F050K4, STM32F050K6,
; STM32F051C4, STM32F051C6, STM32F051C8, STM32F051K4, STM32F051K6, STM32F051K8,
; STM32F051R4, STM32F051R6, STM32F051R8, STM32F030C6, STM32F030C8, STM32F030F4,
; STM32F030K6, STM32F030R8, STM32F031C4, STM32F031C6, STM32F031F4, STM32F031F6,
; STM32F031G4, STM32F031G6, STM32F031K4, STM32F031K6, STM32F042C4, STM32F042C6,
; STM32F042F4, STM32F042F6, STM32F042G4, STM32F042G6, STM32F042K4, STM32F042K6,
; STM32F042T6, STM32F050G6, STM32F071CB, STM32F071RB, STM32F071V8, STM32F071VB,
; STM32F072C8, STM32F072CB, STM32F072R8, STM32F072RB, STM32F072V8, STM32F072VB,
; STM32F030CC, STM32F030RC, STM32F031E6, STM32F038E6, STM32F051T8, STM32F058T8,
; STM32F070C6, STM32F070CB, STM32F070F6, STM32F070RB
; @Core: Cortex-M0
; @Copyright: (C) 1989-2017 Lauterbach GmbH, licensed for use with TRACE32(R) only
; --------------------------------------------------------------------------------
; $Id: menstm32f0x.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]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 "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("STM32F048?6"))||(cpuis("STM32F078?B"))||(cpuis("STM32F091?B"))||(cpuis("STM32F091?C"))||(cpuis("STM32F098?C"))
(
menuitem "CRS" "per , ""CRS (Clock recovery system)"""
)
popup "GPIO"
(
menuitem "GPIO A" "per , ""GPIO (General-Purpose I/O),GPIO A"""
menuitem "GPIO B" "per , ""GPIO (General-Purpose I/O),GPIO B"""
if (CPU()=="STM32F050C4"||CPU()=="STM32F050C6"||CPU()=="STM32F051C4"||CPU()=="STM32F051C6"||CPU()=="STM32F051C8"||CPU()=="STM32F051R4"||CPU()=="STM32F051R6"||CPU()=="STM32F051R8"||cpuis("STM32F058R8")||cpuis("STM32F078RB")||cpuis("STM32F078VB")||cpuis("STM32F091R*")||cpuis("STM32F091V*")||cpuis("STM32F098*")||cpuis("STM32F058C8")||cpuis("STM32F078CB")||cpuis("STM32F091C*")||cpuis("STM32F070C6")||cpuis("STM32F070CB")||cpuis("STM32F070RB")||cpuis("STM32F058T8")||cpuis("STM32F030CC")||cpuis("STM32F030RC")||cpuis("STM32F051T8"))
(
menuitem "GPIO C" "per , ""GPIO (General-Purpose I/O),GPIO C"""
)
if (CPU()=="STM32F051R4"||CPU()=="STM32F051R6"||CPU()=="STM32F051R8"||cpuis("STM32F078VB")||cpuis("STM32F091V*")||cpuis("STM32F058R8")||cpuis("STM32F091R*")||cpuis("STM32F098*")||cpuis("STM32F070RB")||cpuis("STM32F030RC"))
(
menuitem "GPIO D" "per , ""GPIO (General-Purpose I/O),GPIO D"""
)
if (cpuis("STM32F078V*")||cpuis("STM32F091V*"))
(
menuitem "GPIO E" "per , ""GPIO (General-Purpose I/O),GPIO E"""
)
menuitem "GPIO F" "per , ""GPIO (General-Purpose I/O),GPIO F"""
)
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 converter)"""
if (CPU()=="STM32F051C4"||CPU()=="STM32F051C6"||CPU()=="STM32F051C8"||CPU()=="STM32F051K4"||CPU()=="STM32F051K6"||CPU()=="STM32F051K8"||CPU()=="STM32F051R4"||CPU()=="STM32F051R6"||CPU()=="STM32F051R8"||cpuis("STM32F071*")||cpuis("STM32F072*")||cpuis("STM32F078?B")||cpuis("STM32F091*")||cpuis("STM32F098*")||cpuis("STM32F058?8")||cpuis("STM32F051T8")||cpuis("STM32F050G6"))
(
menuitem "DAC" "per , ""DAC (Digital-to-analog converter)"""
)
if (CPU()=="STM32F051C4"||CPU()=="STM32F051C6"||CPU()=="STM32F051C8"||CPU()=="STM32F051K4"||CPU()=="STM32F051K6"||CPU()=="STM32F051K8"||CPU()=="STM32F051R4"||CPU()=="STM32F051R6"||CPU()=="STM32F051R8"||cpuis("STM32F071*")||cpuis("STM32F072*")||cpuis("STM32F078?B")||cpuis("STM32F091*")||cpuis("STM32F098*")||cpuis("STM32F058?8")||cpuis("STM32F051T8")||cpuis("STM32F058T8"))
(
menuitem "COMP" "per , ""COMP (Comparator)"""
)
popup "Advanced Control Timer"
(
menuitem "TIM1" "per , ""ACT (Advanced-control timers),TIM1"""
)
popup "General Purpose Timer"
(
if !cpuis("STM32F030CC")&&!cpuis("STM32F030RC")&&!cpuis("STM32F070C6")&&!cpuis("STM32F070CB")&&!cpuis("STM32F070F6")&&!cpuis("STM32F070RB")
(
menuitem "TIM2" "per , ""General-purpose timer,TIM2"""
)
menuitem "TIM3" "per , ""General-purpose timer,TIM3"""
menuitem "TIM14" "per , ""General-purpose timer,TIM14"""
if (CPU()=="STM32F051C4"||CPU()=="STM32F051C6"||CPU()=="STM32F051C8"||CPU()=="STM32F051K4"||CPU()=="STM32F051K6"||CPU()=="STM32F051K8"||CPU()=="STM32F051R4"||CPU()=="STM32F051R6"||CPU()=="STM32F051R8"||cpuis("STM32F058?8")||cpuis("STM32F078?B")||cpuis("STM32F091*")||cpuis("STM32F098*")||cpuis("STM32F051T8")||cpuis("STM32F070RB")||cpuis("STM32F070F6")||cpuis("STM32F070C6")||cpuis("STM32F070CB")||cpuis("STM32F030CC")||cpuis("STM32F030RC"))
(
menuitem "TIM15" "per , ""General-purpose timer,TIM15"""
)
menuitem "TIM16" "per , ""General-purpose timer,TIM16"""
menuitem "TIM17" "per , ""General-purpose timer,TIM17"""
)
if (CPU()=="STM32F051C4"||CPU()=="STM32F051C6"||CPU()=="STM32F051C8"||CPU()=="STM32F051K4"||CPU()=="STM32F051K6"||CPU()=="STM32F051K8"||CPU()=="STM32F051R4"||CPU()=="STM32F051R6"||CPU()=="STM32F051R8"||cpuis("STM32F058?8")||cpuis("STM32F078?B")||cpuis("STM32F091*")||cpuis("STM32F098*")||cpuis("STM32F051T8")||cpuis("STM32F030CC")||cpuis("STM32F030RC")||cpuis("STM32F070CB")||cpuis("STM32F070RB"))
(
popup "Basic Timer"
(
menuitem "TIM6" "per , ""Basic Timer,TIM6"""
if cpuis("STM32F030CC")||cpuis("STM32F030RC")||cpuis("STM32F070CB")||cpuis("STM32F070RB")
(
menuitem "TIM7" "per , ""Basic Timer,TIM7"""
)
)
)
menuitem "IWDG" "per , ""IWDG (Independent watchdog)"""
menuitem "WWDG" "per , ""WWDG (System window watchdog)"""
menuitem "RTC" "per , ""RTC (Real-time clock)"""
popup "I2C"
(
menuitem "I2C 1" "per , ""I2C (Inter-integrated circuit),I2C1"""
if (CPU()=="STM32F051C8"||CPU()=="STM32F051K8"||CPU()=="STM32F051R8"||cpuis("STM32F058T8")||CPU()=="STM32F051C8"||CPU()=="STM32F051K8"||CPU()=="STM32F051R8"||cpuis("STM32F030CC")||cpuis("STM32F030RC")||cpuis("STM32F070CB")||cpuis("STM32F070RB"))
(
menuitem "I2C 2" "per , ""I2C (Inter-integrated circuit),I2C2"""
)
else
(
if ((!cpuis("STM32F031*"))&&(!cpuis("STM32F042*"))&&(!cpuis("STM32F050G6"))&&(!cpuis("STM32F030F4"))&&(!cpuis("STM32F030K6"))&&(!cpuis("STM32F030C6"))&&(!cpuis("STM32F051K8"))&&!cpuis("STM32F038?6")&&!cpuis("STM32F048*")&&!cpuis("STM32F051T8"))
(
menuitem "I2C 2" "per , ""I2C (Inter-integrated circuit),I2C2"""
)
)
)
popup "USART"
(
menuitem "USART 1" "per , ""USART (Universal synchronous asynchronous receiver transmitter),USART1"""
if (CPU()=="STM32F051C6"||CPU()=="STM32F051C8"||CPU()=="STM32F051K6"||CPU()=="STM32F051K8"||CPU()=="STM32F051R6"||CPU()=="STM32F051R8"||cpuis("STM32F048?6"))||(cpuis("STM32F058?8"))||(cpuis("STM32F078?B"))||(cpuis("STM32F091?B"))||(cpuis("STM32F091?C"))||(cpuis("STM32F098?C")||cpuis("STM32F051T8")||cpuis("STM32F070RB")||cpuis("STM32F070F6")||cpuis("STM32F070CB")||cpuis("STM32F070C6")||cpuis("STM32F030RC")||cpuis("STM32F030CC"))
(
menuitem "USART 2" "per , ""USART (Universal synchronous asynchronous receiver transmitter),USART2"""
)
if (cpuis("STM32F078?B"))||(cpuis("STM32F091?B"))||(cpuis("STM32F091?C"))||(cpuis("STM32F098?C")||cpuis("STM32F070RB")||cpuis("STM32F070CB")||cpuis("STM32F030RC")||cpuis("STM32F030CC"))
(
menuitem "USART 3" "per , ""USART (Universal synchronous asynchronous receiver transmitter),USART3"""
menuitem "USART 4" "per , ""USART (Universal synchronous asynchronous receiver transmitter),USART4"""
)
if (cpuis("STM32F091?B"))||(cpuis("STM32F091?C"))||(cpuis("STM32F098?C"))
(
menuitem "USART 5" "per , ""USART (Universal synchronous asynchronous receiver transmitter),USART3"""
menuitem "USART 6" "per , ""USART (Universal synchronous asynchronous receiver transmitter),USART4"""
menuitem "USART 7" "per , ""USART (Universal synchronous asynchronous receiver transmitter),USART3"""
menuitem "USART 8" "per , ""USART (Universal synchronous asynchronous receiver transmitter),USART4"""
)
if cpuis("STM32F030RC")||cpuis("STM32F030CC")
(
menuitem "USART 5" "per , ""USART (Universal synchronous asynchronous receiver transmitter),USART3"""
menuitem "USART 6" "per , ""USART (Universal synchronous asynchronous receiver transmitter),USART4"""
)
)
if cpuis("STM32F030CC")||cpuis("STM32F030RC")||cpuis("STM32F070C6")||cpuis("STM32F070CB")||cpuis("STM32F070F6")||cpuis("STM32F070RB")
(
popup "SPI"
(
menuitem "SPI1" "per , ""SPI (Serial peripheral interface),SPI1"""
if cpuis("STM32F070RB")||cpuis("STM32F070CB")||cpuis("STM32F030CC")||cpuis("STM32F030RC")
(
menuitem "SPI2" "per , ""SPI (Serial peripheral interface),SPI2"""
)
)
)
else
(
popup "SPI/I2S"
(
if (CPU()=="STM32F051C4"||CPU()=="STM32F051C6"||CPU()=="STM32F051C8"||CPU()=="STM32F051K4"||CPU()=="STM32F051K6"||CPU()=="STM32F051K8"||CPU()=="STM32F051R4"||CPU()=="STM32F051R6"||CPU()=="STM32F051R8"||cpuis("STM32F038?6")||cpuis("STM32F048?6")||cpuis("STM32F058?8")||cpuis("STM32F078?B")||cpuis("STM32F091*")||cpuis("STM32F098*")||cpuis("STM32F070RB"))
(
menuitem "SPI1/I2S1" "per , ""SPI/I2S (Serial peripheral interface/inter-IC sound),SPI1/I2S1"""
if (CPU()=="STM32F051C8"||CPU()=="STM32F051K8"||CPU()=="STM32F051R8"||cpuis("STM32F078?B")||cpuis("STM32F091*")||cpuis("STM32F098*"))
(
menuitem "SPI2" "per , ""SPI/I2S (Serial peripheral interface/inter-IC sound),SPI2"""
)
)
else
(
menuitem "SPI1/I2S1" "per , ""SPI/I2S (Serial peripheral interface/inter-IC sound),SPI1/I2S1"""
)
)
)
if (cpuis("STM32F042*"))||(cpuis("STM32F072*"))||cpuis("STM32F091*")||cpuis("STM32F098*")
(
menuitem "bxCAN" "per , ""bxCAN (Basic Extended Controller Area Network)"""
)
if (cpuis("STM32F042*"))||(cpuis("STM32F072*"))||cpuis("STM32F048?6")||cpuis("STM32F078?B")||cpuis("STM32F070RB")||cpuis("STM32F070F6")||cpuis("STM32F070C6")||cpuis("STM32F070CB")
(
popup "USB"
(
menuitem "USB" "per , ""USB (Universal Serial Bus)"""
menuitem "USB BDT" "per , ""USB BDT (USB Buffer descriptor table)"""
)
)
if (CPU()=="STM32F051C4"||CPU()=="STM32F051C6"||CPU()=="STM32F051C8"||CPU()=="STM32F051K4"||CPU()=="STM32F051K6"||CPU()=="STM32F051K8"||CPU()=="STM32F051R4"||CPU()=="STM32F051R6"||CPU()=="STM32F051R8"||(cpuis("STM32F042*"))||(cpuis("STM32F072*"))||(cpuis("STM32F071*"))||(cpuis("STM32F050G6"))||cpuis("STM32F051T8")||cpuis("STM32F048?6")||cpuis("STM32F058?8")||cpuis("STM32F078?B")||cpuis("STM32F091*")||cpuis("STM32F098*"))
(
menuitem "TSC" "per , ""TSC (Touch sensing controller)"""
)
if !cpuis("STM32F070C6")&&!cpuis("STM32F070CB")&&!cpuis("STM32F070F6")&&!cpuis("STM32F070RB")
(
if (CPU()=="STM32F051C4"||CPU()=="STM32F051C6"||CPU()=="STM32F051C8"||CPU()=="STM32F051K4"||CPU()=="STM32F051K6"||CPU()=="STM32F051K8"||CPU()=="STM32F051R4"||CPU()=="STM32F051R6"||CPU()=="STM32F051R8"||(cpuis("STM32F042*"))||(cpuis("STM32F07*"))||cpuis("STM32F048*")||cpuis("STM32F058*")||cpuis("STM32F078*")||cpuis("STM32F091*")||cpuis("STM32F098*")||cpuis("STM32F051T8"))
(
menuitem "HDMI-CEC" "per , ""HDMI-CEC (HDMI-CEC controller)"""
)
)
if (!cpuis("STM32F030?4"))&&(!cpuis("STM32F030?6"))&&(!cpuis("STM32F030?8"))&&(!cpuis("STM32F031*"))&&(!cpuis("STM32F042*"))&&(!cpuis("STM32F071*"))&&(!cpuis("STM32F072*"))&&(!cpuis("STM32F050G6"))&&(!cpuis("STM32F038?6"))&&(!cpuis("STM32F048?6"))&&(!cpuis("STM32F058?8"))&&(!cpuis("STM32F078?B"))&&(!cpuis("STM32F091?B"))&&(!cpuis("STM32F091?C"))&&(!cpuis("STM32F098?C")&&!cpuis("STM32F051T8")&&!cpuis("STM32F070C6")&&!cpuis("STM32F070CB")&&!cpuis("STM32F070F6")&&!cpuis("STM32F070RB")&&!cpuis("STM32F030CC")&&!cpuis("STM32F030RC"))
(
menuitem "ESIG" "per , ""ESIG (Device electronic signature)"""
)
if !cpuis("STM32F051T8")&&!cpuis("STM32F058T8")&&!cpuis("STM32F038E6")&&!cpuis("STM32F031E6")&&!cpuis("STM32F070C6")&&!cpuis("STM32F070CB")&&!cpuis("STM32F070F6")&&!cpuis("STM32F070RB")&&!cpuis("STM32F030CC")&&!cpuis("STM32F030RC")
(
if (cpuis("STM32F031?4"))||(cpuis("STM32F031?6"))||(cpuis("STM32F051?4"))||(cpuis("STM32F051?6"))||(cpuis("STM32F051?8"))||(cpuis("STM32F071?8"))||(cpuis("STM32F071?B"))||(cpuis("STM32F042?4"))||(cpuis("STM32F042?6"))||(cpuis("STM32F072?8"))||(cpuis("STM32F072?B"))||(cpuis("STM32F038?6"))||(cpuis("STM32F048?6"))||(cpuis("STM32F058?8"))||(cpuis("STM32F078?B"))||(cpuis("STM32F091?B"))||(cpuis("STM32F091?C"))||(cpuis("STM32F098?C"))
(
menuitem "ESIG" "per , ""ESIG (Device electronic signature)"""
)
)
if (cpuis("STM32F050G6"))||(cpuis("STM32F038?6"))||(cpuis("STM32F048?6"))||(cpuis("STM32F058?8"))||(cpuis("STM32F078?B"))||(cpuis("STM32F091?B"))||(cpuis("STM32F091?C"))||(cpuis("STM32F098?C")||cpuis("STM32F051T8")||cpuis("STM32F031E6")||cpuis("STM32F070C6")||cpuis("STM32F070CB")||cpuis("STM32F070F6")||cpuis("STM32F070RB")||cpuis("STM32F030CC")||cpuis("STM32F030RC"))
(
menuitem "DBG" "per , ""DBG (Debug support)"""
)
)
)