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

762 lines
49 KiB
Plaintext

; --------------------------------------------------------------------------------
; @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)"""
)
)
)
)