; -------------------------------------------------------------------------------- ; @Title: STM32F7x Specific Menu ; @Props: Released ; @Author: GAJ, AMM, AST, WWE, MRD, MTR, KWI, KRZ, JMI, DPR, MIC, JUS, STY ; @Changelog: 2016-09-08 AST ; 2015-11-23 GAJ ; 2017-03-03 WWE ; 2017-05-23 MTR ; 2018-05-29 KWI ; 2020-02-07 KRZ ; @Manufacturer: STM - ST Microelectronics N.V. ; @Core: Cortex-M7F ; @Chip: STM32F745VE, STM32F745VG, STM32F745ZE, STM32F745ZG, STM32F745IE ; STM32F745IG, STM32F746VG, STM32F746VG, STM32F746BG, STM32F756BG ; STM32F765II, STM32F767VI, STM32F767BI, STM32F769VG, STM32F769BG ; STM32F745BE, STM32F745BG, STM32F745NE, STM32F745NG, STM32F746VE ; STM32F746ZE, STM32F746ZG, STM32F746IE, STM32F746IG, STM32F746BE ; STM32F746NE, STM32F746NG, STM32F756VG, STM32F756ZG, STM32F756IG ; STM32F756NG, STM32F765VI, STM32F765VG, STM32F765ZI, STM32F765ZG ; STM32F765IG, STM32F765BI, STM32F765BG, STM32F765NI, STM32F765NG ; STM32F767VG, STM32F767ZI, STM32F767ZG, STM32F767II, STM32F767IG ; STM32F767BG, STM32F767NI, STM32F767NG, STM32F768AI, STM32F769VI ; STM32F769BI, STM32F769ZI, STM32F769ZG, STM32F769II, STM32F769IG ; STM32F777ZI, STM32F769NI, STM32F769NG, STM32F769AI, STM32F777VI ; STM32F777BI, STM32F777NI, STM32F778AI, STM32F779ZI, STM32F779II ; STM32F779NI, STM32F779AI, STM32F777II, STM32F779BI, STM32F722IC ; STM32F722IE, STM32F722RC, STM32F722RE, STM32F722VC, STM32F722VE ; STM32F722ZC, STM32F722ZE, STM32F723IC, STM32F723IE, STM32F723VE ; STM32F723ZC, STM32F723ZE, STM32F732IE, STM32F732RE, STM32F732VE ; STM32F732ZE, STM32F733IE, STM32F733VE, STM32F733ZE, STM32F730I8 ; STM32F730R8, STM32F730V8, STM32F730Z8, STM32F750N8, STM32F750V8 ; STM32F750Z8 ; @Copyright: (C) 1989-2020 Lauterbach GmbH, licensed for use with TRACE32(R) only ; -------------------------------------------------------------------------------- ; $Id: menstm32f7x.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-M7F)" ( menuitem "[:chip]System Control" "per , ""Core Registers (Cortex-M7F),System Control""" menuitem "[:chip]MPU;Memory Protection Unit" "per , ""Core Registers (Cortex-M7F),Memory Protection Unit (MPU)""" menuitem "[:chip]NVIC;Nested Vectored Interrupt Controller" "per , ""Core Registers (Cortex-M7F),Nested Vectored Interrupt Controller (NVIC)""" menuitem "[:chip]FPU;Floating-point Unit" "per , ""Core Registers (Cortex-M7F),Floating-point Unit (FPU)""" popup "[:chip]Debug" ( menuitem "[:chip]Core Debug" "per , ""Core Registers (Cortex-M7F),Debug,Core Debug""" menuitem "[:chip]FPB;Flash Patch and Breakpoint Unit" "per , ""Core Registers (Cortex-M7F),Debug,Flash Patch and Breakpoint Unit (FPB)""" menuitem "[:chip]DWT;Data Watchpoint and Trace Unit" "per , ""Core Registers (Cortex-M7F),Debug,Data Watchpoint and Trace Unit (DWT)""" ) ) separator menuitem "FLASH;Embedded Flash Memory" "per , ""FLASH (Embedded Flash Memory)""" menuitem "PWR;Power Controller" "per , ""PWR (Power Controller)""" menuitem "RCC;Reset And Clock Control" "per , ""RCC (Reset And Clock Control)""" popup "GPIO;General Purpose I/O's" ( menuitem "GPIO A" "per , ""GPIO (General Purpose I/O's),GPIO A""" menuitem "GPIO B" "per , ""GPIO (General Purpose I/O's),GPIO B""" menuitem "GPIO C" "per , ""GPIO (General Purpose I/O's),GPIO C""" menuitem "GPIO D" "per , ""GPIO (General Purpose I/O's),GPIO D""" if (!cpuis("STM32F72?R*")&&!cpuis("STM32F73?R*")) ( menuitem "GPIO E" "per , ""GPIO (General Purpose I/O's),GPIO E""" ) if cpuis("STM32F7??Z?")||cpuis("STM32F7??I?")||cpuis("STM32F7??B?")||cpuis("STM32F7??N?")||cpuis("STM32F7??A?") ( menuitem "GPIO F" "per , ""GPIO (General Purpose I/O's),GPIO F""" ) if (cpuis("STM32F7??Z?")||cpuis("STM32F7??I?")||cpuis("STM32F7??B?")||cpuis("STM32F7??N?")||cpuis("STM32F7??A?")) ( menuitem "GPIO G" "per , ""GPIO (General Purpose I/O's),GPIO G""" ) if (cpuis("STM32F7??I?")||cpuis("STM32F7??B?")||cpuis("STM32F7??N?")||cpuis("STM32F7??A?")) ( menuitem "GPIO H" "per , ""GPIO (General Purpose I/O's),GPIO H""" ) else ( menuitem "GPIO H" "per , ""GPIO (General Purpose I/O's),GPIO H""" ) if (cpuis("STM32F7??I?")||cpuis("STM32F7??B?")||cpuis("STM32F7??N?")||cpuis("STM32F7??A?")) ( menuitem "GPIO I" "per , ""GPIO (General Purpose I/O's),GPIO I""" ) if (cpuis("STM32F7??B?")||cpuis("STM32F7??N?")) ( menuitem "GPIO J" "per , ""GPIO (General Purpose I/O's),GPIO J""" menuitem "GPIO K" "per , ""GPIO (General Purpose I/O's),GPIO K""" ) ) menuitem "SYSCFG;System Configuration Controller" "per , ""SYSCFG (System Configuration Controller)""" popup "DMA;Direct Memory Access Controller" ( menuitem "DMA 1" "per , ""DMA (Direct Memory Access Controller),DMA 1""" menuitem "DMA 2" "per , ""DMA (Direct Memory Access Controller),DMA 2""" ) if (!cpuis("STM32F72*")&&!cpuis("STM32F73*")) ( menuitem "DMA2D;Chrom-Art Accelerator controller" "per , ""DMA2D (Chrom-Art Accelerator controller)""" ) menuitem "EXTI;External interrupt/event controller" "per , ""EXTI (External interrupt/event controller)""" menuitem "CRC;Cyclic Redundancy Check" "per , ""CRC (Cyclic Redundancy Check)""" if (!cpuis("STM32F72?R*")&&!cpuis("STM32F73?R*")) ( if (cpuis("STM32F750V8")&&cpuis("STM32F730V8")) ( menuitem "FMC;Flexible Memory Controller" "per , ""FMC (Flexible Memory Controller)""" ) else ( menuitem "FMC;Flexible Memory Controller" "per , ""FMC (Flexible Memory Controller)""" ) ) menuitem "QUADSPI;QuadSPI" "per , ""QUADSPI (QuadSPI)""" popup "ADC;Analog-to-Digital Converter" ( menuitem "Common Registers" "per , ""ADC (Analog-to-Digital Converter),Common Registers""" menuitem "ADC 1" "per , ""ADC (Analog-to-Digital Converter),ADC 1""" menuitem "ADC 2" "per , ""ADC (Analog-to-Digital Converter),ADC 2""" menuitem "ADC 3" "per , ""ADC (Analog-to-Digital Converter),ADC 3""" ) menuitem "DAC;Digital-to-Analog Converter" "per , ""DAC (Digital-to-Analog Converter)""" if (cpuis("STM32F76*")||cpuis("STM32F77*")) ( menuitem "DFSDM1;Digital filter for sigma delta modulators" "per , ""DFSDM1 (Digital filter for sigma delta modulators)""" ) if (!cpuis("STM32F72*")&&!cpuis("STM32F73*")) ( menuitem "DCMI;Digital Camera Interface" "per , ""DCMI (Digital Camera Interface)""" ) if (cpuis("STM32F746*")||cpuis("STM32F756*")||cpuis("STM32F77*")||cpuis("STM32F767V*")||cpuis("STM32F769V*")||cpuis("STM32F767Z*")||cpuis("STM32F769Z*")||cpuis("STM32F769A*")||cpuis("STM32F767I*")||cpuis("STM32F769I*")||cpuis("STM32F767B*")||cpuis("STM32F769B*")||cpuis("STM32F767N*")||cpuis("STM32F769N*")||cpuis("STM32F750*")) ( menuitem "LTDC;LCD-TFT Controller" "per , ""LTDC (LCD-TFT Controller)""" ) if (cpuis("STM32F76*")||cpuis("STM32F77*")) ( menuitem "DSIHOST;DSI Host" "per , ""DSIHOST (DSI Host)""" ) if (cpuis("STM32F77*")||cpuis("STM32F767V*")||cpuis("STM32F769V*")||cpuis("STM32F767Z*")||cpuis("STM32F769Z*")||cpuis("STM32F769A*")||cpuis("STM32F767I*")||cpuis("STM32F769I*")||cpuis("STM32F767B*")||cpuis("STM32F769B*")||cpuis("STM32F767N*")||cpuis("STM32F769N*")) ( menuitem "JPEG;JPEG codec" "per , ""JPEG (JPEG codec)""" ) menuitem "RNG;Random Number Generator" "per , ""RNG (Random Number Generator)""" if cpuis("STM32F73*") ( menuitem "AES;Advanced encryption standard hardware accelerator" "per , ""AES (Advanced encryption standard hardware accelerator)""" ) if (cpuis("STM32F756*")||cpuis("STM32F77*")||cpuis("STM32F750*")) ( menuitem "CRYP;Cryptographic Processor" "per , ""CRYP (Cryptographic Processor)""" menuitem "HASH;Hash Processor" "per , ""HASH (Hash Processor)""" ) popup "ACT;Advanced-control Timers" ( menuitem "TIM 1" "per , ""ACT (Advanced-control Timers),TIM 1""" menuitem "TIM 8" "per , ""ACT (Advanced-control Timers),TIM 8""" ) popup "GPT;General-purpose timers" ( 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""" menuitem "TIM 10" "per , ""GPT (General-purpose timers),TIM 10""" menuitem "TIM 11" "per , ""GPT (General-purpose timers),TIM 11""" if (!cpuis("STM32F723R*")&&!cpuis("STM32F733R*")&&!cpuis("STM32F723V*")&&!cpuis("STM32F733V*")&&!cpuis("STM32F723Z*")&&!cpuis("STM32F733Z*")) ( 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""" ) popup "BT;Basic Timers" ( menuitem "TIM 6" "per , ""BT (Basic Timers),TIM 6""" menuitem "TIM 7" "per , ""BT (Basic Timers),TIM 7""" ) if !cpuis("STM32F72?R*")&&!cpuis("STM32F73?R*") ( menuitem "LPTIM;Low-power Timer" "per , ""LPTIM (Low-power Timer)""" ) menuitem "IWDG;Independent Watchdog" "per , ""IWDG (Independent Watchdog)""" menuitem "WWDG;Window Watchdog" "per , ""WWDG (Window Watchdog)""" menuitem "RTC;Real-Time Clock" "per , ""RTC (Real-Time Clock)""" popup "I2C;Inter-Integrated Circuit" ( menuitem "I2C 1" "per , ""I2C (Inter-Integrated Circuit),I2C 1""" menuitem "I2C 2" "per , ""I2C (Inter-Integrated Circuit),I2C 2""" menuitem "I2C 3" "per , ""I2C (Inter-Integrated Circuit),I2C 3""" if !cpuis("STM32F72*")&&!cpuis("STM32F73*") ( menuitem "I2C 4" "per , ""I2C (Inter-Integrated Circuit),I2C 4""" ) ) popup "USART;Universal Synchronous Asynchronous Receiver Transmitter" ( 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""" menuitem "UART 4" "per , ""USART (Universal Synchronous Asynchronous Receiver Transmitter),UART 4""" menuitem "UART 5" "per , ""USART (Universal Synchronous Asynchronous Receiver Transmitter),UART 5""" menuitem "USART 6" "per , ""USART (Universal Synchronous Asynchronous Receiver Transmitter),USART 6""" if !cpuis("STM32F72?R*")&&!cpuis("STM32F73?R*") ( menuitem "UART 7" "per , ""USART (Universal Synchronous Asynchronous Receiver Transmitter),UART 7""" menuitem "UART 8" "per , ""USART (Universal Synchronous Asynchronous Receiver Transmitter),UART 8""" ) ) popup "SPI;Serial Peripheral Interface" ( 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""" if (!cpuis("STM32F72?R*")&&!cpuis("STM32F73?R*")) ( menuitem "SPI 4" "per , ""SPI (Serial Peripheral Interface),SPI 4""" ) if (cpuis("STM32F7??Z?")||cpuis("STM32F7??I?")||cpuis("STM32F7??B?")||cpuis("STM32F7??N?")||cpuis("STM32F7??A?")||cpuis("STM32F72*")||cpuis("STM32F73*")) ( if (!cpuis("STM32F72?R*")&&!cpuis("STM32F73?R*")&&!cpuis("STM32F72?V*")&&!cpuis("STM32F73?V*")) ( menuitem "SPI 5" "per , ""SPI (Serial Peripheral Interface),SPI 5""" ) if (!cpuis("STM32F72*")&&!cpuis("STM32F73*")) ( menuitem "SPI 6" "per , ""SPI (Serial Peripheral Interface),SPI 6""" ) ) ) popup "SAI;Serial Audio Interface" ( 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""" ) 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("STM32F72*")&&!cpuis("STM32F73*")) ( menuitem "SPDIFRX;SPDIF Receiver Interface" "per , ""SPDIFRX (SPDIF Receiver Interface)""" ) if (cpuis("STM32F76*")||cpuis("STM32F77*")) ( menuitem "MDIO" "per , ""MDIO""" ) popup "SDMMC;SD/SDIO/MMC Card Host Interface" ( menuitem "SDMMC1" "per , ""SDMMC (SD/SDIO/MMC Card Host Interface),SDMMC1""" if cpuis("STM32F76*")||cpuis("STM32F77*")||cpuis("STM32F72*")||cpuis("STM32F73*") ( if !cpuis("STM32F72?R*")&&!cpuis("STM32F73?R*")&&!cpuis("STM32F723V*")&&!cpuis("STM32F733V*") ( menuitem "SDMMC2" "per , ""SDMMC (SD/SDIO/MMC Card Host Interface),SDMMC2""" ) ) ) popup "CAN;Controller Area Network" ( menuitem "CAN 1" "per , ""CAN (Controller Area Network),CAN 1""" if (!cpuis("STM32F72*")&&!cpuis("STM32F73*")) ( menuitem "CAN 2" "per , ""CAN (Controller Area Network),CAN 2""" ) if (cpuis("STM32F76*")||cpuis("STM32F77*")) ( menuitem "CAN 3" "per , ""CAN (Controller Area Network),CAN 3""" ) ) menuitem "USB_OTG_FS;USB on-the-go full-speed" "per , ""USB_OTG_FS (USB on-the-go full-speed)""" menuitem "USB_OTG_HS;USB on-the-go high-speed" "per , ""USB_OTG_HS (USB on-the-go high-speed)""" if (!cpuis("STM32F72*")&&!cpuis("STM32F73*")) ( menuitem "ETH;Ethernet" "per , ""ETH (Ethernet)""" menuitem "HDMI-CEC;HDMI-CEC controller" "per , ""HDMI-CEC (HDMI-CEC controller)""" ) if (!cpuis("STM32F72*")&&!cpuis("STM32F73*")) ( menuitem "DES;Device Electronic Signature" "per , ""DES (Device Electronic Signature)""" ) else ( menuitem "DES;Device Electronic Signature" "per , ""DES (Device Electronic Signature)""" ) if (cpuis("STM32F7?3*")||cpuis("STM32F73*")) ( if (!cpuis("STM32F72?R*")&&!cpuis("STM32F73?R*")&&!cpuis("STM32F730V*")&&!cpuis("STM32F76*")&&!cpuis("STM32F77*")) ( menuitem "USBPHYC;USB PHY Controller" "per , ""USBPHYC (USB PHY Controller)""" ) ) ) )