1. Introduction to ARM Cortex-M4 core
a. Cortex-M processor family
- Seamless embedded architecture
- Spanning cost and performance points
b. Spanning the application range
- Forget traditional 8/16/32-bit classifications
- Seamless architecture across all applications
- Every product optimised for ultra low power systems
c. Cortex-M4 for digital signal control
d. ARM Cortex-M4 Processor Microarchitecture
- Backwards compatible with ARM Cortex-M3
- New features
- Single cycle MAC (Up to 32 x 32 + 64 -> 64)
- DSP extensions
- Single Precision Floating Point Unit
- Freescale IP and Innovation
- On-chip cache for instructions and data
- Cross-Bar Switch for concurrent multi-master/slave accessing
- On-chip DMA for CPU off-load
- Low-leakage Wake-up Unit adds flexibility for low power operation
- Architected for Digital Signal Processing
- Motor Control - advanced algorithms, longer lifespan, power efficiency
- Automation - high calculation and algorithm bandwidth at a low cost
- Power management – designed for low/battery powered systems
- Audio and Video – 5x performance improvement over software, making batteries last longer
e. Feature comparison chart
ARM7TDMI | Cortex-M0 | Cortex-M3 | Cortex-M4 | |
Architecture versions | v4T | v6-M | v7-M | v7-M |
Instruction set architecture | ARM, Thumb | Thumb, Thumb-2 System Instructions | Thumb + Thumb-2 | Thumb + Thumb-2, DSP, SIMD, FP |
DMIPS/MHZ | 0.72 (Thumb), 0.95 (ARM) | 0.9 | 1.25 | 1.25 |
Bus Interfaces | None | 1 | 3 | 3 |
Integrated NVIC | No | Yes | Yes | Yes |
Number interrupts | 2 (IRQ and FIQ) | 1-32 + NMI | 1-240 + NMI | 1-240 + NMI |
Interrupt priorities | None | 4 | 8-256 | 8-256 |
Breakpoints Watchpoints | 2 Watchpoint Units | 4/2/0, 2/1/0 | 8/4/0, 2/1/0 | 8/4/0, 2/1/0 |
Memory Protection Unit (MPU) | No | No | Yes (option) | Yes (Option) |
Integrated Trace Option (ETM) | Yes (option) | No | Yes (option) | Yes (option) |
Fault Robust Interface | No | No | Yes (option) | No |
Single Cycle Multiply | No | Yes (option) | Yes | Yes |
Hardware Divide | No | No | Yes | Yes |
WIC Support | No | Yes | Yes | Yes |
Bit banding support | No | No | Yes | Yes |
Single cycle DSP/SIMD | No | No | Yes | Yes |
Floating point hardware | No | No | No | Yes |
Bus protocol | Use AHB bus wrapper | AHB Lite | AHB Lite, APB | AHB Lite, APB |
CMSIS Support | No | Yes | Yes | Yes |
f. Cortex-M4 DSP capability compared
g. Cortex-M products fully code compatible
h. Migrating from ARM Cortex-M3 to Cortex-M4
the knode document by element14
2. Freescale Kinetis-K Family
a. Introduction
Scalability
Over 200 hardware and software compatible ARM Cortex-M4 MCUs with DSP + low-power,
connectivity, communications, HMI and security features
Mixed Signal
Exceptional integration with fast 16-bit ADCs, DACs, PGAs and more. Powerful,
cost-effective signal conversion, conditioning and control
Flex Memory
Fast, low-power 90nm Thin-Film Storage Flash. Innovative FlexMemory technology delivers fast,
flexible, high-endurance on-chip EEPROM
Enablement
Freescale bundled MQX RTOS and CodeWarrior IDE with Processor Expert auto code generator.
3rd party support from IAR, KEIL and other ARM ecosystem providers
b. Freescale Product Longevity Program
c. Kinetis Product Family Features
d. Kinetis : Scalable MCUs based on the ARM Cortex-M4 core
e. Kinetis : MCU Family compatibility
Hardware & software compatible MCU families with scalable performance, memory and feature integration
f. Pin compatibility accross family
K10 to K20/K40 = Add USB with almost zero changes
- The only difference will be 4 extra USB pins and 4 less digital I/O pins
K10/K20 to K30 à K40 = Add Segment LCD with minimal board layout changes
- Digital & Analog I/O signals maintain placement order
- Segment LCD signals are muxed
- Most Digital I/O signals muxed
DIGITAL I/O = UART, SPI, I2C, CAN, TIMER, etc. | ANALOG I/O = OSC, ADC, HSCMP, etc. |
g. What is Flexmemory ?
EEPROM: ►No external EEPROMs •Reduced system cost ►No system resource impact •System performance maintained •No complex coding schemes ►Configurable & high endurance •Up to 10 Million w/e cycles ►High performance •Fast write time = ~100 uSec •Erase+write = 1.5mSec ►Use cases •Critical data retention (power loss) •Frequently updated data | User Configurable As ...
| Program or Data Flash: ►Flexibility •Space for future expansion needs •Contiguous with main program Flash ►Efficient •Read-while-write with the main program Flash ►Use cases •Program Flash: bootloader code space •Data Flash: large data tables |
h. Part Number List
The following table is the part number decoder to help you to identify the reference of your Kinetis solution.
Qual Status | Features | DSP / FPU | Memory | Flash Size | Silicon Rev. | Temp | Package | Speed | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
M | Production | K1x | Base | D | M4 w/ DSP | N | NON-FLEXMEMORY | 16 | 16KB | Z | Initial Rev. | 0 to 70°C | FM | 32QFN | 5 | 50MHz | |
P | Prototype | K2x | USB | F | M4 w/ DSP & FPU | X | FLEXMEMORY | 32 | 32KB | 2nd Rev. | C | -40 to +85°C | FT | 48QFN | 7 | 70MHz | |
K3x | Segment LCD | 64 | 64KB | V | -40 to +105°C | LF | 48LQFP | 10 | 100MHz | ||||||||
K4x | USB, SLCD | 96 | 96KB | MP | 64MAPBGA | 12 | 120MHz | ||||||||||
K50 | Measurement Unit | 128 | 128KB | LH | 64LQFP | 15 | 150MHz | ||||||||||
K51 | Measurement Unit, SLCD | 256 | 256KB | LK | 80LQFP | ||||||||||||
K52 | Measurement Unit, Ethernet | 512 | 512KB | MB | 81MAPBGA | ||||||||||||
K53 | Measurement Unit, SLCD, Ethernet | 1M0 | 1MB | LL | 100LQFP | ||||||||||||
K60 | Ethernet, USB | ML | 104MAPBGA | ||||||||||||||
K61 | Ethernet, USB, Tamper | AB | 120WLCSP | ||||||||||||||
K7x | Ethernet, USB, Tamper, Graphic LCD | MC | 121MAPBGA | ||||||||||||||
AA | 143WLCSP | ||||||||||||||||
LQ | 144LQFP | ||||||||||||||||
MD | 144MAPBGA | ||||||||||||||||
MJ | 256MAPBGA |
Sub. Family K10 : Base
Silicon Rev | MC Partnumber | Superset to use for sampling | CPU Frequency | Package | Total Flash Memory | Flash | FlexNVM | EEPROM FlexRAM | SRAM |
Rev1.x | MK10DN32VFM5(R) | PK10DX128VFM5PK10DX128VFM5 | 50MHz | 32QFN | 32KB | 32KB | - | - | 8KB |
Rev1.x | MK10DX32VFM5(R) | PK10DX128VFM5PK10DX128VFM5 | 50MHz | 32QFN | 64KB | 32KB | 32KB | 2KB | 8KB |
Rev1.x | MK10DN64VFM5(R) | PK10DX128VFM5PK10DX128VFM5 | 50MHz | 32QFN | 64KB | 64KB | - | - | 16KB |
Rev1.x | MK10DX64VFM5(R) | PK10DX128VFM5PK10DX128VFM5 | 50MHz | 32QFN | 96KB | 64KB | 32KB | 2KB | 16KB |
Rev1.x | MK10DN128VFM5(R) | PK10DX128VFM5PK10DX128VFM5 | 50MHz | 32QFN | 128KB | 128KB | - | - | 16KB |
Rev1.x | MK10DX128VFM5(R) | PK10DX128VFM5PK10DX128VFM5 | 50MHz | 32QFN | 160KB | 128KB | 32KB | 2KB | 16KB |
Rev1.x | MK10DN32VLF5(R) | PK10DX128VLF5 | 50MHz | 48LQFP | 32KB | 32KB | - | - | 8KB |
Rev1.x | MK10DX32VLF5(R) | PK10DX128VLF5 | 50MHz | 48LQFP | 64KB | 32KB | 32KB | 2KB | 8KB |
Rev1.x | MK10DN64VLF5(R) | PK10DX128VLF5 | 50MHz | 48LQFP | 64KB | 64KB | - | - | 16KB |
Rev1.x | MK10DX64VLF5(R) | PK10DX128VLF5 | 50MHz | 48LQFP | 96KB | 64KB | 32KB | 2KB | 16KB |
Rev1.x | MK10DN128VLF5(R) | PK10DX128VLF5 | 50MHz | 48LQFP | 128KB | 128KB | - | - | 16KB |
Rev1.x | MK10DX128VLF5(R) | PK10DX128VLF5 | 50MHz | 48LQFP | 160KB | 128KB | 32KB | 2KB | 16KB |
Rev1.x | MK10DN32VLH5(R) | PK10DX128VLH5PK10DX128VLH5 | 50MHz | 64LQFP | 32KB | 32KB | - | - | 8KB |
Rev1.x | MK10DX32VLH5(R) | PK10DX128VLH5PK10DX128VLH5 | 50MHz | 64LQFP | 64KB | 32KB | 32KB | 2KB | 8KB |
Rev1.x | MK10DN64VLH5(R) | PK10DX128VLH5PK10DX128VLH5 | 50MHz | 64LQFP | 64KB | 64KB | - | - | 16KB |
Rev1.x | MK10DX64VLH5(R) | PK10DX128VLH5PK10DX128VLH5 | 50MHz | 64LQFP | 96KB | 64KB | 32KB | 2KB | 16KB |
Rev1.x | MK10DN128VLH5(R) | PK10DX128VLH5PK10DX128VLH5 | 50MHz | 64LQFP | 128KB | 128KB | - | - | 16KB |
Rev1.x | MK10DX128VLH5(R) | PK10DX128VLH5PK10DX128VLH5 | 50MHz | 64LQFP | 160KB | 128KB | 32KB | 2KB | 16KB |
Rev1.x | MK10DX64VLK7(R) | PK20DX256VLK7PK20DX256VLK7 | 72MHz | 80LQFP | 96KB | 64KB | 32KB | 2KB | 16KB |
Rev1.x | MK10DX128VLK7(R) | PK20DX256VLK7PK20DX256VLK7 | 72MHz | 80LQFP | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK10DX256VLK7(R) | PK20DX256VLK7PK20DX256VLK7 | 72MHz | 80LQFP | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK10DX128VLL7(R) | PK20DX256VLL7PK20DX256VLL7 | 72MHz | 100LQFP | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK10DX256VLL7(R) | PK20DX256VLL7PK20DX256VLL7 | 72MHz | 100LQFP | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK10DX64VMB7(R) | PK20DX256VML7 | 72MHz | 81MAPBGA | 96KB | 64KB | 32KB | 2KB | 16KB |
Rev1.x | MK10DX128VMB7(R) | PK20DX256VML7 | 72MHz | 81MAPBGA | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK10DX256VMB7(R) | PK20DX256VML7 | 72MHz | 81MAPBGA | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK10DX128VML7(R) | PK20DX256VML7 | 72MHz | 104MAPBGA | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK10DX256VML7(R) | PK20DX256VML7 | 72MHz | 104MAPBGA | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev2.0 | MK10DN512VLK10(R) | PK10DN512ZVLK10 | 100MHz | 80LQFP | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK10DN512VLL10(R) | MK10DN512ZVLL10MK10DN512ZVLL10 | 100MHz | 100LQFP | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK10DN512VMC10(R) | PK10DN512ZVMC10 | 100MHz | 121MAPBGA | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK10DX128VLQ10(R) | MK10DX256ZVLQ10MK10DX256ZVLQ10 | 100MHz | 144LQFP | 256KB | 128KB | 128KB | 4KB | 32KB |
Rev2.0 | MK10DX256VLQ10(R) | MK10DX256ZVLQ10MK10DX256ZVLQ10 | 100MHz | 144LQFP | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK10DN512VLQ10(R) | MK10DN512ZVLQ10MK10DN512ZVLQ10 | 100MHz | 144LQFP | 512KB | 512KB | - | - | 128KB |
Rev1.x | MK10DN512ZCAB10(R) | PK60DN512ZCAB10R | 100MHz | 120WLCSP | 512KB | 512KB | - | - | 128KB |
Sub. Family K20 : Base + USB
Silicon Rev | MC Partnumber | Superset to use for sampling | CPU Frequency | Package | Total Flash Memory | Flash | FlexNVM | EEPROM FlexRAM | SRAM |
Rev1.x | MK20DN32VFM5(R) | PK20DX128VFM5PK20DX128VFM5 | 50MHz | 32QFN | 32KB | 32KB | - | - | 8KB |
Rev1.x | MK20DX32VFM5(R) | PK20DX128VFM5PK20DX128VFM5 | 50MHz | 32QFN | 64KB | 32KB | 32KB | 2KB | 8KB |
Rev1.x | MK20DN64VFM5(R) | PK20DX128VFM5PK20DX128VFM5 | 50MHz | 32QFN | 64KB | 64KB | - | - | 16KB |
Rev1.x | MK20DX64VFM5(R) | PK20DX128VFM5PK20DX128VFM5 | 50MHz | 32QFN | 96KB | 64KB | 32KB | 2KB | 16KB |
Rev1.x | MK20DN128VFM5(R) | PK20DX128VFM5PK20DX128VFM5 | 50MHz | 32QFN | 128KB | 128KB | - | - | 16KB |
Rev1.x | MK20DX128VFM5(R) | PK20DX128VFM5PK20DX128VFM5 | 50MHz | 32QFN | 160KB | 128KB | 32KB | 2KB | 16KB |
Rev1.x | MK20DN32VLF5(R) | PK20DX128VLF5 | 50MHz | 48LQFP | 32KB | 32KB | - | - | 8KB |
Rev1.x | MK20DX32VLF5(R) | PK20DX128VLF5 | 50MHz | 48LQFP | 64KB | 32KB | 32KB | 2KB | 8KB |
Rev1.x | MK20DN64VLF5(R) | PK20DX128VLF5 | 50MHz | 48LQFP | 64KB | 64KB | - | - | 16KB |
Rev1.x | MK20DX64VLF5(R) | PK20DX128VLF5 | 50MHz | 48LQFP | 96KB | 64KB | 32KB | 2KB | 16KB |
Rev1.x | MK20DN128VLF5(R) | PK20DX128VLF5 | 50MHz | 48LQFP | 128KB | 128KB | - | - | 16KB |
Rev1.x | MK20DX128VLF5(R) | PK20DX128VLF5 | 50MHz | 48LQFP | 160KB | 128KB | 32KB | 2KB | 16KB |
Rev1.x | MK20DN32VLH5(R) | PK20DX128VLH5PK20DX128VLH5 | 50MHz | 64LQFP | 32KB | 32KB | - | - | 8KB |
Rev1.x | MK20DX32VLH5(R) | PK20DX128VLH5PK20DX128VLH5 | 50MHz | 64LQFP | 64KB | 32KB | 32KB | 2KB | 8KB |
Rev1.x | MK20DN64VLH5(R) | PK20DX128VLH5PK20DX128VLH5 | 50MHz | 64LQFP | 64KB | 64KB | - | - | 16KB |
Rev1.x | MK20DX64VLH5(R) | PK20DX128VLH5PK20DX128VLH5 | 50MHz | 64LQFP | 96KB | 64KB | 32KB | 2KB | 16KB |
Rev1.x | MK20DN128VLH5(R) | PK20DX128VLH5PK20DX128VLH5 | 50MHz | 64LQFP | 128KB | 128KB | - | - | 16KB |
Rev1.x | MK20DX128VLH5(R) | PK20DX128VLH5PK20DX128VLH5 | 50MHz | 64LQFP | 160KB | 128KB | 32KB | 2KB | 16KB |
Rev1.x | MK20DX64VLK7(R) | PK20DX256VLK7PK20DX256VLK7 | 72MHz | 80LQFP | 96KB | 64KB | 32KB | 2KB | 16KB |
Rev1.x | MK20DX128VLK7(R) | PK20DX256VLK7PK20DX256VLK7 | 72MHz | 80LQFP | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK20DX256VLK7(R) | PK20DX256VLK7PK20DX256VLK7 | 72MHz | 80LQFP | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK20DX128VLL7(R) | PK20DX256VLL7PK20DX256VLL7 | 72MHz | 100LQFP | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK20DX256VLL7(R) | PK20DX256VLL7PK20DX256VLL7 | 72MHz | 100LQFP | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK20DX64VMB7(R) | PK20DX256VML7 | 72MHz | 81MAPBGA | 96KB | 64KB | 32KB | 2KB | 16KB |
Rev1.x | MK20DX128VMB7(R) | PK20DX256VML7 | 72MHz | 81MAPBGA | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK20DX256VMB7(R) | PK20DX256VML7 | 72MHz | 81MAPBGA | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK20DX128VML7(R) | PK20DX256VML7 | 72MHz | 104MAPBGA | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK20DX256VML7(R) | PK20DX256VML7 | 72MHz | 104MAPBGA | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK20DX256ZVLK10(R) | PK20DX256ZVLK10 | 100MHz | 80LQFP | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK20DN512VLK10(R) | PK20DN512ZVLK10 | 100MHz | 80LQFP | 512KB | 512KB | - | - | 128KB |
Rev1.x | MK20DX256ZVLL10(R) | MK60DX256ZVLL10MK60DX256ZVLL10 | 100MHz | 100LQFP | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK20DN512VLL10(R) | MK60DN512ZVLL10MK60DN512ZVLL10 | 100MHz | 100LQFP | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK20DX256VMC10(R) | PK60DX256ZVMC10 | 100MHz | 121MAPBGA | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK20DN512VMC10(R) | PK60DN512ZVMC10 | 100MHz | 121MAPBGA | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK20DX128VLQ10(R) | MK60DX256ZVLQ10MK60DX256ZVLQ10 | 100MHz | 144LQFP | 256KB | 128KB | 128KB | 4KB | 32KB |
Rev2.0 | MK20DX256VLQ10(R) | MK60DX256ZVLQ10MK60DX256ZVLQ10 | 100MHz | 144LQFP | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK20DN512VLQ10(R) | MK60DN512ZVLQ10MK60DN512ZVLQ10 | 100MHz | 144LQFP | 512KB | 512KB | - | - | 128KB |
Rev1.x | MK20DN512ZCAB10(R) | PK60DN512ZCAB10R | 100MHz | 120WLCSP | 512KB | 512KB | - | - | 128KB |
Sub. Family K30 : Base + Segment LCD
Silicon Rev | MC Partnumber | Superset to use for sampling | CPU Frequency | Package | Total Flash Memory | Flash | FlexNVM | EEPROM FlexRAM | SRAM |
Rev1.x | MK30DX64VLK7(R) | PK40DX256VLK7PK40DX256VLK7 | 72MHz | 80LQFP | 96KB | 64KB | 32KB | 2KB | 16KB |
Rev1.x | MK30DX128VLK7(R) | PK40DX256VLK7PK40DX256VLK7 | 72MHz | 80LQFP | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK30DX256VLK7(R) | PK40DX256VLK7PK40DX256VLK7 | 72MHz | 80LQFP | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK30DX128VLL7(R) | PK40DX256VLL7PK40DX256VLL7 | 72MHz | 100LQFP | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK30DX256VLL7(R) | PK40DX256VLL7PK40DX256VLL7 | 72MHz | 100LQFP | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK30DX64VMB7(R) | NA | 72MHz | 81MAPBGA | 96KB | 64KB | 32KB | 2KB | 16KB |
Rev1.x | MK30DX128VMB7(R) | NA | 72MHz | 81MAPBGA | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK30DX256VMB7(R) | NA | 72MHz | 81MAPBGA | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK30DX128VML7(R) | NA | 72MHz | 104MAPBGA | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK30DX256VML7(R) | NA | 72MHz | 104MAPBGA | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev2.0 | MK30DN512VLK10(R) | PK30DN512ZVLK10 | 100MHz | 80LQFP | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK30DN512VLL10(R) | PK30DN512ZVLL10 | 100MHz | 100LQFP | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK30DN512VMC10(R) | Refer to rev1.4 map | 100MHz | 121MAPBGA | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK30DX128VLQ10(R) | MK30DX256ZVLQ10MK30DX256ZVLQ10 | 100MHz | 144LQFP | 256KB | 128KB | 128KB | 4KB | 32KB |
Rev2.0 | MK30DX256VLQ10(R) | MK30DX256ZVLQ10MK30DX256ZVLQ10 | 100MHz | 144LQFP | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK30DN512VLQ10(R) | MK30DN512ZVLQ10MK30DN512ZVLQ10 | 100MHz | 144LQFP | 512KB | 512KB | - | - | 128KB |
Sub. Family K40 : Base + USB + Segment LCD
Silicon Rev | MC Partnumber | Superset to use for sampling | CPU Frequency | Package | Total Flash Memory | Flash | FlexNVM | EEPROM FlexRAM | SRAM |
Rev1.x | MK40DX64VLK7(R) | PK40DX256VLK7PK40DX256VLK7 | 72MHz | 80LQFP | 96KB | 64KB | 32KB | 2KB | 16KB |
Rev1.x | MK40DX128VLK7(R) | PK40DX256VLK7PK40DX256VLK7 | 72MHz | 80LQFP | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK40DX256VLK7(R) | PK40DX256VLK7PK40DX256VLK7 | 72MHz | 80LQFP | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK40DX128VLL7(R) | PK40DX256VLL7PK40DX256VLL7 | 72MHz | 100LQFP | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK40DX256VLL7(R) | PK40DX256VLL7PK40DX256VLL7 | 72MHz | 100LQFP | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK40DX64VMB7(R) | NA | 72MHz | 81MAPBGA | 96KB | 64KB | 32KB | 2KB | 16KB |
Rev1.x | MK40DX128VMB7(R) | NA | 72MHz | 81MAPBGA | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK40DX256VMB7(R) | NA | 72MHz | 81MAPBGA | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK40DX128VML7(R) | NA | 72MHz | 104MAPBGA | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK40DX256VML7(R) | NA | 72MHz | 104MAPBGA | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev2.0 | MK40DN512VLK10(R) | PK40DN512ZVLK10 | 100MHz | 80LQFP | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK40DN512VLL10(R) | PK40DN512ZVLL10 | 100MHz | 100LQFP | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK40DN512VMC10(R) | Refer to rev1.4 map | 100MHz | 121MAPBGA | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK40DX128VLQ10(R) | PK40X256ZVLQ100PK40X256ZVLQ100 | 100MHz | 144LQFP | 256KB | 128KB | 128KB | 4KB | 32KB |
Rev2.0 | MK40DX256VLQ10(R) | PK40X256ZVLQ100PK40X256ZVLQ100 | 100MHz | 144LQFP | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK40DN512VLQ10(R) | PK40N512ZVLQ100PK40N512ZVLQ100 | 100MHz | 144LQFP | 512KB | 512KB | - | - | 128KB |
Rev1.x | MK40DX128ZVMD10(R) | MK40DX256ZVMD10MK40DX256ZVMD10 | 100MHz | 144MAPBGA | 512KB | 128KB | 128KB | 4KB | 32KB |
Rev1.x | MK40DX256VMD10(R) | MK40DX256ZVMD10MK40DX256ZVMD10 | 100MHz | 144MAPBGA | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev1.x | MK40DN512ZVMD10(R) | MK40DN512ZVMD10MK40DN512ZVMD10 | 100MHz | 144MAPBGA | 512KB | 512KB | - | 128KB | |
Rev2.0 | MK40DX128ZVMD10(R) | MK40DX256ZVMD10MK40DX256ZVMD10 | 100MHz | 144MAPBGA | 512KB | 128KB | 128KB | 4KB | 32KB |
Rev2.0 | MK40DX256VMD10(R) | MK40DX256ZVMD10MK40DX256ZVMD10 | 100MHz | 144MAPBGA | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK40DN512VMD10(R) | MK40DN512ZVMD10MK40DN512ZVMD10 | 100MHz | 144MAPBGA | 512KB | 512KB | - | 128KB |
Sub. Family K50 : K40 + Enhanced Analog Mesurement + Ethernet + Encryption
Silicon Rev | MC Partnumber | Superset to use for sampling | CPU Frequency | Package | Total Flash Memory | Flash | FlexNVM | EEPROM FlexRAM | SRAM |
Rev1.x | MK50DX128CLK7(R) | NA | 72MHz | 80LQFP | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK50DX256CLK7(R) | NA | 72MHz | 80LQFP | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK50DX256CLL7(R) | NA | 72MHz | 100LQFP | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK50DX128CMB7(R) | NA | 72MHz | 81MAPBGA | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK50DX256CMB7(R) | NA | 72MHz | 81MAPBGA | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK50DX256CML7(R) | NA | 72MHz | 104MAPBGA | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev2.0 | MK50DX256CLK10(R) | Refer to rev1.4 map | 100MHz | 80LQFP | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK50DX256CLL10(R) | PK51DX256ZCLL10 | 100MHz | 100LQFP | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK50DN512CLL10(R) | PK51DX256ZCLL10 | 100MHz | 100LQFP | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK50DX256CMC10(R) | PK51DX256ZCMC10 | 100MHz | 121MAPBGA | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK50DN512CMC10(R) | PK51DX256ZCMC10 | 100MHz | 121MAPBGA | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK50DN512CLQ10(R) | PK53DN512ZCLQ10 | 100MHz | 144LQFP | 512KB | 512KB | - | - | 128KB |
Rev1.x | MK51DX128CLK7(R) | NA | 72MHz | 80LQFP | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK51DX256CLK7(R) | NA | 72MHz | 80LQFP | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK51DX256CLL7(R) | NA | 72MHz | 100LQFP | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK51DX128CMB7(R) | PK51DX256CML7 | 72MHz | 81MAPBGA | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK51DX256CMB7(R) | PK51DX256CML7 | 72MHz | 81MAPBGA | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK51DX256CML7(R) | PK51DX256CML7 | 72MHz | 104MAPBGA | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev2.0 | MK51DX256CLK10(R) | Refer to rev1.4 map | 100MHz | 80LQFP | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK51DX256CLL10(R) | PK51DX256ZCLL10 | 100MHz | 100LQFP | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK51DN512CLL10(R) | PK51DX256ZCLL10 | 100MHz | 100LQFP | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK51DX256CMC10(R) | PK51DX256ZCMC10 | 100MHz | 121MAPBGA | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK51DN512CMC10(R) | PK51DX256ZCMC10 | 100MHz | 121MAPBGA | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK51DN256CLQ10(R) | PK53DN512ZCLQ10 | 100MHz | 144LQFP | 256KB | 256KB | - | - | 64KB |
Rev2.0 | MK51DN512CLQ10(R) | PK53DN512ZCLQ10 | 100MHz | 144LQFP | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK51DN256CMD10(R) | Refer to rev1.4 map | 100MHz | 144MAPBGA | 256KB | 256KB | - | - | 64KB |
Rev2.0 | MK51DN512CMD10(R) | Refer to rev1.4 map | 100MHz | 144MAPBGA | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK52DN512CLQ10(R) | PK53DN512ZCLQ10 | 100MHz | 144LQFP | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK52DN512CMD10(R) | Refer to rev1.4 map | 100MHz | 144MAPBGA | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK53DN512CLQ10(R) | PK53DN512ZCLQ10 | 100MHz | 144LQFP | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK53DX256CLQ10(R) | PK53DN512ZCLQ10 | 100MHz | 144LQFP | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK53DN512CMD10(R) | Refer to rev1.4 map | 100MHz | 144MAPBGA | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK53DX256CMD10(R) | PK53DN512ZCMD10 | 100MHz | 144MAPBGA | 512KB | 256KB | 256KB | 4KB | 64KB |
Sub. Family K60 : Base + Ethernet + USB
Silicon Rev | MC Partnumber | Superset to use for sampling | CPU Frequency | Package | Total Flash Memory | Flash | FlexNVM | EEPROM FlexRAM | SRAM |
Rev2.0 | MK60DN256VLL10(R) | MK60DN512ZVLL10MK60DN512ZVLL10 | 100MHz | 100LQFP | 256KB | 256KB | - | - | 64KB |
Rev2.0 | MK60DX256VLL10(R) | MK60DX256ZVLL10MK60DX256ZVLL10 | 100MHz | 100LQFP | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK60DN512VLL10(R) | MK60DN512ZVLL10MK60DN512ZVLL10 | 100MHz | 100LQFP | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK60DN256VMC10(R) | PK60DN512ZVMC10 | 100MHz | 121MAPBGA | 256KB | 256KB | - | - | 64KB |
Rev2.0 | MK60DX256VMC10(R) | PK60DX256ZVMC10 | 100MHz | 121MAPBGA | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK60DN512VMC10(R) | PK60DN512ZVMC10 | 100MHz | 121MAPBGA | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK60DN256VLQ10(R) | MK60DN512ZVLQ10MK60DN512ZVLQ10 | 100MHz | 144LQFP | 256KB | 256KB | - | - | 64KB |
Rev2.0 | MK60DX256VLQ10(R) | MK60DX256ZVLQ10MK60DX256ZVLQ10 | 100MHz | 144LQFP | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK60DN512VLQ10(R) | MK60DN512ZVLQ10MK60DN512ZVLQ10 | 100MHz | 144LQFP | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK60DN256VMD10(R) | PK60N512VMD100PK60N512VMD100 | 100MHz | 144MAPBGA | 256KB | 256KB | - | - | 64KB |
Rev2.0 | MK60DX256VMD10(R) | PK60X256VMD100PK60X256VMD100 | 100MHz | 144MAPBGA | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK60DN512VMD10(R) | PK60N512VMD100PK60N512VMD100 | 100MHz | 144MAPBGA | 512KB | 512KB | - | - | 128KB |
Rev1.x | MK60DN512ZCAB10(R) | PK60DN512ZCAB10R | 100MHz | 120WLCSP | 512KB | 512KB | - | - | 128KB |
Sub. Family K70 : K60 + Graphics LCD
3. The tools and the Ecosystem
a. Freescale Enablement Bundle
Freescale Tower System | Freescale CodeWarrior IDE | Freescale MQX RTOS |
---|---|---|
Kinetis MCU Module from 69 USD |
Freescale of charge up to 128KB | Free of charge (95 KUSD est. value) |
• Modular, expandable, open-source h/ware development platform for 8/16/32-bit MCUs/MPUs • Rapid evaluation and prototyping with maximum h/ware reuse • Supported by a growing range of peripheral plug-in boards |
• Eclipse environment • Includes Processor Expert code generation wizard • Creates MQX-aware drivers • Build, debug and flash tools • Software analysis • Kernel-aware debug • Special Edition $0 up to 128KB | • Full-featured, scalable, proven RTOS with TCP/IP, USB, Graphics, Security and File Systems plug-ins • Makes application code more stable, more maintainable and easier to upgrade – reduces time-to-market! • Compatible with CodeWarrior, IAR, Keil & Green Hills IDEs |
Open source, reusable hardware platform | Powerful IDE with code generation wizard for $0! | Bundled RTOS for $0! |
b. Freescale Tower Kinetis MCU Part Number List
There is many MCU Module boards for Kinetis compatible with Freescale Tower System.
Tower System tools are available in two versions :
- MCU board (embedding debug and programming interface), for ex TWR-K40X256
- Complete Kit (same part number as MCU board with suffix -KIT) with additional Elevator and Connector boards, for example TWR-K40X256-KIT
Tower Module | MCU Frequency Supported |
---|---|
TWR-K20D50MTWR-K20D50M | 50 MHz |
TWR-K20D72MTWR-K20D72M | 72 MHz |
TWR-K40X256TWR-K40X256 | 100 MHz |
TWR-K40D100M | 100 MHz |
TWR-K53N512TWR-K53N512 | 100 MHz |
TWR-K60N512TWR-K60N512 | 100 MHz |
TWR-K60D100M | 100 MHz |
TWR-K60F120MTWR-K60F120M | 120-150 MHz |
TWR-K70F120MTWR-K70F120M | 120-150 MHz |
What is the recommanded evaluation board to evaluate and develop with a Kinetis MCU Family considering its frequency, memory size ...
Family | Max Frequency | Partial PN | Recommanded Eval Board | Alternative Eval Board |
K10D | 50 | MK10DN32 | TWR-K20D50M | TWR-K20D72M |
K10D | 50 | MK10DN64 | TWR-K20D50M | TWR-K20D72M |
K10D | 50 | MK10DN128 | TWR-K20D50M | TWR-K20D72M |
K10D | 50 | MK10DX32 | TWR-K20D50M | TWR-K20D72M |
K10D | 50 | MK10DX64 | TWR-K20D50M | TWR-K20D72M |
K10D | 50 | MK10DX128 | TWR-K20D50M | TWR-K20D72M |
K10D | 72 | MK10DX64 | TWR-K20D72M | TWR-K60D100M |
K10D | 72 | MK10DX128 | TWR-K20D72M | TWR-K60D100M |
K10D | 72 | MK10DX256 | TWR-K20D72M | TWR-K60D100M |
K10D | 100 | MK10DX128 | TWR-K60D100M | TWR-K60N512-IARTWR-K60N512-IAR |
K10D | 100 | MK10DX256 | TWR-K60D100M | TWR-K60N512-IARTWR-K60N512-IAR |
K10D | 100 | MK10DN512 | TWR-K60D100M | TWR-K60N512-IARTWR-K60N512-IAR |
K10F | 120 | MK10FN1M0 | TWR-K60F120M | TWR-K70F120M |
K10F | 120 | MK10FX512 | TWR-K60F120M | TWR-K70F120M |
K20D | 50 | MK20DN32 | TWR-K20D50M | TWR-K20D72M |
K20D | 50 | MK20DN64 | TWR-K20D50M | TWR-K20D72M |
K20D | 50 | MK20DN128 | TWR-K20D50M | TWR-K20D72M |
K20D | 50 | MK20DX32 | TWR-K20D50M | TWR-K20D72M |
K20D | 50 | MK20DX64 | TWR-K20D50M | TWR-K20D72M |
K20D | 50 | MK20DX128 | TWR-K20D50M | TWR-K20D72M |
K20D | 72 | MK20DX64 | TWR-K20D72M | TWR-K60D100M |
K20D | 72 | MK20DX128 | TWR-K20D72M | TWR-K60D100M |
K20D | 72 | MK20DX256 | TWR-K20D72M | TWR-K60D100M |
K20D | 100 | MK20DN512Z | TWR-K60D100M | TWR-K60N512-IARTWR-K60N512-IAR |
K20D | 100 | MK20DX128Z | TWR-K60D100M | TWR-K60N512-IARTWR-K60N512-IAR |
K20D | 100 | MK20DX256Z | TWR-K60D100M | TWR-K60N512-IARTWR-K60N512-IAR |
K20F | 120 | MK20FN1M0 | TWR-K60F120M | TWR-K70F120M |
K20F | 120 | MK20FX512 | TWR-K60F120M | TWR-K70F120M |
K30D | 72 | MK30DX64 | TWR-K40D100M | |
K30D | 72 | MK30DX128 | TWR-K40D100M | |
K30D | 72 | MK30DX256 | TWR-K40D100M | |
K30D | 100 | MK30DX128Z | TWR-K40D100M | TWR-K40X256 |
K30D | 100 | MK30DX256Z | TWR-K40D100M | TWR-K40X256 |
K30D | 100 | MK30DN512Z | TWR-K40D100M | TWR-K40X256 |
K40D | 72 | MK40DX64 | TWR-K40D100M | |
K40D | 72 | MK40DX128 | TWR-K40D100M | |
K40D | 72 | MK40DX256 | TWR-K40D100M | |
K40D | 100 | MK40DX128Z | TWR-K40D100M | TWR-K40X256 |
K40D | 100 | MK40DX256Z | TWR-K40D100M | TWR-K40X256 |
K40D | 100 | MK40DN512Z | TWR-K40D100M | TWR-K40X256 |
K50D | 72 | MK50DX128 | TBD | TWR-K53N512 |
K50D | 72 | MK50DX256 | TBD | TWR-K53N512 |
K50D | 100 | MK50DN512Z | TWR-K53N512 | |
K50D | 100 | MK50DX256Z | TWR-K53N512 | |
K51D | 72 | MK51DX128 | TBD | TWR-K53N512 |
K51D | 72 | MK51DX256 | TBD | TWR-K53N512 |
K51D | 100 | MK51DN256Z | TWR-K53N512 | |
K51D | 100 | MK51DN512Z | TWR-K53N512 | |
K51D | 100 | MK51DX256Z | TWR-K53N512 | |
K52D | 100 | MK52DN512Z | TWR-K53N512 | |
K53D | 100 | MK53DN512Z | TWR-K53N512 | |
K53D | 100 | MK53DX256Z | TWR-K53N512 | |
K60D | 100 | MK60DN256Z | TWR-K60D100M | TWR-K60N512-IARTWR-K60N512-IAR |
K60D | 100 | MK60DN512Z | TWR-K60D100M | TWR-K60N512-IARTWR-K60N512-IAR |
K60D | 100 | MK60DX256Z | TWR-K60D100M | TWR-K60N512-IARTWR-K60N512-IAR |
K60F | 120 | MK60FN1M0 | TWR-K60F120M | TWR-K70F120M |
K60F | 120 | MK60FX512 | TWR-K60F120M | TWR-K70F120M |
K60F | 150 | MK60FN1M0 | TWR-K60F120M | TWR-K70F120M |
K60F | 150 | MK60FX512 | TWR-K60F120M | TWR-K70F120M |
K61F | 120 | MK60FN1M0 | TWR-K60F120M | TWR-K70F120M |
K61F | 120 | MK60FX512 | TWR-K60F120M | TWR-K70F120M |
K61F | 150 | MK60FN1M0 | TWR-K60F120M | TWR-K70F120M |
K61F | 150 | MK60FX512 | TWR-K60F120M | TWR-K70F120M |
K70F | 120 | MK70FN1M0 | TWR-K70F120M | |
K70F | 120 | MK70FX512 | TWR-K70F120M | |
K70F | 150 | MK70FN1M0 | TWR-K70F120M | |
K70F | 150 | MK70FX512 | TWR-K70F120M |
4. Summary
Kinetis: the future of microcontroller technology