642 lines
26 KiB
Plaintext
642 lines
26 KiB
Plaintext
; --------------------------------------------------------------------------------
|
|
; @Title: STM32F4x Specific Menu
|
|
; @Props: Released
|
|
; @Author: LSD, GAJ, MHM
|
|
; @Changelog: 2016-07-26 GAJ
|
|
; 2017-05-22 MHM
|
|
; @Manufacturer: STM - ST Microelectronics N.V.
|
|
; @Core: Cortex-M4
|
|
; @Chip: STM32F401CD, STM32F401CE, STM32F401RD, STM32F401RE
|
|
; STM32F401VD, STM32F401VE, STM32F410C8, STM32F410CB
|
|
; STM32F410R8, STM32F410RB, STM32F410T8, STM32F410TB
|
|
; STM32F411CC, STM32F411CE, STM32F411RC, STM32F411RE
|
|
; STM32F411VC, STM32F411VE, STM32F412CE, STM32F412CG
|
|
; STM32F412RE, STM32F412RG, STM32F412VE, STM32F412VG
|
|
; STM32F412ZE, STM32F412ZG, STM32F413CG, STM32F413CH
|
|
; STM32F413MG, STM32F413MH, STM32F413RG, STM32F413RH
|
|
; STM32F413VG, STM32F413VH, STM32F413ZG, STM32F413ZH
|
|
; STM32F423CH, STM32F423MH, STM32F423RH, STM32F423VH
|
|
; STM32F423ZH, STM32F427AG, STM32F427AI, STM32F429AG
|
|
; STM32F429AI, STM32F429BE, STM32F429IE, STM32F429NE
|
|
; STM32F429VE, STM32F429ZE, STM32F437AI, STM32F439AI
|
|
; STM32F446MC, STM32F446ME, STM32F446RC, STM32F446RE
|
|
; STM32F446VC, STM32F446VE, STM32F446ZC, STM32F446ZE
|
|
; STM32F469AE, STM32F469AG, STM32F469AI, STM32F469BE
|
|
; STM32F469BG, STM32F469BI, STM32F469IE, STM32F469IG
|
|
; STM32F469II, STM32F469NE, STM32F469NG, STM32F469NI
|
|
; STM32F469VE, STM32F469VG, STM32F469VI, STM32F469ZE
|
|
; STM32F469ZG, STM32F469ZI, STM32F479AG, STM32F479AI
|
|
; STM32F479BG, STM32F479BI, STM32F479IG, STM32F479II
|
|
; STM32F479NG, STM32F479NI, STM32F479VG, STM32F479VI
|
|
; STM32F479ZG, STM32F479ZI
|
|
; @Copyright: (C) 1989-2017 Lauterbach GmbH, licensed for use with TRACE32(R) only
|
|
; --------------------------------------------------------------------------------
|
|
; $Id: menstm32f4x.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 "FMI" "per , ""FMI (Flash Memory Interface)"""
|
|
menuitem "CRC" "per , ""CRC (Cyclic Redundancy Check)"""
|
|
menuitem "PWR_CR" "per , ""PWR_CR (Power Control Register)"""
|
|
menuitem "RCC" "per , ""RCC (Reset and Clock Control)"""
|
|
popup "GPIO"
|
|
(
|
|
menuitem "GPIO A" "per , ""GPIO (General Purpose I/O),GPIO A"""
|
|
menuitem "GPIO B" "per , ""GPIO (General Purpose I/O),GPIO B"""
|
|
menuitem "GPIO C" "per , ""GPIO (General Purpose I/O),GPIO C"""
|
|
if !cpuis("STM32F401C*")&&!cpuis("STM32F411C*")&&!cpuis("STM32F410*")
|
|
(
|
|
menuitem "GPIO D" "per , ""GPIO (General Purpose I/O),GPIO D"""
|
|
)
|
|
if !cpuis("STM32F401C*")&&!cpuis("STM32F411C*")&&!cpuis("STM32F401R*")&&!cpuis("STM32F411R*")&&!cpuis("STM32F446R*")&&!cpuis("STM32F405R*")&&!cpuis("STM32F415R*")&&!cpuis("STM32F410*")&&!cpuis("STM32F413C*")&&!cpuis("STM32F413R*")&&(cpu()!="STM32F423CH")&&(cpu()!="STM32F423RH")&&!cpuis("STM32F412C*")&&!cpuis("STM32F412R*")
|
|
(
|
|
menuitem "GPIO E" "per , ""GPIO (General Purpose I/O),GPIO E"""
|
|
)
|
|
if cpuis("STM32F446Z*")||cpuis("STM32F405Z*")||cpuis("STM32F407Z*")||cpuis("STM32F415Z*")||cpuis("STM32F417Z*")||cpuis("STM32F427Z*")||cpuis("STM32F429Z*")||cpuis("STM32F437Z*")||cpuis("STM32F439Z*")||cpuis("STM32F469Z*")||cpuis("STM32F479Z*")||cpuis("STM32F427A*")||cpuis("STM32F429A*")||cpuis("STM32F437A*")||cpuis("STM32F439A*")||cpuis("STM32F469A*")||cpuis("STM32F479A*")||cpuis("STM32F407I*")||cpuis("STM32F417I*")||cpuis("STM32F427I*")||cpuis("STM32F429I*")||cpuis("STM32F437I*")||cpuis("STM32F439I*")||cpuis("STM32F469I*")||cpuis("STM32F479I*")||cpuis("STM32F429B*")||cpuis("STM32F429N*")||cpuis("STM32F439B*")||cpuis("STM32F439N*")||cpuis("STM32F469B*")||cpuis("STM32F469N*")||cpuis("STM32F479B*")||cpuis("STM32F479N*")||cpuis("STM32F413Z*")||cpu()=="STM32F423ZH"||cpuis("STM32F412Z*")
|
|
(
|
|
menuitem "GPIO F" "per , ""GPIO (General Purpose I/O),GPIO F"""
|
|
)
|
|
if cpuis("STM32F446Z*")||cpuis("STM32F405Z*")||cpuis("STM32F407Z*")||cpuis("STM32F415Z*")||cpuis("STM32F417Z*")||cpuis("STM32F427Z*")||cpuis("STM32F429Z*")||cpuis("STM32F437Z*")||cpuis("STM32F439Z*")||cpuis("STM32F469Z*")||cpuis("STM32F479Z*")||cpuis("STM32F427A*")||cpuis("STM32F429A*")||cpuis("STM32F437A*")||cpuis("STM32F439A*")||cpuis("STM32F469A*")||cpuis("STM32F479A*")||cpuis("STM32F407I*")||cpuis("STM32F417I*")||cpuis("STM32F427I*")||cpuis("STM32F429I*")||cpuis("STM32F437I*")||cpuis("STM32F439I*")||cpuis("STM32F469I*")||cpuis("STM32F479I*")||cpuis("STM32F429B*")||cpuis("STM32F429N*")||cpuis("STM32F439B*")||cpuis("STM32F439N*")||cpuis("STM32F469B*")||cpuis("STM32F469N*")||cpuis("STM32F479B*")||cpuis("STM32F479N*")||cpuis("STM32F413Z*")||cpu()=="STM32F423ZH"||cpuis("STM32F412Z*")
|
|
(
|
|
menuitem "GPIO G" "per , ""GPIO (General Purpose I/O),GPIO G"""
|
|
)
|
|
menuitem "GPIO H" "per , ""GPIO (General Purpose I/O),GPIO H"""
|
|
if cpuis("STM32F405O*")||(cpuis("STM32F415O*"))||cpuis("STM32F427A*")||cpuis("STM32F429A*")||cpuis("STM32F437A*")||cpuis("STM32F439A*")||cpuis("STM32F469A*")||cpuis("STM32F479A*")||cpuis("STM32F407I*")||cpuis("STM32F417I*")||cpuis("STM32F427I*")||cpuis("STM32F429I*")||cpuis("STM32F437I*")||cpuis("STM32F439I*")||cpuis("STM32F469I*")||cpuis("STM32F479I*")||cpuis("STM32F429B*")||cpuis("STM32F429N*")||cpuis("STM32F439B*")||cpuis("STM32F439N*")||cpuis("STM32F469B*")||cpuis("STM32F469N*")||cpuis("STM32F479B*")||cpuis("STM32F479N*")&&!cpuis("STM32F401CD")&&!cpuis("STM32F401CE")||cpuis("STM32F427A?")
|
|
(
|
|
menuitem "GPIO I" "per , ""GPIO (General Purpose I/O),GPIO I"""
|
|
)
|
|
if cpuis("STM32F429B?")||cpuis("STM32F429N?")||cpuis("STM32F439B?")||cpuis("STM32F439N?")||cpuis("STM32F469B*")||cpuis("STM32F479B*")||cpuis("STM32F469N*")||cpuis("STM32F479N*")&&!cpuis("STM32F401CD")&&!cpuis("STM32F401CE")
|
|
(
|
|
menuitem "GPIO J" "per , ""GPIO (General Purpose I/O),GPIO J"""
|
|
)
|
|
if cpuis("STM32F429B?")||cpuis("STM32F429N?")||cpuis("STM32F439B?")||cpuis("STM32F439N?")||cpuis("STM32F469B*")||cpuis("STM32F479B*")||cpuis("STM32F469N*")||cpuis("STM32F479N*")&&!cpuis("STM32F401CD")&&!cpuis("STM32F401CE")
|
|
(
|
|
menuitem "GPIO K" "per , ""GPIO (General Purpose I/O),GPIO K"""
|
|
)
|
|
)
|
|
menuitem "SYSCFG" "per , ""SYSCFG (System Configuration Controller)"""
|
|
popup "DMAC"
|
|
(
|
|
menuitem "DMA 1" "per , ""DMAC (DMA Controller),DMA 1"""
|
|
menuitem "DMA 2" "per , ""DMAC (DMA Controller),DMA 2"""
|
|
)
|
|
if (cpuis("STM32F42*")&&!cpuis("STM32F423?H"))||cpuis("STM32F43*")||cpuis("STM32F469*")||cpuis("STM32F479*")
|
|
(
|
|
menuitem "DMA2D" "per , ""DMA2D (Chrom-Art Accelerator Controller)"""
|
|
)
|
|
menuitem "EXTI" "per , ""EXTI (External Interrupt/Event Controller)"""
|
|
if ((cpuis("STM32F42*")&&cpuis("STM32F423?H"))||cpuis("STM32F43*")||cpuis("STM32F446V?")||cpuis("STM32F446Z?")||cpuis("STM32F469*")||cpuis("STM32F479*"))
|
|
(
|
|
menuitem "FMC" "per , ""FMC (Flexible Memory Controller)"""
|
|
)
|
|
else if (cpu()!="STM32F405RG")&&(cpu()!="STM32F415RG")&&(!cpuis("STM32F401*"))&&(!cpuis("STM32F411*"))&&!cpuis("STM32F446M*")&&!cpuis("STM32F446R*")&&!cpuis("STM32F410*")&&!cpuis("STM32F412C*")&&!cpuis("STM32F412R*")&&!cpuis("STM32F413C*")&&!cpuis("STM32F413R*")&&!cpuis("STM32F413M*")&&(cpu()!="STM32F423CH")&&(cpu()!="STM32F423RH")&&(cpu()!="STM32F423MH")
|
|
(
|
|
menuitem "FSMC" "per , ""FSMC (Flexible Static Memory Controller)"""
|
|
)
|
|
if (cpuis("STM32F446*")||cpuis("STM32F469*")||cpuis("STM32F479*"))||(cpuis("STM32F412*")&&!cpuis("STM32F412C*"))||(cpuis("STM32F413*")&&!cpuis("STM32F413C*"))||(cpuis("STM32F423?H")&&!(cpu()=="STM32F423CH"))
|
|
(
|
|
menuitem "QUADSPI" "per , ""QUADSPI (QuadSPI)"""
|
|
)
|
|
popup "ADC"
|
|
(
|
|
menuitem "Common" "per , ""ADC (Analog/Digital Converter),Common Registers"""
|
|
if cpuis("STM32F469*")||cpuis("STM32F479*")
|
|
(
|
|
menuitem "ADC 1" "per , ""ADC (Analog/Digital Converter),ADC 1"""
|
|
menuitem "ADC 2" "per , ""ADC (Analog/Digital Converter),ADC 2"""
|
|
menuitem "ADC 3" "per , ""ADC (Analog/Digital Converter),ADC 3"""
|
|
)
|
|
else
|
|
(
|
|
menuitem "ADC 1" "per , ""ADC (Analog/Digital Converter),ADC 1"""
|
|
if !cpuis("STM32F401*")&&!cpuis("STM32F411*")&&!cpuis("STM32F410*")&&!cpuis("STM32F412*")&&!cpuis("STM32F413*")&&!cpuis("STM32F423?H")
|
|
(
|
|
menuitem "ADC 2" "per , ""ADC (Analog/Digital Converter),ADC 2"""
|
|
if !cpuis("STM32F446M?")&&!cpuis("STM32F446R?")&&!cpuis("STM32F446V?")
|
|
(
|
|
menuitem "ADC 3" "per , ""ADC (Analog/Digital Converter),ADC 3"""
|
|
)
|
|
)
|
|
)
|
|
)
|
|
if (!cpuis("STM32F401*")&&!cpuis("STM32F411*")&&!cpuis("STM32F412*"))
|
|
(
|
|
menuitem "DAC" "per , ""DAC (Digital-to-Analog Converter)"""
|
|
)
|
|
if (cpuis("STM32F407*")||cpuis("STM32F417*")||cpuis("STM32F427*")||cpuis("STM32F429*")||cpuis("STM32F437*")||cpuis("STM32F439*")||cpuis("STM32F446*")||cpuis("STM32F469*")||cpuis("STM32F479*"))
|
|
(
|
|
menuitem "DCMI" "per , ""DCMI (Digital Camera Interface)"""
|
|
)
|
|
if (cpuis("STM32F429*")||cpuis("STM32F439*")||cpuis("STM32F469*")||cpuis("STM32F479*"))
|
|
(
|
|
menuitem "LCD-TFT" "per , ""LCD-TFT (LCD-TFT Controller)"""
|
|
)
|
|
if cpuis("STM32F412*")||cpuis("STM32F413*")||cpuis("STM32F423?H")
|
|
(
|
|
popup "DFSDM"
|
|
(
|
|
menuitem "DFSDM1" "per , ""DFSDM (Digital Filter For Sigma Delta Modulators),DFSDM1"""
|
|
if cpuis("STM32F413*")||cpuis("STM32F423?H")
|
|
(
|
|
menuitem "DFSDM2" "per , ""DFSDM (Digital Filter For Sigma Delta Modulators),DFSDM2"""
|
|
)
|
|
)
|
|
)
|
|
if cpuis("STM32F469*")||cpuis("STM32F479*")
|
|
(
|
|
menuitem "DSIHOST" "per , ""DSIHOST (Display Serial Interface)"""
|
|
)
|
|
if (!cpuis("STM32F446*")&&!cpuis("STM32F411*")&&!cpuis("STM32F401*"))
|
|
(
|
|
menuitem "RNG" "per , ""RNG (Random Number Generator)"""
|
|
)
|
|
if cpuis("STM32F415*")||cpuis("STM32F417*")||cpuis("STM32F437*")||cpuis("STM32F439*")||cpuis("STM32F479*")
|
|
(
|
|
menuitem "CRYP" "per , ""CRYP (Cryptographic Processor)"""
|
|
)
|
|
if cpuis("STM32F415*")||cpuis("STM32F417*")||cpuis("STM32F437*")||cpuis("STM32F439*")||cpuis("STM32F479*")
|
|
(
|
|
menuitem "HASH" "per , ""HASH (Hash Processor)"""
|
|
)
|
|
popup "ACT"
|
|
(
|
|
menuitem "TIM 1" "per , ""ACT (Advanced-control Timers),TIM 1"""
|
|
if !cpuis("STM32F401*")&&!cpuis("STM32F411*")&&!cpuis("STM32F410*")
|
|
(
|
|
menuitem "TIM 8" "per , ""ACT (Advanced-control Timers),TIM 8"""
|
|
)
|
|
)
|
|
popup "GPT"
|
|
(
|
|
if !cpuis("STM32F410*")
|
|
(
|
|
menuitem "TIM 2" "per , ""GPT (General-purpose Timers),TIM 2"""
|
|
menuitem "TIM 3" "per , ""GPT (General-purpose Timers),TIM 3"""
|
|
menuitem "TIM 4" "per , ""GPT (General-purpose Timers),TIM 4"""
|
|
)
|
|
menuitem "TIM 5" "per , ""GPT (General-purpose Timers),TIM 5"""
|
|
menuitem "TIM 9" "per , ""GPT (General-purpose Timers),TIM 9"""
|
|
if !cpuis("STM32F410*")
|
|
(
|
|
menuitem "TIM 10" "per , ""GPT (General-purpose Timers),TIM 10"""
|
|
)
|
|
menuitem "TIM 11" "per , ""GPT (General-purpose Timers),TIM 11"""
|
|
if !cpuis("STM32F401*")&&!cpuis("STM32F411*")&&!cpuis("STM32F410*")
|
|
(
|
|
menuitem "TIM 12" "per , ""GPT (General-purpose Timers),TIM 12"""
|
|
menuitem "TIM 13" "per , ""GPT (General-purpose Timers),TIM 13"""
|
|
menuitem "TIM 14" "per , ""GPT (General-purpose Timers),TIM 14"""
|
|
)
|
|
)
|
|
if (!cpuis("STM32F411*")&&!cpuis("STM32F401*"))
|
|
(
|
|
popup "BT"
|
|
(
|
|
menuitem "TIM 6" "per , ""BT (Basic Timers),TIM6"""
|
|
if !cpuis("STM32F410*")
|
|
(
|
|
menuitem "TIM 7" "per , ""BT (Basic Timers),TIM7"""
|
|
)
|
|
)
|
|
)
|
|
if cpuis("STM32F410*")||cpuis("STM32F413*")||cpuis("STM32F423?H")
|
|
(
|
|
menuitem "LPTIM" "per , ""LPTIM (Low-power Timer)"""
|
|
)
|
|
menuitem "IWDG" "per , ""IWDG (Independent Watchdog)"""
|
|
menuitem "WWDG" "per , ""WWDG (Window Watchdog)"""
|
|
menuitem "RTC" "per , ""RTC (Real-Time Clock)"""
|
|
if cpuis("STM32F410*")&&!cpuis("STM32F410T*")||cpuis("STM32F412*")||cpuis("STM32F413*")||cpuis("STM32F423?H")
|
|
(
|
|
popup "FMPI2C"
|
|
(
|
|
menuitem "I2CFMP 1" "per , ""FMPI2C (Fast-Mode Plus Inter-Integrated Circuit),I2CFMP 1"""
|
|
)
|
|
)
|
|
popup "I2C"
|
|
(
|
|
menuitem "I2C 1" "per , ""I2C (Inter-Integrated Circuit),I2C 1"""
|
|
menuitem "I2C 2" "per , ""I2C (Inter-Integrated Circuit),I2C 2"""
|
|
if !cpuis("STM32F410*")
|
|
(
|
|
menuitem "I2C 3" "per , ""I2C (Inter-Integrated Circuit),I2C 3"""
|
|
)
|
|
)
|
|
popup "USART"
|
|
(
|
|
menuitem "USART 1" "per , ""USART (Universal Synchronous Asynchronous Receiver Transmitter),USART 1"""
|
|
menuitem "USART 2" "per , ""USART (Universal Synchronous Asynchronous Receiver Transmitter),USART 2"""
|
|
menuitem "USART 3" "per , ""USART (Universal Synchronous Asynchronous Receiver Transmitter),USART 3"""
|
|
if cpuis("STM32F410*")||cpuis("STM32F412*")||cpuis("STM32F413*")||cpuis("STM32F423?H")||cpuis("STM32F469*")||cpuis("STM32F479*")
|
|
(
|
|
if cpuis("STM32F413*")||cpuis("STM32F423?H")||cpuis("STM32F469*")||cpuis("STM32F479*")
|
|
(
|
|
menuitem "UART 4" "per , ""USART (Universal Synchronous Asynchronous Receiver Transmitter),UART 4"""
|
|
menuitem "UART 5" "per , ""USART (Universal Synchronous Asynchronous Receiver Transmitter),UART 5"""
|
|
)
|
|
if !cpuis("STM32F410T*")&&!cpuis("STM32F412C*")&&!cpuis("STM32F413C*")&&!cpuis("STM32F423CH")
|
|
(
|
|
menuitem "USART 6" "per , ""USART (Universal Synchronous Asynchronous Receiver Transmitter),USART 6"""
|
|
)
|
|
if cpuis("STM32F413*")||cpuis("STM32F423?H")||cpuis("STM32F469*")||cpuis("STM32F479*")
|
|
(
|
|
menuitem "UART 7" "per , ""USART (Universal Synchronous Asynchronous Receiver Transmitter),URT 7"""
|
|
if cpuis("STM32F413V*")||cpuis("STM32F413Z*")||cpuis("STM32F423VH")||cpuis("STM32F423ZH")||(cpuis("STM32F469*")&&!cpuis("STM32F469V*")&&!cpuis("STM32F469Z*"))||(cpuis("STM32F479*")&&!cpuis("STM32F479V*")&&!cpuis("STM32F479Z*"))
|
|
(
|
|
menuitem "UART 8" "per , ""USART (Universal Synchronous Asynchronous Receiver Transmitter),UART 8"""
|
|
)
|
|
if cpuis("STM32F413V*")||cpuis("STM32F413Z*")||cpuis("STM32F423VH")||cpuis("STM32F423ZH")
|
|
(
|
|
menuitem "USART 9" "per , ""USART (Universal Synchronous Asynchronous Receiver Transmitter),USART 9"""
|
|
menuitem "USART 10" "per , ""USART (Universal Synchronous Asynchronous Receiver Transmitter),USART 10"""
|
|
)
|
|
)
|
|
)
|
|
else
|
|
(
|
|
menuitem "UART 4" "per , ""USART (Universal Synchronous Asynchronous Receiver Transmitter),USART 4"""
|
|
menuitem "UART 5" "per , ""USART (Universal Synchronous Asynchronous Receiver Transmitter),USART 5"""
|
|
menuitem "USART 6" "per , ""USART (Universal Synchronous Asynchronous Receiver Transmitter),USART 6"""
|
|
menuitem "UART 7" "per , ""USART (Universal Synchronous Asynchronous Receiver Transmitter),USART 7"""
|
|
menuitem "UART 8" "per , ""USART (Universal Synchronous Asynchronous Receiver Transmitter),USART 8"""
|
|
)
|
|
)
|
|
popup "SPI"
|
|
(
|
|
if cpuis("STM32F410*")
|
|
(
|
|
menuitem "SPI 1/I2S1" "per , ""SPI (Serial Peripheral Interface),SPI 1/I2S1"""
|
|
if cpuis("STM32F410C*")||cpuis("STM32F410R*")
|
|
(
|
|
menuitem "SPI 2/I2S2" "per , ""SPI (Serial Peripheral Interface),SPI 2/I2S2"""
|
|
menuitem "SPI 5/I2S5" "per , ""SPI (Serial Peripheral Interface),SPI 5/I2S5"""
|
|
)
|
|
)
|
|
else if cpuis("STM32F411?C")||cpuis("STM32F411?E")||cpuis("STM32F412*")||cpuis("STM32F413*")||cpuis("STM32F423?H")
|
|
(
|
|
menuitem "SPI 1/I2S1" "per , ""SPI (Serial Peripheral Interface),SPI 1/I2S1"""
|
|
menuitem "SPI 2/I2S2" "per , ""SPI (Serial Peripheral Interface),SPI 2/I2S2"""
|
|
menuitem "SPI 3/I2S3" "per , ""SPI (Serial Peripheral Interface),SPI 3/I2S3"""
|
|
menuitem "SPI 4/I2S4" "per , ""SPI (Serial Peripheral Interface),SPI 4/I2S4"""
|
|
menuitem "SPI 5/I2S5" "per , ""SPI (Serial Peripheral Interface),SPI 5/I2S5"""
|
|
menuitem "I2S2ext" "per , ""SPI (Serial Peripheral Interface),I2S2ext"""
|
|
menuitem "I2S3ext" "per , ""SPI (Serial Peripheral Interface),I2S3ext"""
|
|
)
|
|
else if cpuis("STM32F469*")||cpuis("STM32F479*")
|
|
(
|
|
menuitem "SPI 1" "per , ""SPI (Serial Peripheral Interface),SPI 1"""
|
|
menuitem "SPI 2/I2S2" "per , ""SPI (Serial Peripheral Interface),SPI 2/I2S2"""
|
|
menuitem "SPI 3/I2S3" "per , ""SPI (Serial Peripheral Interface),SPI 3/I2S3"""
|
|
menuitem "SPI 4" "per , ""SPI (Serial Peripheral Interface),SPI 4"""
|
|
if !cpuis("STM32F469V*")&&!cpuis("STM32F469Z*")&&!cpuis("STM32F479V*")&&!cpuis("STM32F479Z*")
|
|
(
|
|
menuitem "SPI 5" "per , ""SPI (Serial Peripheral Interface),SPI 5"""
|
|
menuitem "SPI 6" "per , ""SPI (Serial Peripheral Interface),SPI 6"""
|
|
)
|
|
menuitem "I2S2ext" "per , ""SPI (Serial Peripheral Interface),I2S2ext"""
|
|
menuitem "I2S3ext" "per , ""SPI (Serial Peripheral Interface),I2S3ext"""
|
|
)
|
|
else if cpuis("STM32F411*")||cpuis("STM32F401V*")||cpuis("STM32F427V*")||cpuis("STM32F429V*")||cpuis("STM32F437V*")||cpuis("STM32F439V*")
|
|
(
|
|
menuitem "SPI 1/I2S1" "per , ""SPI (Serial Peripheral Interface),SPI 1/I2S1"""
|
|
menuitem "SPI 2/I2S2" "per , ""SPI (Serial Peripheral Interface),SPI 2/I2S2"""
|
|
menuitem "SPI 3/I2S3" "per , ""SPI (Serial Peripheral Interface),SPI 3/I2S3"""
|
|
menuitem "SPI 4/I2S4" "per , ""SPI (Serial Peripheral Interface),SPI 4/I2S4"""
|
|
menuitem "I2S2ext" "per , ""SPI (Serial Peripheral Interface),I2S2ext"""
|
|
menuitem "I2S3ext" "per , ""SPI (Serial Peripheral Interface),I2S3ext"""
|
|
)
|
|
else if cpuis("STM32F427*")||cpuis("STM32F429*")||cpuis("STM32F437*")||cpuis("STM32F439*")
|
|
(
|
|
menuitem "SPI 1/I2S1" "per , ""SPI (Serial Peripheral Interface),SPI 1/I2S1"""
|
|
menuitem "SPI 2/I2S2" "per , ""SPI (Serial Peripheral Interface),SPI 2/I2S2"""
|
|
menuitem "SPI 3/I2S3" "per , ""SPI (Serial Peripheral Interface),SPI 3/I2S3"""
|
|
menuitem "SPI 4/I2S4" "per , ""SPI (Serial Peripheral Interface),SPI 4/I2S4"""
|
|
menuitem "SPI 5/I2S5" "per , ""SPI (Serial Peripheral Interface),SPI 5/I2S5"""
|
|
menuitem "SPI 6/I2S6" "per , ""SPI (Serial Peripheral Interface),SPI 6/I2S6"""
|
|
menuitem "I2S2ext" "per , ""SPI (Serial Peripheral Interface),I2S2ext"""
|
|
menuitem "I2S3ext" "per , ""SPI (Serial Peripheral Interface),I2S3ext"""
|
|
)
|
|
else
|
|
(
|
|
menuitem "SPI 1/I2S1" "per , ""SPI (Serial Peripheral Interface),SPI 1/I2S1"""
|
|
menuitem "SPI 2/I2S2" "per , ""SPI (Serial Peripheral Interface),SPI 2/I2S2"""
|
|
menuitem "SPI 3/I2S3" "per , ""SPI (Serial Peripheral Interface),SPI 3/I2S3"""
|
|
menuitem "I2S2ext" "per , ""SPI (Serial Peripheral Interface),I2S2ext"""
|
|
menuitem "I2S3ext" "per , ""SPI (Serial Peripheral Interface),I2S3ext"""
|
|
)
|
|
)
|
|
if (cpuis("STM32F446*"))
|
|
(
|
|
menuitem "SPDIFRX" "per , ""SPDIFRX (SPDIF Receiver Interface)"""
|
|
)
|
|
if (cpuis("STM32F42*")||cpuis("STM32F43*")||cpuis("STM32F469*")||cpuis("STM32F479*"))
|
|
(
|
|
popup "SAI"
|
|
(
|
|
menuitem "Block A" "per , ""SAI (Serial Audio Interface),Block A"""
|
|
menuitem "Block B" "per , ""SAI (Serial Audio Interface),Block B"""
|
|
)
|
|
)
|
|
else if cpuis("STM32F446*")
|
|
(
|
|
popup "SAI"
|
|
(
|
|
popup "SAI_1"
|
|
(
|
|
menuitem "Block A" "per , ""SAI (Serial Audio Interface),SAI_1,Block A"""
|
|
menuitem "Block B" "per , ""SAI (Serial Audio Interface),SAI_1,Block B"""
|
|
menuitem "SAI" "per , ""SAI (Serial Audio Interface)"""
|
|
)
|
|
popup "SAI_2"
|
|
(
|
|
menuitem "Block A" "per , ""SAI (Serial Audio Interface),SAI_2,Block A"""
|
|
menuitem "Block B" "per , ""SAI (Serial Audio Interface),SAI_2,Block B"""
|
|
)
|
|
)
|
|
)
|
|
if !cpuis("STM3F401C*")&&!cpuis("STM32F410*")
|
|
(
|
|
menuitem "SDIO" "per , ""SDIO (SDIO Interface)"""
|
|
)
|
|
if (!cpuis("STM32F401*")&&!cpuis("STM32F411*"))
|
|
(
|
|
popup "CAN"
|
|
(
|
|
menuitem "CAN 1" "per , ""CAN (Controller Area Network),CAN 1"""
|
|
menuitem "CAN 2" "per , ""CAN (Controller Area Network),CAN 2"""
|
|
if cpuis("STM32F413*")||cpuis("STM32F423?H")
|
|
(
|
|
menuitem "CAN 3" "per , ""CAN (Controller Area Network),CAN 3"""
|
|
)
|
|
)
|
|
)
|
|
menuitem "USB_OTG_FS" "per , ""USB_OTG_FS (USB On-the-go Full-speed)"""
|
|
if (!cpuis("STM32F401*")&&(!cpuis("STM32F411*"))&&(!cpuis("STM32F410*"))&&(!cpuis("STM32F412*"))&&(!cpuis("STM32F413*"))&&(!cpuis("STM32F423?H")))
|
|
(
|
|
menuitem "USB_OTG_HS" "per , ""USB_OTG_HS (USB On-the-go High-speed)"""
|
|
)
|
|
if (cpuis("STM32F407*")||cpuis("STM32F417*")||cpuis("STM32F427*")||cpuis("STM32F437*")||cpuis("STM32F429*")||cpuis("STM32F439*")||cpuis("STM32F469I*")||cpuis("STM32F469B*")||cpuis("STM32F469N*")||cpuis("STM32F479I*")||cpuis("STM32F479B*")||cpuis("STM32F479N*"))
|
|
(
|
|
menuitem "ETH" "per , ""ETH (Ethernet)"""
|
|
)
|
|
if (cpuis("STM32F446*"))
|
|
(
|
|
menuitem "HDMI-CEC" "per , ""HDMI-CEC (HDMI-CEC Controller)"""
|
|
)
|
|
menuitem "DBG" "per , ""DBG (Debug Registers)"""
|
|
menuitem "DES" "per , ""DES (Device Electronic Signature)"""
|
|
)
|
|
)
|