; -------------------------------------------------------------------------------- ; @Title: Kinetis K20 Specific Menu ; @Props: Released ; @Author: KAP, KRW, KAO, PBU, ZUO, AJK, BBP, ROK, DPR, ROK, PIJ ; @Changelog: 2013-12-05 ; 2014-01-23 KRW ; 2014-10-23 KAO ; 2015-11-17 ZUO ; 2017-11-28 AJK ; 2018-11-30 SIK ; @Manufacturer: NXP - NXP Semiconductors ; @Core: Cortex-M4, Cortex-M4F ; @Chip: MK20DN32VFM5, MK20DN32VFT5, MK20DN32VLF5, MK20DN32VLH5, MK20DN32VMP5, ; MK20DX32VFM5, MK20DX32VFT5, MK20DX32VLF5, MK20DX32VLH5, MK20DX32VMP5, ; MK20DN64VFM5, MK20DN64VFT5, MK20DN64VLF5, MK20DN64VLH5, MK20DN64VMP5, ; MK20DX64VFM5, MK20DX64VFT5, MK20DX64VLF5, MK20DX64VLH5, MK20DX64VLH7, ; MK20DX64VLK7, MK20DX64VMC7, MK20DX64VMP5, MK20DN512ZCAB10R, ; MK20DN128VFT5, MK21DN512VMC5, MK21DX128VLK5, MK21DX128VMC5, ; MK20DN128VLF5, MK20DN128VLH5, MK20DN128VMP5, MK20DX128VFM5, ; MK20DX128VLF5, MK20DX128VLH5, MK20DX128VLH7, MK20DX128VLK7, ; MK20DX128VFT5, MK20DX128VLL7, MK20DX128VMC7, MK20DX256VLH7, ; MK20DX256VLL7, MK21DX256VMC5, MK20DN128VFM5, MK20DX128VML7, ; MK20DX128VMP5, MK22DN512VMC5, MK22DX128VMC5, MK22DX256VMC5, ; MK22DN512VLK5, MK22DX128VLF5, MK22DX128VLH5, MK22DX128VLK5, ; MK22DX256VLF5, MK22DX256VLH5, MK20DX256VLK7, MK22DX256VLK5, ; MK20DX256VMC7, MK20DX256VML7, MK21DN512VLK5, MK22DN512VLH5, ; MK20DX128VLQ10, MK22FN512VLL12, MK22FN256VMP12, MK22FN1M0VLQ10, ; MK21DX256AVLK5, MK20DX128VMD10, MK20DX256VLK10, MK21FN1M0VLQ12, ; MK20DX256VLL10, MK21FN1M0VMC12, MK20DX256VLQ10, MK20DX256VMB10, ; MK21FN1M0VMD12, MK22FN512VDC12, MK20DN512VMD10, MK20DN512ZAB10, ; MK20DX256VMC10, MK20DX256VMD10, MK20DN512VLK10, MK22FN1M0VLH10, ; MK20DN512VLL10, MK20DN512VLQ10, MK20DN512VMB10, MK20DN512VMC10, ; MK20FX512VLQ12, MK20FX512VMD12, MK20FN1M0VLQ12, MK20FN1M0VMD12, ; MK21FX512VLQ12, MK21FX512VMC12, MK21FX512VMD12, MK22FN512VLH12, ; MK22FN1M0VLH12 ,MK22FN1M0VLK12, MK22FN512VMP12, MK22FN1M0VLL12, ; MK22FN1M0VLQ12, MK22FN1M0VMC12, MK22FN1M0VMD12, MK22FX512VLH12, ; MK22FX512VLK12, MK22FX512VLL12, MK22FX512VMC12, MK22FX512VMD12, ; MK24FN256VDC12, MK21DN512AVLK5, MK21DN512AVMC5, MK21DX128AVLK5, ; MK21DX128AVMC5, MK21DX256AVMC5, MK22FN128VDC10, MK22FN128VLH10, ; MK22FN128VLL10, MK22FX512VLQ12, MK24FN1M0VDC12, MK24FN1M0VLQ12, ; MK22FN128VMP10, MK22FN256VDC12, MK22FN256VLH12, MK22FN256VLL12, ; MK26FN2M0VLQ18, MK26FN2M0VMD18, MK26FN2M0VMI18, MK22FN1M0VMC10, ; MK24FN1M0VLL12, MK21FN1M0VMC10, MK21FN1M0VMD10, MK22FN1M0VLK10, ; MK22FN1M0VLL10, MK21FX512VMC10, MK20DX256VMC7R, MK20DX256VLK7R, ; MK24FN1M0VLQ12R, MK22FN256CAP12R, MK24FN1M0VLL12R, MK22FN512CBP12R, ; MK22FN256CAH12R, MK22FN128CAH12R, MK22FN1M0AVLH12, MK22FX512AVLH12, ; MK20DN512ZCAB10, MK22FN512CAP12R, MK22FX512AVMD12, MK26FN2M0CAC18R, ; MK24FN1M0CAJ12R, MK24FN1M0VDC12R, MK21FN1M0AVLQ12, MK21FX512AVMD12, ; MK21FN1M0AVMC12, MK21FN1M0AVMD12, MK21FX512AVLQ12, MK21FX512AVMC12, ; MK20DX256VLQ10R, MK20FN1M0VLQ12R, MK20DX256VLK10R, MK22FX512AVLQ12, ; MK22FN1M0AVMC12, MK22FX512AVMC12, MK22FN1M0AVLQ12, MK22FN1M0AVMD12, ; MK22FN1M0AVLK12, MK22FX512AVLL12, MK22FX512AVLK12, MK22FN1M0AVLL12, ; MK20DN512ZVLQ10, MK20DN512ZVLQ10R, MK20DN512ZVMC10, MK20DN512ZVMC10R, ; MK20DN512ZVMD10, MK20DX128ZVLQ10, MK20DX256ZVLK10, MK20DX256ZVLL10, ; MK20DX256ZVLQ10, MK20DX256ZVMD10, MK21DN512AVMC5R, MK21DX256AVMC5R, ; MK21FN1M0AVMC12R, MK22FN128VLH10R, MK22FN1M0AVLK12R, MK22FN1M0VLK12R, ; MK22FN1M0VLQ12R, MK22FN1M0VMC12R, MK22FN256VLL12R, MK22FN512VDC12R, ; MK22FN512VFX12, MK22FN512VFX12R, MK22FN512VLH12R, MK22FX512AVLH12R, ; MK22FX512VLQ12R, MK22FX512VMC12R, MK22FX512VMD12R, MK27FN2M0VMI15, ; MK28FN2M0VMI15, MKS20FN128VFT12, MKS20FN128VLH12, MKS20FN128VLL12, ; MKS20FN256VFT12, MKS20FN256VLH12, MKS20FN256VLL12, MKS22FN128VFT12, ; MKS22FN128VLH12, MKS22FN128VLL12, MKS22FN256VFT12, MKS22FN256VLH12, ; MKS22FN256VLL12, KK20DN512ZCAB10R, KK22FN512CBP12R, KK22FN256CAP12R, ; KK22FN256CAH12R, KK22FN128CAH12R, KK26FN2M0CAC18R, KK28FN2M0CAU15R, ; MK20DN512ZVLK10, MK20DN512VLK10R, MK20DN512ZVLL10, MK28FN2M0CAU15R ; @Copyright: (C) 1989-2018 Lauterbach GmbH, licensed for use with TRACE32(R) only ; -------------------------------------------------------------------------------- ; $Id: menk20.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" ( if STRING.SCAN(CORENAME(),"M4F",0.)>0. ( 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)""" ) ) ) else ( popup "[:chip]Core Registers (Cortex-M4)" ( menuitem "[:chip]System Control" "per , ""Core Registers (Cortex-M4),System Control""" menuitem "[:chip]MPU;Memory Protection Unit" "per , ""Core Registers (Cortex-M4),Memory Protection Unit""" menuitem "[:chip]NVIC;Nested Vectored Interrupt Controller" "per , ""Core Registers (Cortex-M4),Nested Vectored Interrupt Controller""" popup "[:chip]Debug" ( menuitem "[:chip]Core Debug" "per , ""Core Registers (Cortex-M4),Debug,Core Debug""" menuitem "[:chip]FPB;Flash Patch and Breakpoint Unit" "per , ""Core Registers (Cortex-M4),Debug,Flash Patch and Breakpoint Unit (FPB)""" menuitem "[:chip]DWT;Data Watchpoint and Trace Unit" "per , ""Core Registers (Cortex-M4),Debug,Data Watchpoint and Trace Unit (DWT)""" ) ) ) separator popup "Ports" ( menuitem "PORT A" "per , ""PORT (Pin control and interrupts),PORT A""" menuitem "PORT B" "per , ""PORT (Pin control and interrupts),PORT B""" menuitem "PORT C" "per , ""PORT (Pin control and interrupts),PORT C""" menuitem "PORT D" "per , ""PORT (Pin control and interrupts),PORT D""" if !cpuis("MK??*LF*") ( menuitem "PORT E" "per , ""PORT (Pin control and interrupts),PORT E""" ) ) popup "System Modules" ( menuitem "SIM;System Integration Module" "per , ""System Modules,SIM (System Integration Module)""" if !cpuis("MK20D*AB10")&&!cpuis("MK20DN512ZV??10*")&&!cpuis("MK20DX256ZV??10")&&!cpuis("MK20DX128ZVLQ10")&&!cpuis("KK20DN512ZCAB10R") ( menuitem "RCM;Reset Control Module" "per , ""System Modules,RCM (Reset Control Module)""" ) if cpuis("KK20DN512ZCAB10R")||cpuis("MK20DN512ZVLL10")||cpuis("MK20DX256ZVLL10")||cpuis("MK20DX256ZVLQ10*")||cpuis("MK20DN512ZVLQ10*")||cpuis("MK20DX128ZVLQ10")||cpuis("MK20DN512ZVLK10")||cpuis("MK20DN512ZVMC10")||cpuis("MK20DN512ZVMC10R") ( menuitem "MC;Mode Controller" "per , ""System Modules,MC (Mode Controller)""" ) else ( menuitem "SMC;System Mode Controller" "per , ""System Modules,SMC (System Mode Controller)""" ) menuitem "PMC;Power Management Controller" "per , ""System Modules,PMC (Power Management Controller)""" menuitem "LLWU;Low-Leakage Wake-up Unit" "per , ""System Modules,LLWU (Low-Leakage Wake-up Unit)""" menuitem "MCM;Miscellaneous Control Module" "per , ""System Modules,MCM (Miscellaneous Control Module)""" if cpuis("MK22FN1M0AVLL12")||cpuis("MK22FX512AVLL12")||cpuis("MK22FN1M0VLL10")||cpuis("MK22FX512AVLH12")||cpuis("MK22FN1M0AVLH12")||cpuis("MK22FN1M0VLH10")||cpuis("MK28FN2M0CAU15R")||cpuis("KK20DN512ZCAB10R")||cpuis("KK26FN2M0CAC18R")||cpuis("MK20DN512ZVLL10")||cpuis("MK20DX256ZVLQ10*")||cpuis("MK20DN512ZVLQ10*")||cpuis("MK20DX128ZVLQ10")||cpuis("MK20DN512ZVLK10")||cpuis("MK20DX256ZVLK10")||cpuis("MK20DN512VLK10R")||cpuis("MK20DN512ZVMC10R") ( if !cpuis("MK22D*")&&!cpuis("MK21D*")&&!cpuis("MK20D*5")&&!cpuis("MK22F*DC10")&&!cpuis("MK22F*LL10")&&!cpuis("MK22F*LH10")&&!cpuis("MK22F*MP10")&&!cpuis("MK22F*DC12")&&!cpuis("MK22F*LL12")&&!cpuis("MK22F*LH12")&&!cpuis("MK22F*MP12")&&!cpuis("MK22FN512CBP12R")&&!cpuis("MK22FN512CAP12R")&&!cpuis("MK22FN256CAP12R")&&!cpuis("MK22FN256CAH12R")&&!cpuis("MK22FN128CAH12R")&&!cpuis("MK20DX128VLH5")&&!cpuis("MK20DX64VLH5")&&!cpuis("MK20DX32VLH5")&&!cpuis("MK20DN32VLH5")&&!cpuis("MK20DN64VLH5")&&!cpuis("MK20DN32VLH5")&&!cpuis("MK24FN256VDC12")&&!cpuis("KK22FN256CAP12R")&&!cpuis("KK22FN512CBP12R")&&!cpuis("MK22FN512V??12*")&&!cpuis("KK22FN128CAH12R")&&!cpuis("KK22FN256CAH12R")&&!cpuis("MKS2?FN???V??12") ( menuitem "AXBS;Crossbar Switch" "per , ""System Modules,AXBS (Crossbar Switch)""" ) ) if !cpuis("MK22D*")&&!cpuis("MK21D*")&&!cpuis("MK20D*5")&&!cpuis("MK20D*7")&&!cpuis("MK21D*AVMC5")&&!cpuis("MK21D*AVLK5")&&!cpuis("MK22FN256*")&&!cpuis("MK22FN128*")&&!cpuis("MK20DX256VLK7R")&&!cpuis("MK20DX256VMC7R")&&!cpuis("MK22FN512VMP12")&&!cpuis("MK22FN512VLL12")&&!cpuis("MK22FN512VLH12")&&!cpuis("MK22FN512VDC12")&&!cpuis("MK22FN512CBP12R")&&!cpuis("MK22FN512CAP12R")&&!cpuis("KK22FN256CAP12R")&&!cpuis("KK22FN512CBP12R")&&!cpuis("MK22FN512VFX12*")&&!cpuis("KK22FN128CAH12R")&&!cpuis("KK22FN256CAH12R")&&!cpuis("MKS2?FN???V??12")&&!cpuis("KK22FN256CAP12R")&&!cpuis("MK22FN512VLH12R") ( menuitem "MPU;Memory Protection Unit" "per , ""System Modules,MPU (Memory Protection Unit)""" ) if cpuis("MK20F*")||cpuis("MK20D*7")||cpuis("MK20DN512ZCAB10R")||cpuis("MK24*")||cpuis("MK26*")||cpuis("MK20DX256VLQ10R")||cpuis("MK20DX256VLK10R")||cpuis("MK20DX256VMC7R")||cpuis("MK20DX256VLK7R")||cpuis("MK20D????ZVLL10")||cpuis("KK20DN512ZCAB10R")||cpuis("MK20DN512ZVMC10*")||cpuis("MK20D????ZVLQ10*")||cpuis("MK20D????ZVMD10")||cpuis("MK20D????ZVLK10")||cpuis("MK20DN512VLK10R")||cpuis("KK26FN2M0CAC18R")||cpuis("MK27FN2M0VMI15")||cpuis("KK28FN2M0CAU15R")||cpuis("MK28FN2M0CAU15R")||cpuis("MK28FN2M0VMI15") ( popup "Peripheral Bridge" ( menuitem "AIPS-Lite 0" "per , ""System Modules,Peripheral Bridge,AIPS-Lite 0""" menuitem "AIPS-Lite 1" "per , ""System Modules,Peripheral Bridge,AIPS-Lite 1""" ) ) menuitem "DMAMUX;Direct Memory Access Multiplexer" "per , ""System Modules,DMAMUX (Direct Memory Access Multiplexer)""" menuitem "eDMA;Enhanced Direct Memory Access" "per , ""System Modules,eDMA (Enhanced Direct Memory Access)""" menuitem "EWM;External Watchdog Monitor" "per , ""System Modules,EWM (External Watchdog Monitor)""" menuitem "WDOG;Watchdog Timer" "per , ""System Modules,WDOG (Watchdog Timer)""" ) popup "Clock Modules" ( menuitem "MCG;Multipurpose Clock Generator" "per , ""Clock Modules,MCG (Multipurpose Clock Generator)""" if cpuis("MK20F*") ( menuitem "OSC 0;Oscillator 0" "per , ""Clock Modules,OSC 0 (Oscillator 0)""" menuitem "OSC 1;Oscillator 1" "per , ""Clock Modules,OSC 1 (Oscillator 1)""" ) else ( menuitem "OSC;Oscillator" "per , ""Clock Modules,OSC (Oscillator)""" ) ) popup "Memories and Memory Interfaces" ( if cpuis("MK20F*")||cpuis("MK26*")||cpuis("KK28FN2M0CAU15R")||cpuis("MK28FN2M0CAU15R")||cpuis("MK28FN2M0VMI15")||cpuis("KK26FN2M0CAC18R")||cpuis("MK27FN2M0VMI15") ( menuitem "LMEM;Local Memory Controller" "per , ""Memories and Memory Interfaces,LMEM (Local Memory Controller)""" ) menuitem "FMC;Flash Memory Controller" "per , ""Memories and Memory Interfaces,FMC (Flash Memory Controller)""" if cpuis("MK22FN512VLH12")||cpuis("MK22FN512VDC12")||cpuis("MK22FN512CBP12R")||cpuis("MK22FN512CAP12R")||cpuis("MK22FN256VMP12")||cpuis("MK22FN256CAP12R")||cpuis("MK22FN256CAH12R")||cpuis("MK22FN128CAH12R")||cpuis("MK20DX256VLQ10R")||cpuis("MK20DX256VLK10R")||cpuis("MK20DX256VLK7R")||cpuis("MK22FN512VMP12")||cpuis("MK22FN512VLL12")||cpuis("MK24FN256VDC12")||cpuis("MKS20FN128V??12")||cpuis("MKS22FN128V??12")||cpuis("MKS20FN256V??12")||cpuis("MKS22FN256V??12")||cpuis("KK22FN???C?P12R")||cpuis("MK22FN512VDC12*")||cpuis("MK22FN512VFX12*")||cpuis("MK22FN512VLH12R")||cpuis("KK22FN???CAH12R")||cpuis("MK22FN256VLL12R")||cpuis("MK22FN128VLH10R") ( menuitem "FTFA;Flash Memory Module" "per , ""Memories and Memory Interfaces,FTFA (Flash Memory Module)""" ) else if cpuis("MK20DN32VEX5")||cpuis("MK20DN64VEX5")||cpuis("MK20DN128VEX5")||cpuis("MK20DX32VEX5")||cpuis("MK20DX64VEX5")||cpuis("MK20DX128VEX5")||cpuis("MK20DX64VEX7")||cpuis("MK20DX128VEX7")||cpuis("MK20DX256VEX7")||cpuis("MK20DX64VMB7")||cpuis("MK20DX128VMB7")||cpuis("MK20DX256VMB7")||cpuis("MK20D????ZVLL10")||cpuis("MK20D????ZVLQ10*")||cpuis("MK20D????ZVMD10")||cpuis("MK20DN512ZVMC10*")||cpuis("MK20D????ZVLK10")||cpuis("MK20DN512VLK10R")||cpuis("KK20DN512ZCAB10R")||cpuis("MK21D*AVMC5R") ( menuitem "FTFL;Flash Memory Module" "per , ""Memories and Memory Interfaces,FTFL (Flash Memory Module)""" ) else ( menuitem "FTFE;Flash Memory Module" "per , ""Memories and Memory Interfaces,FTFE (Flash Memory Module)""" ) if cpuis("MK20F*")||cpuis("MK20FN1M0VLQ12R") ( menuitem "NFC;NAND Flash Controller" "per , ""Memories and Memory Interfaces,NFC (NAND Flash Controller)""" ) if !cpuis("MK22D*")&&!cpuis("MK22FN256*")&&!cpuis("MK22FN128*")&&!cpuis("MK21D*")&&!cpuis("MK20D*VLH7")&&!cpuis("MK24FN256VDC12")&&!cpuis("MK20DX64VEX7")&&!cpuis("MK20DX128VEX7")&&!cpuis("MK20DX256VEX7")&&!cpuis("MK20DN32VEX5")&&!cpuis("MK20DN64VEX5")&&!cpuis("MK20DN128VEX5")&&!cpuis("MK20DX32VEX5")&&!cpuis("MK20DX64VEX5")&&!cpuis("MK20DX128VEX5") ( if cpuis("MK22FN256VMP12")||cpuis("MK22FN256CAP12R")||cpuis("KK22FN256CAP12R")||cpuis("KK22FN512CBP12R")||cpuis("MK22FN512VFX12*")||cpuis("MK22FN512VLH12R")||cpuis("KK20DN512ZCAB10R")||cpuis("KK26FN2M0CAC18R")||cpuis("MK20DN512ZVLL10")||cpuis("MK20DX256ZVLL10")||cpuis("MK20DX256ZVLQ10*")||cpuis("MK20DX256ZVMD10")||cpuis("MK20DN512ZVLQ10")||cpuis("MK20DN512ZVLQ10R")||cpuis("MK20DX128ZVLQ10")||cpuis("MK20DN512ZVLK10")||cpuis("MK20DX256ZVLK10")||cpuis("MK20DN512VLK10R")||cpuis("MK20DN512ZVMC10")||cpuis("MK20DN512ZVMC10R")||cpuis("MK21FN1M0AVMC12R") ( menuitem "FLEXBUS;External Bus Interface" "per , ""Memories and Memory Interfaces,FLEXBUS (External Bus Interface)""" ) ) if cpuis("MK26FN*")||cpuis("?K28FN2M0CAU15R")||cpuis("MK28FN2M0VMI15")||cpuis("MK27FN2M0VMI15")||cpuis("KK26FN2M0CAC18R") ( menuitem "SDRAM;Synchronous DRAM Controller Module" "per , ""Memories and Memory Interfaces,SDRAM (Synchronous DRAM Controller Module)""" ) ) popup "Security and Integrity Modules" ( menuitem "CRC;Cyclic Redundancy Check" "per , ""Security and integrity modules,CRC (Cyclic Redundancy Check)""" if cpuis("MK21*")||cpuis("MK24FN*")&&!cpuis("MK24FN256VDC12")||cpuis("MK26FN*")||cpuis("KK28FN2M0CAU15R")||cpuis("MK28FN2M0CAU15R")||cpuis("MK28FN2M0VMI15")||cpuis("MK21DN512AVMC5R")||cpuis("MK21DX256AVMC5R")||cpuis("MK21FN1M0AVMC12R")||cpuis("MK27FN2M0VMI15") ( if !cpuis("MK24FN256VDC12") ( menuitem "MMCAU;Memory-Mapped Cryptographic Acceleration Unit" "per , ""Security and integrity modules,MMCAU (Memory-Mapped Cryptographic Acceleration Unit)""" ) ) if cpuis("KK26FN2M0CAC18R") ( menuitem "CAU;Cryptographic Acceleration Unit" "per , ""Security and integrity modules,CAU (Cryptographic Acceleration Unit)""" ) if cpuis("MK21*")||cpuis("MK24FN*")||cpuis("MK26FN*")||cpuis("MK22FN256*")||cpuis("MK22FN512VMP12")||cpuis("MK22FN512VLL12")||cpuis("MK22FN512VLH12")||cpuis("MK22FN512VDC12")||cpuis("MK22FN512CBP12R")||cpuis("MK22FN512CAP12R")||cpuis("MK22FN128CAH12R")||cpuis("KK22FN256CAP12R")||cpuis("KK22FN512CBP12R")||cpuis("MK22FN512VDC12R")||cpuis("MK22FN512VFX12")||cpuis("MK22FN512VFX12R")||cpuis("MK22FN512VLH12R")||cpuis("KK22FN128CAH12R")||cpuis("KK22FN256CAH12R")||cpuis("K26P169M180SF5RM")||cpuis("MK21DN512AVMC5R")||cpuis("MK21DX256AVMC5R")||cpuis("MK21FN1M0AVMC12R")||cpuis("MKS20FN128VFT12")||cpuis("MKS20FN128VLH12")||cpuis("MKS20FN128VLL12")||cpuis("MKS20FN256VFT12")||cpuis("MKS20FN256VLH12")||cpuis("MKS20FN256VLL12")||cpuis("MKS22FN128VFT12")||cpuis("MKS22FN128VLH12")||cpuis("MKS22FN128VLL12")||cpuis("MKS22FN256VFT12")||cpuis("MKS22FN256VLH12")||cpuis("MKS22FN256VLL12")||cpuis("KK26FN2M0CAC18R") ( menuitem "RNGA;Random Number Generator Accelerator" "per , ""Security and integrity modules,RNGA (Random Number Generator Accelerator)""" ) if cpuis("MK27FN2M0VMI15")||cpuis("KK28FN2M0CAU15R")||cpuis("MK28FN2M0VMI15")||cpuis("MK28FN2M0CAU15R") ( menuitem "SA-TRNG;Standalone True Random Number Generator" "per , ""Security and integrity modules,SA-TRNG (Standalone True Random Number Generator)""" ) ) popup "Analog Modules" ( popup "ADC;Analog-to-Digital Converter" ( menuitem "ADC 0" "per , ""Analog Modules,ADC (Analog-to-Digital Converter),ADC 0""" if cpuis("MK22FN256*")||cpuis("MK22FN128*")||cpuis("MK22FN512CAP12R")||cpuis("MK22FN512CBP12R")||cpuis("MK22FN512VDC12")||cpuis("MK22FN512VLH12")||cpuis("MK22FN512VLL12")||cpuis("MK22FN512VMP12")||cpuis("MK2?F*")||cpuis("KK22FN???C?P12R")||cpuis("MK22FN512VDC12*")||cpuis("MK22FN512VFX12*")||cpuis("MK22FN512VLH12R")||cpuis("KK22FN???CAH12R")||cpuis("MK2?F*")||cpuis("MK20D*7")||cpuis("MK20D*10*")||cpuis("MK20DX256VLQ10R")||cpuis("MK20DX256VLK10R")||cpuis("MK20DX256VMC7R")||cpuis("MK20DX256VLK7R")||cpuis("KK20DN512ZCAB10R")||cpuis("KK26FN2M0CAC18R") ( if !cpuis("MK27FN2M0VMI15")&&!cpuis("MK28FN2M0CAU15R")&&!cpuis("MK28FN2M0VMI15") ( menuitem "ADC 1" "per , ""Analog Modules,ADC (Analog-to-Digital Converter),ADC 1""" ) ) if cpuis("MK20F*") ( menuitem "ADC 2" "per , ""Analog Modules,ADC (Analog-to-Digital Converter),ADC 2""" menuitem "ADC 3" "per , ""Analog Modules,ADC (Analog-to-Digital Converter),ADC 3""" ) ) popup "CMP;Comparator" ( menuitem "CMP 0" "per , ""Analog Modules,CMP (Comparator),CMP 0""" if !cpuis("MKS2?FN???V??12") ( menuitem "CMP 1" "per , ""Analog Modules,CMP (Comparator),CMP 1""" ) if cpuis("MK2?F*")||cpuis("MK20D*7")||cpuis("MK20D*10*")||cpuis("MK20DN512*AB10R")||cpuis("MK21F*AVLQ12")||cpuis("MK21F*AVMD12")||cpuis("MK21F*AVMC12")||cpuis("MK22FX512*")||cpuis("MK24FN*")||cpuis("MK26FN*")||cpuis("MK20DX256VLQ10R")||cpuis("MK20DX256VLK10R")||cpuis("MK20DX256VMC7R")||cpuis("MK20DX256VLK7R")||cpuis("KK20DN512ZCAB10R")||cpuis("KK26FN2M0CAC18R") ( if !cpuis("?K28FN2M0CAU15R")&&!cpuis("MK28FN2M0VMI15")&&!cpuis("MK22FN128VLH10R")&&!cpuis("MK27FN2M0VMI15")&&!cpuis("MK24FN256VDC12")&&!cpuis("MK22FN256VLL12R")&&!cpuis("MK22FN512VDC12*")&&!cpuis("MK22FN512VFX12*")&&!cpuis("MK22FN512VLH12R")&&!cpuis("MK22FN512VMP12")&&!cpuis("MK22FN512VLL12")&&!cpuis("MK22FN512VLH12")&&!cpuis("MK22FN512VDC12")&&!cpuis("MK22FN512CBP12R")&&!cpuis("MK22FN512CAP12R")&&!cpuis("MK22FN512CAP12R")&&!cpuis("MK22FN256VMP12")&&!cpuis("MK22FN256CAP12R")&&!cpuis("MK22FN256CAH12R")&&!cpuis("MK22FN128CAH12R") ( menuitem "CMP 2" "per , ""Analog Modules,CMP (Comparator),CMP 2""" ) ) if cpuis("MK20F*")||cpuis("MK26FN*")||cpuis("KK26FN2M0CAC18R") ( menuitem "CMP 3" "per , ""Analog Modules,CMP (Comparator),CMP 3""" ) ) if !cpuis("MK22D*VLF5")&&!cpuis("MK21D*VLK5")&&!cpuis("MK20D*5")&&!cpuis("MK21D*AVLK5") ( popup "DAC;12-bit Digital-to-Analog Converter" ( menuitem "DAC 0" "per , ""Analog Modules,DAC (12-bit Digital-to-Analog Converter),DAC 0""" if !cpuis("KK22FN128CAH12R")&&!cpuis("KK22FN256CAH12R")&&!cpuis("MK22FN256VLL12R")&&!cpuis("MK28FN2M0CAU15R")&&!cpuis("MK24FN256VDC12")&&!cpuis("MKS20FN128VFT12")&&!cpuis("MKS20FN128VLH12")&&!cpuis("MKS20FN128VLL12")&&!cpuis("MKS20FN256VFT12")&&!cpuis("MKS20FN256VLH12")&&!cpuis("MKS20FN256VLL12")&&!cpuis("MKS22FN128VFT12")&&!cpuis("MKS22FN128VLH12")&&!cpuis("MKS22FN128VLL12")&&!cpuis("MKS22FN256VFT12")&&!cpuis("MKS22FN256VLH12")&&!cpuis("MKS22FN256VLL12")&&!cpuis("MK20DN512ZVLL10")&&!cpuis("MK20DX256ZVLL10")&&!cpuis("MK20DN512ZVLK10")&&!cpuis("MK20DX256ZVLK10")&&!cpuis("MK20DN512VLK10R") ( menuitem "DAC 1" "per , ""Analog Modules,DAC (12-bit Digital-to-Analog Converter),DAC 1""" ) ) ) if (!cpuis("MK21D*VLK5")&&!cpuis("MK20D*VFM5")&&!cpuis("MK21D*AVLK5")&&!cpuis("MKS2?FN???V??12")) ( menuitem "VREFV1;Voltage Reference" "per , ""Analog Modules,VREFV1 (Voltage Reference)""" ) ) popup "Timers" ( if cpuis("?K26FN*")||cpuis("MK27FN*")||cpuis("?K28FN*")||cpuis("MKS2?FN???V??12") ( popup "TPM;Timer/PWM Module" ( if cpuis("MKS2?FN???V??12") ( menuitem "TPM 0" "per , ""Timers,TPM (Timer/PWM Module),TPM 0""" ) menuitem "TPM 1" "per , ""Timers,TPM (Timer/PWM Module),TPM 1""" menuitem "TPM 2" "per , ""Timers,TPM (Timer/PWM Module),TPM 2""" ) ) menuitem "PDB;Programmable Delay Block" "per , ""Timers,PDB (Programmable Delay Block)""" if cpuis("MK20DN512*AB10R")||cpuis("MK21D*AVMC5*")||cpuis("MK21D*AVLK5")||cpuis("MK21F*AVMC12")||(cpuis("MK21F*AVLQ12")||cpuis("MK21F*AVMD12"))||cpuis("MK22FN256*")||cpuis("MK22FN128*")||(cpuis("MK22FX512*")&&!cpuis("MK22FX512AVLK12")&&!cpuis("MK22FX512AVLL12")&&!cpuis("MK22FX512AVMC12")&&!cpuis("MK22FX512AVLQ12")&&!cpuis("MK22FX512AVMD12")&&!cpuis("MK22FX512AVLH12"))||cpuis("MK24FN*")||cpuis("MK26FN*")&&!cpuis("MKS2?FN???V??12") ( popup "FTM;FlexTimer" ( menuitem "FTM 0" "per , ""Timers,FTM (FlexTimer),FTM 0""" menuitem "FTM 1" "per , ""Timers,FTM (FlexTimer),FTM 1""" menuitem "FTM 2" "per , ""Timers,FTM (FlexTimer),FTM 2""" if cpuis("MK21D*AVMC5")||(cpuis("MK21F*AVLQ12")||cpuis("MK21F*AVMD12"))||cpuis("MK22FX512*")||cpuis("MK24FN*")||cpuis("MK26FN*")||cpuis("MK22FN256CAP12R") ( menuitem "FTM 3" "per , ""Timers,FTM (FlexTimer),FTM 3""" ) ) ) else ( popup "FTM;FlexTimer" ( menuitem "FTM 0" "per , ""Timers,FTM (FlexTimer),FTM 0""" menuitem "FTM 1" "per , ""Timers,FTM (FlexTimer),FTM 1""" if (!cpuis("MK22D*VLF5")&&!cpuis("MK20D*5")) ( menuitem "FTM 2" "per , ""Timers,FTM (FlexTimer),FTM 2""" ) if !cpuis("MK2?D*")&&!cpuis("KK22FN256CAH12R")&&!cpuis("KK20DN512ZCAB10R") ( menuitem "FTM 3" "per , ""Timers,FTM (FlexTimer),FTM 3""" ) ) ) menuitem "PIT;Periodic Interrupt Timer" "per , ""Timers,PIT (Periodic Interrupt Timer)""" if cpuis("MKS20FN128VFT12")||cpuis("MKS20FN128VLH12")||cpuis("MKS20FN128VLL12")||cpuis("MKS20FN256VFT12")||cpuis("MKS20FN256VLH12")||cpuis("MKS20FN256VLL12")||cpuis("MKS22FN128VFT12")||cpuis("MKS22FN128VLH12")||cpuis("MKS22FN128VLL12")||cpuis("MKS22FN256VFT12")||cpuis("MKS22FN256VLH12")||cpuis("MKS22FN256VLL12")||cpuis("KK28FN2M0CAU15R")||cpuis("MK28FN2M0CAU15R")||cpuis("MK28FN2M0VMI15")||cpuis("MK27FN2M0VMI15")||cpuis("KK26FN2M0CAC18R")||cpuis("MK22FN1M0AVLK12R")||cpuis("MK22FN1M0VLK12R")||cpuis("MK22FX512AVLH12R")||cpuis("MK22FN1M0VLQ12R")||cpuis("MK22FX512VLQ12R")||cpuis("MK22FX512VMD12R")||cpuis("KK22FN128CAH12R")||cpuis("KK22FN256CAH12R")||cpuis("MK22FN256VLL12R")||cpuis("KK22FN256CAP12R")||cpuis("KK22FN512CBP12R")||cpuis("MK22FN512VDC12R")||cpuis("MK22FN512VFX12")||cpuis("MK22FN512VFX12R")||cpuis("MK22FN512VLH12R")||cpuis("MK22FN1M0VMC12R")||cpuis("MK22FX512VMC12R")||cpuis("MK22FN128VLH10R")||cpuis("MK21DN512AVMC5R")||cpuis("MK21DX256AVMC5R")||cpuis("MK21FN1M0AVMC12R")||cpuis("MK20DN512VLK10R")||cpuis("MK20DN512ZVLK10")||cpuis("MK20DX256ZVLK10")||cpuis("MK20DN512ZVLQ10")||cpuis("MK20DN512ZVLQ10R")||cpuis("MK20DN512ZVMD10")||cpuis("MK20DX128ZVLQ10")||cpuis("MK20DX256ZVLQ10")||cpuis("MK20DX256ZVLQ10R")||cpuis("MK20DX256ZVMD10")||cpuis("MK20DN512ZVMC10")||cpuis("MK20DN512ZVMC10R")||cpuis("KK20DN512ZCAB10R")||cpuis("MK20DN512ZVLL10")||cpuis("MK20DX256ZVLL10") ( menuitem "LPTMR 0;Low Power Timer" "per , ""Timers,LPTMR (Low Power Timer),LPTMR 0""" if cpuis("KK28FN2M0CAU15R")||cpuis("MK28FN2M0CAU15R")||cpuis("MK28FN2M0VMI15")||cpuis("MK27FN2M0VMI15") ( menuitem "LPTMR 1;Low Power Timer" "per , ""Timers,LPTMR (Low Power Timer),LPTMR 1""" ) ) else ( menuitem "LPT;Low Power Timer" "per , ""Timers,LPT (Low Power Timer)""" ) if !cpuis("MK22FN256*")&&!cpuis("MK22FN128*")&&!cpuis("MK22FN512*")&&!cpuis("KK22FN256CAP12R")&&!cpuis("KK22FN512CBP12R")&&!cpuis("MK22FN512VDC12R")&&!cpuis("MK22FN512VFX12")&&!cpuis("MK22FN512VFX12R")&&!cpuis("MK22FN512VLH12R")&&!cpuis("KK22FN128CAH12R")&&!cpuis("KK22FN256CAH12R")&&!cpuis("MK22FN256VLL12R")&&!cpuis("MK22FN128VLH10R")&&!cpuis("MKS20FN128VFT12")&&!cpuis("MKS20FN128VLH12")&&!cpuis("MKS20FN128VLL12")&&!cpuis("MKS20FN256VFT12")&&!cpuis("MKS20FN256VLH12")&&!cpuis("MKS20FN256VLL12")&&!cpuis("MKS22FN128VFT12")&&!cpuis("MKS22FN128VLH12")&&!cpuis("MKS22FN128VLL12")&&!cpuis("MKS22FN256VFT12")&&!cpuis("MKS22FN256VLH12")&&!cpuis("MKS22FN256VLL12") ( menuitem "CMT;Carrier Modulator Transmitter" "per , ""Timers,CMT (Carrier Modulator Transmitter)""" ) menuitem "RTC;Real Time Clock" "per , ""Timers,RTC (Real Time Clock)""" ) popup "Communication Interfaces" ( if cpuis("MK24FN1M0CAJ12R")||cpuis("MK24FN1M0VDC12R")||cpuis("MK24FN1M0VLL12")||cpuis("MK24FN1M0VLL12R")||cpuis("MK24FN1M0VLQ12R")||cpuis("MK24FN256VDC12")||cpuis("MKS2?FN???V??12")||cpuis("MK21D*AVMC5R")||cpuis("MK21FN1M0AVMC12R")||cpuis("MK22FN1M0AVLK12R")||cpuis("KK22FN???C?P12R")||cpuis("KK22FN???C?P12R")||cpuis("MK22FN512VDC12*")||cpuis("MK22FN512VFX12*")||cpuis("MK22FN512VLH12R")||cpuis("KK22FN???CAH12R")||cpuis("MK22FN256VLL12R") ( menuitem "USBFSOTG;Universal Serial Bus Full Speed OTG Controller" "per , ""Communication Interfaces,USBFSOTG (Universal Serial Bus Full Speed OTG Controller)""" ) else ( menuitem "USBOTG;Universal Serial Bus OTG Controller" "per , ""Communication Interfaces,USBOTG (Universal Serial Bus OTG Controller)""" ) if !cpuis("MK22FN256*")&&!cpuis("MK22FN128*")&&!cpuis("MK22FN512CAP12R")&&!cpuis("MK22FN512CBP12R")&&!cpuis("MK22FN512VDC12")&&!cpuis("MK22FN512VDC12")&&!cpuis("MK22FN512VLH12")&&!cpuis("MK22FN512VLL12")&&!cpuis("MK22FN512VMP12")&&!cpuis("MKS2?FN???V??12")&&!cpuis("KK22FN???CAH12R")&&!cpuis("KK22FN???C?P12R")&&!cpuis("MK22FN512VDC12*")&&!cpuis("MK22FN512VFX12*")&&!cpuis("MK22FN512VLH12R") ( menuitem "USBDCD;USB Device Charger Detection Module" "per , ""Communication Interfaces,USBDCD (USB Device Charger Detection Module)""" ) if cpuis("MK26FN*")||cpuis("?K28FN2M0CAU15R")||cpuis("MK28FN2M0VMI15")||cpuis("MK27FN2M0VMI15")||cpuis("KK26FN2M0CAC18R") ( menuitem "USBHSDCD;USBHS Device Charger Detection Module" "per , ""Communication Interfaces,USBHSDCD (USBHS Device Charger Detection Module)""" ) if cpuis("MK20F*12")||cpuis("?K26FN*")||cpuis("MK20FN1M0VLQ12R")||cpuis("KK26FN2M0CAC18R")||cpuis("MK27FN2M0VMI15")||cpuis("?K28FN2M0CAU15R")||cpuis("MK28FN2M0VMI15") ( menuitem "USBHS;USB High Speed OTG Controller" "per , ""Communication Interfaces,USBHS (USB High Speed OTG Controller)""" if cpuis("MK26FN*")||cpuis("KK26FN2M0CAC18R")||cpuis("MK27FN2M0VMI15")||cpuis("?K28FN2M0CAU15R")||cpuis("MK28FN2M0VMI15") ( menuitem "USB-PHY;Universal Serial Bus 2.0 Integrated PHY" "per , ""Communication Interfaces,USB-PHY (Universal Serial Bus 2.0 Integrated PHY)""" ) ) if cpuis("MK2?F*")||cpuis("MK20D*")||cpuis("MKS2?FN???V??12")||cpuis("KK20DN512ZCAB10R")||cpuis("KK26FN2M0CAC18R") ( if !cpuis("MK20D*5")&&!cpuis("MK22FN128CAH12R")&&!cpuis("MK22FN256CAH12R")&&!cpuis("MK22FN256CAP12R")&&!cpuis("MK22FN512CAP12R")&&!cpuis("MK22FN512CBP12R")&&!cpuis("MK22FN512VDC12")&&!cpuis("MK22FN512VLH12")&&!cpuis("MK22FN512VLL12")&&!cpuis("MK22FN512VMP12")&&!cpuis("MK24FN256VDC12")&&!cpuis("MK22FN512VDC12*")&&!cpuis("MK22FN512VFX12*")&&!cpuis("MK22FN512VLH12R")&&!cpuis("MK22FN256VLL12R")&&!cpuis("MK22FN128VLH10R")&&!cpuis("MK27FN2M0VMI15")&&!cpuis("?K28FN2M0CAU15R")&&!cpuis("MK28FN2M0VMI15") ( popup "CAN;FlexCAN" ( menuitem "CAN 0" "per , ""Communication Interfaces,CAN (FlexCAN),CAN 0""" if cpuis("MK20F*")||cpuis("MK20D*10*")||cpuis("MK20DX256VLQ10R")||cpuis("MK20DX256VLK10R")||cpuis("MKS2?FN???V??12")||cpuis("KK20DN512ZCAB10R")||cpuis("KK26FN2M0CAC18R") ( menuitem "CAN 1" "per , ""Communication Interfaces,CAN (FlexCAN),CAN 1""" ) ) ) ) popup "SPI;Serial Peripheral Interface" ( menuitem "SPI 0" "per , ""Communication Interfaces,SPI (Serial Peripheral Interface),SPI 0""" if cpuis("MK21D*AVLK5")||cpuis("MK21D*AVMC5")||cpuis("MK22FN128*")||cpuis("MK22FN256*")||cpuis("MK22FN1M0VLK10")||cpuis("MK22FX512AVLK12")||cpuis("MK22FN512VMP12")||cpuis("MK22FN512VLL12")||cpuis("MK22FN512VLH12")||cpuis("MK22FN512VDC12")||cpuis("MK22FN512CBP12R")||cpuis("MK22FN512CAP12R")||cpuis("MK22FN1M0AVLK12")||cpuis("KK22FN256CAP12R")||cpuis("KK22FN512CBP12R")||cpuis("MK22FN512VDC12R")||cpuis("MK22FN512VFX12")||cpuis("MK22FN512VFX12R")||cpuis("MK22FN512VLH12R")||cpuis("KK22FN128CAH12R")||cpuis("KK22FN256CAH12R")||cpuis("MKS2?FN???V??12") ( menuitem "SPI 1" "per , ""Communication Interfaces,SPI (Serial Peripheral Interface),SPI 1""" ) else if cpuis("MK20DN512*AB10R")||(cpuis("MK21F*AVLQ12")||cpuis("MK21F*AVMD12"))||cpuis("MK21F*AVMC12")||(cpuis("MK22FX512*")&&!cpuis("MK22FX512AVLH12"))||cpuis("MK26FN*")||cpuis("MK24FN*")||cpuis("MK21FN1M0VMC10")||cpuis("MK21FX512VMC10")||cpuis("MK21FN1M0VMD10")||cpuis("MK21FX512VMD10")||cpuis("MK22FN1M0AVLL12")||cpuis("MK22FX512AVLL12")||cpuis("MK22FN1M0VLL10")||cpuis("MK22FN1M0AVMC12")||cpuis("MK22FX512AVMC12")||cpuis("MK22FN1M0AVLQ12")||cpuis("MK22FN1M0AVMD12")||cpuis("MK22FX512AVLQ12")||cpuis("MK22FX512AVMD12")||cpuis("MK22FN1M0VLQ10") ( menuitem "SPI 1" "per , ""Communication Interfaces,SPI (Serial Peripheral Interface),SPI 1""" menuitem "SPI 2" "per , ""Communication Interfaces,SPI (Serial Peripheral Interface),SPI 2""" ) else if (!cpuis("MK22F*VLH12")&&!cpuis("MK22D*VLF5")&&!cpuis("MK22D*VLH5")&&!cpuis("MK20D*5")&&!cpuis("MK22FN1M0VLH10")&&!cpuis("MK22FX512AVLK12")&&!cpuis("MK22FX512AVLH12")&&!cpuis("MK22FN1M0AVLH12")) ( menuitem "SPI 1" "per , ""Communication Interfaces,SPI (Serial Peripheral Interface),SPI 1""" if (!cpuis("MK21D*")&&!cpuis("MK22D*")&&!cpuis("MK20D*7")&&!cpuis("MK2*VLK*")&&!cpuis("MK20D*VMB10")&&!cpuis("MK20DX256VMC7R")&&!cpuis("MK20DX256VLK7R")) ( menuitem "SPI 2" "per , ""Communication Interfaces,SPI (Serial Peripheral Interface),SPI 2""" ) if cpuis("MK27FN2M0VMI15")||cpuis("KK28FN2M0CAU15R")||cpuis("MK28FN2M0CAU15R")||cpuis("MK28FN2M0VMI15") ( menuitem "SPI 3" "per , ""Communication Interfaces,SPI (Serial Peripheral Interface),SPI 3""" ) ) ) if cpuis("MK27FN2M0VMI15")||cpuis("MK28FN2M0VMI15")||cpuis("?K28FN2M0CAU15?") ( menuitem "QuadSPI;Quad Serial Peripheral Interface" "per , ""Communication Interfaces,QuadSPI (Quad Serial Peripheral Interface)""" ) popup "I2C;Inter-Integrated Circuit" ( if cpuis("MKS2?FN???V??12") ( menuitem "LPI2C 0" "per , ""Communication Interfaces,LPI2C (Low Power Inter-Integrated Circuit),LPI2C 0""" menuitem "LPI2C 1" "per , ""Communication Interfaces,LPI2C (Low Power Inter-Integrated Circuit),LPI2C 1""" ) else ( menuitem "I2C 0" "per , ""Communication Interfaces,I2C (Inter-Integrated Circuit),I2C 0""" if (!cpuis("MK22D*VLF5")&&!cpuis("MK20D*5")&&!cpuis("MK20DX128VLH5")&&!cpuis("MK20DX64VLH5")&&!cpuis("MK20DX32VLH5")&&!cpuis("MK20DN32VLH5")&&!cpuis("MK20DN64VLH5")) ( menuitem "I2C 1" "per , ""Communication Interfaces,I2C (Inter-Integrated Circuit),I2C 1""" ) if cpuis("MK22F*")||cpuis("MK21F*")||cpuis("MK20DN512*AB10R")||cpuis("MK21F*AVLQ12")||cpuis("MK21F*AVMD12")||cpuis("MK21F*AVMC12")||cpuis("MK22FX512*")||cpuis("MK24FN*")||cpuis("MK26FN*")||cpuis("KK26FN2M0CAC18R")||cpuis("MK27FN2M0VMI15")||cpuis("KK28FN2M0CAU15R")||cpuis("MK28FN2M0CAU15R")||cpuis("MK28FN2M0VMI15") ( if !cpuis("MK22FN256*")&&!cpuis("MK22FN128*")&&!cpuis("MK22FN512CAP12R")&&!cpuis("MK22FN512CBP12R")&&!cpuis("MK22FN512VDC12")&&!cpuis("MK22FN512VLH12")&&!cpuis("MK22FN512VLL12")&&!cpuis("MK22FN512VMP12")&&!cpuis("MK20DX128VLH5")&&!cpuis("MK20DX64VLH5")&&!cpuis("MK20DX32VLH5")&&!cpuis("MK20DN32VLH5")&&!cpuis("MK20DN64VLH5")&&!cpuis("MK20FX256VLH7")&&!cpuis("MK20FX128VLH7")&&!cpuis("MK20FX64VLH7")&&!cpuis("MK20DX64VMB7")&&!cpuis("MK20DX128VMB7")&&!cpuis("MK20DX256VMB7")&&!cpuis("MK22FN512VDC12R")&&!cpuis("MK22FN512VFX12")&&!cpuis("MK22FN512VFX12R")&&!cpuis("MK22FN512VLH12R") ( menuitem "I2C 2" "per , ""Communication Interfaces,I2C (Inter-Integrated Circuit),I2C 2""" ) ) if cpuis("MK26FN*") ( menuitem "I2C 3" "per , ""Communication Interfaces,I2C (Inter-Integrated Circuit),I2C 3""" ) ) ) if !cpuis("MK27FN2M0VMI15")&&!cpuis("?K28FN2M0CAU15R")&&!cpuis("MK28FN2M0VMI15") ( popup "UART;Universal Asynchronous Rx/Tx" ( menuitem "UART 0" "per , ""Communication Interfaces,UART (Universal Asynchronous Receiver/Transmitter),UART 0""" menuitem "UART 1" "per , ""Communication Interfaces,UART (Universal Asynchronous Receiver/Transmitter),UART 1""" menuitem "UART 2" "per , ""Communication Interfaces,UART (Universal Asynchronous Receiver/Transmitter),UART 2""" if !cpuis("MK20D*5")&&!cpuis("MK22FN256*")&&!cpuis("MK22FN128*")&&!cpuis("MK20D*VLH7")&&!cpuis("MK22FN512CAP12R")&&!cpuis("MK22FN512CBP12R")&&!cpuis("MK22FN512VDC12")&&!cpuis("MK22FN512VLH12")&&!cpuis("MK22FN512VLL12")&&!cpuis("MK22FN512VMP12")&&!cpuis("MK22FX512AVLH12")&&!cpuis("MK22FN1M0VLH10")&&!cpuis("MK20DX64VEX7")&&!cpuis("MK20DX128VEX7")&&!cpuis("MK20DX256VEX7")&&!cpuis("MKS2?FN???V??12")&&!cpuis("KK22FN???CAH12R")&&!cpuis("MK22FN512VDC12R")&&!cpuis("MK22FN512VFX12")&&!cpuis("MK22FN512VFX12R")&&!cpuis("MK22FN512VLH12R")&&!cpuis("KK22FN256CAP12R")&&!cpuis("KK22FN512CBP12R")&&!cpuis("MK22FX512AVLH12R") ( menuitem "UART 3" "per , ""Communication Interfaces,UART (Universal Asynchronous Receiver/Transmitter),UART 3""" if !cpuis("MK21D*")&&!cpuis("MK22D*")&&!cpuis("MK2*VLK*")&&!cpuis("MK20D*VMB10")&&!cpuis("MK22FN512CBP12R") ( menuitem "UART 4" "per , ""Communication Interfaces,UART (Universal Asynchronous Receiver/Transmitter),UART 4""" if !cpuis("MK2*VLL*")&&!cpuis("MK20D*VMC7")&&!cpuis("MK26FN*")&&!cpuis("MK20DX256VMC7R")&&!cpuis("MK22FX512AVLL12")&&!cpuis("MK21FX512VMC10")&&!cpuis("MK22FN1M0VLL10")&&!cpuis("MK24FN1M0CAJ12R")&&!cpuis("MK24FN1M0VDC12R")&&!cpuis("MK24FN1M0VLL12")&&!cpuis("MK24FN1M0VLL12R")&&!cpuis("KK26FN2M0CAC18R") ( menuitem "UART 5" "per , ""Communication Interfaces,UART (Universal Asynchronous Receiver/Transmitter),UART 5""" ) ) ) ) if cpuis("MK22FN256*")||cpuis("MK22FN128*")||cpuis("MK22FN512CAP12R")||cpuis("MK22FN512CBP12R")||cpuis("MK22FN512VDC12")||cpuis("MK22FN512VLH12")||cpuis("MK22FN512VLL12")||cpuis("MK22FN512VMP12")||cpuis("MKS2?FN???V??12")||cpuis("KK22FN???C?P12R")||cpuis("MK22FN512VDC12*")||cpuis("MK22FN512VFX12*")||cpuis("MK22FN512VLH12R")||cpuis("KK22FN???CAH12R")||cpuis("MK22FN256VLL12R")||cpuis("MK26FN*")||cpuis("KK26FN2M0CAC18R")||cpuis("MK27FN2M0VMI15")||cpuis("?K28FN2M0CAU15R")||cpuis("MK28FN2M0VMI15") ( menuitem "LPUART 0" "per , ""Communication Interfaces,LPUART 0 (Low Power UART 0)""" ) if cpuis("KK26FN2M0CAC18R")||cpuis("MK27FN2M0VMI15")||cpuis("KK28FN2M0CAU15R")||cpuis("MK28FN2M0CAU15R")||cpuis("MK28FN2M0VMI15") ( menuitem "LPUART 1" "per , ""Communication Interfaces,LPUART 1 (Low Power UART 1)""" menuitem "LPUART 2" "per , ""Communication Interfaces,LPUART 2 (Low Power UART 2)""" menuitem "LPUART 3" "per , ""Communication Interfaces,LPUART 3 (Low Power UART 3)""" menuitem "LPUART 4" "per , ""Communication Interfaces,LPUART 4 (Low Power UART 4)""" ) if cpuis("MK28FN2M0CAU15R")||cpuis("MK28FN2M0VMI15")||cpuis("KK28FN2M0CAU15R")||cpuis("MK27FN2M0VMI15")||cpuis("MKS20FN128VFT12")||cpuis("MKS20FN128VLH12")||cpuis("MKS20FN128VLL12")||cpuis("MKS20FN256VFT12")||cpuis("MKS20FN256VLH12")||cpuis("MKS20FN256VLL12")||cpuis("MKS22FN128VFT12")||cpuis("MKS22FN128VLH12")||cpuis("MKS22FN128VLL12")||cpuis("MKS22FN256VFT12")||cpuis("MKS22FN256VLH12")||cpuis("MKS22FN256VLL12") ( menuitem "FLEXIO 0" "per , ""Communication Interfaces,FLEXIO 0 (Flexible I/O)""" ) if cpuis("MK2?F*")||cpuis("MK20D*10")||cpuis("MK20DX256VLQ10R")||cpuis("MK20DX256VLK10R")||cpuis("KK28FN2M0CAU15R")||cpuis("MK28FN2M0CAU15R")||cpuis("MK28FN2M0VMI15")||cpuis("KK20DN512ZCAB10R")||cpuis("KK26FN2M0CAC18R")||cpuis("MK20DN512ZVLL10")||cpuis("MK20DX256ZVLL10")||cpuis("MK20DN512ZVLQ10")||cpuis("MK20DN512ZVLQ10R")||cpuis("MK20DN512ZVMD10")||cpuis("MK20DX128ZVLQ10")||cpuis("MK20DX256ZVLQ10")||cpuis("MK20DX256ZVLQ10R")||cpuis("MK20DX256ZVMD10")||cpuis("MK20DN512ZVLK10")||cpuis("MK20DX256ZVLK10")||cpuis("MK20DN512VLK10R")||cpuis("MK20DN512ZVMC10")||cpuis("MK20DN512ZVMC10R")||cpuis("MK21FN1M0AVMC12R")||cpuis("MK22FN1M0VLQ12R")||cpuis("MK22FX512VLQ12R")||cpuis("MK22FX512VMD12R")||cpuis("MK22FN1M0VMC12R")||cpuis("MK22FX512VMC12R")||cpuis("MK22FN1M0AVLK12R")||cpuis("MK22FN1M0VLK12R")||cpuis("MK27FN2M0VMI15") ( if !cpuis("MK22F*VLH12")&&!cpuis("MK22FN128*")&&!cpuis("MK22FN256*")&&!cpuis("MK22FN512CAP12R")&&!cpuis("MK22FN512CBP12R")&&!cpuis("MK22FN512VDC12")&&!cpuis("MK22FN512VLL12")&&!cpuis("MK22FN512VMP12")&&!cpuis("MK22FN1M0VLH10") ( menuitem "SDHC;Secured Digital Host Controller" "per , ""Communication Interfaces,SDHC (Secured Digital Host Controller)""" ) ) if cpuis("MK20DN*AB10")||cpuis("MK20DN512*AB10R")||cpuis("KK20DN512ZCAB10R")||cpuis("MK20DN512ZVLL10")||cpuis("MK20DX256ZVLL10")||cpuis("MK20DN512ZVLQ10")||cpuis("MK20DN512ZVLQ10R")||cpuis("MK20DN512ZVMD10")||cpuis("MK20DX128ZVLQ10")||cpuis("MK20DX256ZVLQ10")||cpuis("MK20DX256ZVLQ10R")||cpuis("MK20DX256ZVMD10")||cpuis("MK20DN512ZVLK10")||cpuis("MK20DX256ZVLK10")||cpuis("MK20DN512ZVMC10")||cpuis("MK20DN512ZVMC10R") ( menuitem "I2S/SAI;Integrated Interchip Sound / Synchronous Audio Interface" "per , ""Communication Interfaces,I2S/SAI""" ) else if cpuis("MK20DN32VEX5")||cpuis("MK20DN64VEX5")||cpuis("MK20DN128VEX5")||cpuis("MK20DX32VEX5")||cpuis("MK20DX64VEX5")||cpuis("MK20DX128VEX5") ( menuitem "SAI;Synchronous Audio Interface" "per , ""Communication Interfaces,SAI""" ) else ( if cpuis("MK20F*")||cpuis("KK28FN2M0CAU15R")||cpuis("MK28FN2M0CAU15R")||cpuis("MK28FN2M0VMI15")||cpuis("MK27FN2M0VMI15")||cpuis("MKS20FN128VFT12")||cpuis("MKS20FN128VLH12")||cpuis("MKS20FN128VLL12")||cpuis("MKS20FN256VFT12")||cpuis("MKS20FN256VLH12")||cpuis("MKS20FN256VLL12")||cpuis("MKS22FN128VFT12")||cpuis("MKS22FN128VLH12")||cpuis("MKS22FN128VLL12")||cpuis("MKS22FN256VFT12")||cpuis("MKS22FN256VLH12")||cpuis("MKS22FN256VLL12") ( popup "I2S/SAI;Integrated Interchip Sound / Synchronous Audio Interface" ( menuitem "I2S 0/SAI 0" "per , ""Communication Interfaces,I2S/SAI,I2S0/SAI0""" menuitem "I2S 1/SAI 1" "per , ""Communication Interfaces,I2S/SAI,I2S1/SAI1""" ) ) else ( menuitem "I2S 0/SAI 0;Integrated Interchip Sound / Synchronous Audio Interface" "per , ""Communication Interfaces,I2S/SAI,I2S0/SAI0""" ) ) ) ) popup "Human-Machine Interfaces" ( popup "GPIO;GPIO Controller" ( menuitem "GPIO A" "per , ""Human-Machine Interfaces,GPIO (GPIO Controller),GPIO A""" menuitem "GPIO B" "per , ""Human-Machine Interfaces,GPIO (GPIO Controller),GPIO B""" menuitem "GPIO C" "per , ""Human-Machine Interfaces,GPIO (GPIO Controller),GPIO C""" menuitem "GPIO D" "per , ""Human-Machine Interfaces,GPIO (GPIO Controller),GPIO D""" menuitem "GPIO E" "per , ""Human-Machine Interfaces,GPIO (GPIO Controller),GPIO E""" ) if cpuis("MK20*")||cpuis("MK26FN*") ( menuitem "TSI;Touch Sense Input" "per , ""Human-Machine Interfaces,TSI (Touch Sense Input)""" ) ) ) )