460 lines
19 KiB
Plaintext
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)"""
|
|
)
|
|
)
|
|
)
|