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 | Mesurement Unit | 128 | 128KB | LH | 64LQFP | 15 | 150MHz | ||||||||||
K51 | Mesurement Unit, SLCD | 256 | 256KB | LK | 80LQFP | ||||||||||||
K52 | Mesurement Unit, Ethernet | 512 | 512KB | MB | 81MAPBGA | ||||||||||||
K53 | Mesurement 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) | PK10DX128VFM5 PK10DX128VFM5 | 50MHz | 32QFN | 32KB | 32KB | - | - | 8KB |
Rev1.x | MK10DX32VFM5(R) | PK10DX128VFM5 PK10DX128VFM5 | 50MHz | 32QFN | 64KB | 32KB | 32KB | 2KB | 8KB |
Rev1.x | MK10DN64VFM5(R) | PK10DX128VFM5 PK10DX128VFM5 | 50MHz | 32QFN | 64KB | 64KB | - | - | 16KB |
Rev1.x | MK10DX64VFM5(R) | PK10DX128VFM5 PK10DX128VFM5 | 50MHz | 32QFN | 96KB | 64KB | 32KB | 2KB | 16KB |
Rev1.x | MK10DN128VFM5(R) | PK10DX128VFM5 PK10DX128VFM5 | 50MHz | 32QFN | 128KB | 128KB | - | - | 16KB |
Rev1.x | MK10DX128VFM5(R) | PK10DX128VFM5 PK10DX128VFM5 | 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) | PK10DX128VLH5 PK10DX128VLH5 | 50MHz | 64LQFP | 32KB | 32KB | - | - | 8KB |
Rev1.x | MK10DX32VLH5(R) | PK10DX128VLH5 PK10DX128VLH5 | 50MHz | 64LQFP | 64KB | 32KB | 32KB | 2KB | 8KB |
Rev1.x | MK10DN64VLH5(R) | PK10DX128VLH5 PK10DX128VLH5 | 50MHz | 64LQFP | 64KB | 64KB | - | - | 16KB |
Rev1.x | MK10DX64VLH5(R) | PK10DX128VLH5 PK10DX128VLH5 | 50MHz | 64LQFP | 96KB | 64KB | 32KB | 2KB | 16KB |
Rev1.x | MK10DN128VLH5(R) | PK10DX128VLH5 PK10DX128VLH5 | 50MHz | 64LQFP | 128KB | 128KB | - | - | 16KB |
Rev1.x | MK10DX128VLH5(R) | PK10DX128VLH5 PK10DX128VLH5 | 50MHz | 64LQFP | 160KB | 128KB | 32KB | 2KB | 16KB |
Rev1.x | MK10DX64VLK7(R) | PK20DX256VLK7 PK20DX256VLK7 | 72MHz | 80LQFP | 96KB | 64KB | 32KB | 2KB | 16KB |
Rev1.x | MK10DX128VLK7(R) | PK20DX256VLK7 PK20DX256VLK7 | 72MHz | 80LQFP | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK10DX256VLK7(R) | PK20DX256VLK7 PK20DX256VLK7 | 72MHz | 80LQFP | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK10DX128VLL7(R) | PK20DX256VLL7 PK20DX256VLL7 | 72MHz | 100LQFP | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK10DX256VLL7(R) | PK20DX256VLL7 PK20DX256VLL7 | 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) | MK10DN512ZVLL10 MK10DN512ZVLL10 | 100MHz | 100LQFP | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK10DN512VMC10(R) | PK10DN512ZVMC10 | 100MHz | 121MAPBGA | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK10DX128VLQ10(R) | MK10DX256ZVLQ10 MK10DX256ZVLQ10 | 100MHz | 144LQFP | 256KB | 128KB | 128KB | 4KB | 32KB |
Rev2.0 | MK10DX256VLQ10(R) | MK10DX256ZVLQ10 MK10DX256ZVLQ10 | 100MHz | 144LQFP | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK10DN512VLQ10(R) | MK10DN512ZVLQ10 MK10DN512ZVLQ10 | 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) | PK20DX128VFM5 PK20DX128VFM5 | 50MHz | 32QFN | 32KB | 32KB | - | - | 8KB |
Rev1.x | MK20DX32VFM5(R) | PK20DX128VFM5 PK20DX128VFM5 | 50MHz | 32QFN | 64KB | 32KB | 32KB | 2KB | 8KB |
Rev1.x | MK20DN64VFM5(R) | PK20DX128VFM5 PK20DX128VFM5 | 50MHz | 32QFN | 64KB | 64KB | - | - | 16KB |
Rev1.x | MK20DX64VFM5(R) | PK20DX128VFM5 PK20DX128VFM5 | 50MHz | 32QFN | 96KB | 64KB | 32KB | 2KB | 16KB |
Rev1.x | MK20DN128VFM5(R) | PK20DX128VFM5 PK20DX128VFM5 | 50MHz | 32QFN | 128KB | 128KB | - | - | 16KB |
Rev1.x | MK20DX128VFM5(R) | PK20DX128VFM5 PK20DX128VFM5 | 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) | PK20DX128VLH5 PK20DX128VLH5 | 50MHz | 64LQFP | 32KB | 32KB | - | - | 8KB |
Rev1.x | MK20DX32VLH5(R) | PK20DX128VLH5 PK20DX128VLH5 | 50MHz | 64LQFP | 64KB | 32KB | 32KB | 2KB | 8KB |
Rev1.x | MK20DN64VLH5(R) | PK20DX128VLH5 PK20DX128VLH5 | 50MHz | 64LQFP | 64KB | 64KB | - | - | 16KB |
Rev1.x | MK20DX64VLH5(R) | PK20DX128VLH5 PK20DX128VLH5 | 50MHz | 64LQFP | 96KB | 64KB | 32KB | 2KB | 16KB |
Rev1.x | MK20DN128VLH5(R) | PK20DX128VLH5 PK20DX128VLH5 | 50MHz | 64LQFP | 128KB | 128KB | - | - | 16KB |
Rev1.x | MK20DX128VLH5(R) | PK20DX128VLH5 PK20DX128VLH5 | 50MHz | 64LQFP | 160KB | 128KB | 32KB | 2KB | 16KB |
Rev1.x | MK20DX64VLK7(R) | PK20DX256VLK7 PK20DX256VLK7 | 72MHz | 80LQFP | 96KB | 64KB | 32KB | 2KB | 16KB |
Rev1.x | MK20DX128VLK7(R) | PK20DX256VLK7 PK20DX256VLK7 | 72MHz | 80LQFP | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK20DX256VLK7(R) | PK20DX256VLK7 PK20DX256VLK7 | 72MHz | 80LQFP | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK20DX128VLL7(R) | PK20DX256VLL7 PK20DX256VLL7 | 72MHz | 100LQFP | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK20DX256VLL7(R) | PK20DX256VLL7 PK20DX256VLL7 | 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) | MK60DX256ZVLL10 MK60DX256ZVLL10 | 100MHz | 100LQFP | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK20DN512VLL10(R) | MK60DN512ZVLL10 MK60DN512ZVLL10 | 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) | MK60DX256ZVLQ10 MK60DX256ZVLQ10 | 100MHz | 144LQFP | 256KB | 128KB | 128KB | 4KB | 32KB |
Rev2.0 | MK20DX256VLQ10(R) | MK60DX256ZVLQ10 MK60DX256ZVLQ10 | 100MHz | 144LQFP | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK20DN512VLQ10(R) | MK60DN512ZVLQ10 MK60DN512ZVLQ10 | 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) | PK40DX256VLK7 PK40DX256VLK7 | 72MHz | 80LQFP | 96KB | 64KB | 32KB | 2KB | 16KB |
Rev1.x | MK30DX128VLK7(R) | PK40DX256VLK7 PK40DX256VLK7 | 72MHz | 80LQFP | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK30DX256VLK7(R) | PK40DX256VLK7 PK40DX256VLK7 | 72MHz | 80LQFP | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK30DX128VLL7(R) | PK40DX256VLL7 PK40DX256VLL7 | 72MHz | 100LQFP | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK30DX256VLL7(R) | PK40DX256VLL7 PK40DX256VLL7 | 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) | MK30DX256ZVLQ10 MK30DX256ZVLQ10 | 100MHz | 144LQFP | 256KB | 128KB | 128KB | 4KB | 32KB |
Rev2.0 | MK30DX256VLQ10(R) | MK30DX256ZVLQ10 MK30DX256ZVLQ10 | 100MHz | 144LQFP | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK30DN512VLQ10(R) | MK30DN512ZVLQ10 MK30DN512ZVLQ10 | 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) | PK40DX256VLK7 PK40DX256VLK7 | 72MHz | 80LQFP | 96KB | 64KB | 32KB | 2KB | 16KB |
Rev1.x | MK40DX128VLK7(R) | PK40DX256VLK7 PK40DX256VLK7 | 72MHz | 80LQFP | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK40DX256VLK7(R) | PK40DX256VLK7 PK40DX256VLK7 | 72MHz | 80LQFP | 288KB | 256KB | 32KB | 2KB | 64KB |
Rev1.x | MK40DX128VLL7(R) | PK40DX256VLL7 PK40DX256VLL7 | 72MHz | 100LQFP | 160KB | 128KB | 32KB | 2KB | 32KB |
Rev1.x | MK40DX256VLL7(R) | PK40DX256VLL7 PK40DX256VLL7 | 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) | PK40X256ZVLQ100 PK40X256ZVLQ100 | 100MHz | 144LQFP | 256KB | 128KB | 128KB | 4KB | 32KB |
Rev2.0 | MK40DX256VLQ10(R) | PK40X256ZVLQ100 PK40X256ZVLQ100 | 100MHz | 144LQFP | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK40DN512VLQ10(R) | PK40N512ZVLQ100 PK40N512ZVLQ100 | 100MHz | 144LQFP | 512KB | 512KB | - | - | 128KB |
Rev1.x | MK40DX128ZVMD10(R) | MK40DX256ZVMD10 MK40DX256ZVMD10 | 100MHz | 144MAPBGA | 512KB | 128KB | 128KB | 4KB | 32KB |
Rev1.x | MK40DX256VMD10(R) | MK40DX256ZVMD10 MK40DX256ZVMD10 | 100MHz | 144MAPBGA | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev1.x | MK40DN512ZVMD10(R) | MK40DN512ZVMD10 MK40DN512ZVMD10 | 100MHz | 144MAPBGA | 512KB | 512KB | - | 128KB | |
Rev2.0 | MK40DX128ZVMD10(R) | MK40DX256ZVMD10 MK40DX256ZVMD10 | 100MHz | 144MAPBGA | 512KB | 128KB | 128KB | 4KB | 32KB |
Rev2.0 | MK40DX256VMD10(R) | MK40DX256ZVMD10 MK40DX256ZVMD10 | 100MHz | 144MAPBGA | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK40DN512VMD10(R) | MK40DN512ZVMD10 MK40DN512ZVMD10 | 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) | MK60DN512ZVLL10 MK60DN512ZVLL10 | 100MHz | 100LQFP | 256KB | 256KB | - | - | 64KB |
Rev2.0 | MK60DX256VLL10(R) | MK60DX256ZVLL10 MK60DX256ZVLL10 | 100MHz | 100LQFP | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK60DN512VLL10(R) | MK60DN512ZVLL10 MK60DN512ZVLL10 | 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) | MK60DN512ZVLQ10 MK60DN512ZVLQ10 | 100MHz | 144LQFP | 256KB | 256KB | - | - | 64KB |
Rev2.0 | MK60DX256VLQ10(R) | MK60DX256ZVLQ10 MK60DX256ZVLQ10 | 100MHz | 144LQFP | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK60DN512VLQ10(R) | MK60DN512ZVLQ10 MK60DN512ZVLQ10 | 100MHz | 144LQFP | 512KB | 512KB | - | - | 128KB |
Rev2.0 | MK60DN256VMD10(R) | PK60N512VMD100 PK60N512VMD100 | 100MHz | 144MAPBGA | 256KB | 256KB | - | - | 64KB |
Rev2.0 | MK60DX256VMD10(R) | PK60X256VMD100 PK60X256VMD100 | 100MHz | 144MAPBGA | 512KB | 256KB | 256KB | 4KB | 64KB |
Rev2.0 | MK60DN512VMD10(R) | PK60N512VMD100 PK60N512VMD100 | 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 additionnal Elevator and Connector boards, for example TWR-K40X256-KIT
Tower Module | MCU Frequency Supported |
---|---|
TWR-K20D50M TWR-K20D50M | 50 MHz |
TWR-K20D72M TWR-K20D72M | 72 MHz |
TWR-K40X256 TWR-K40X256 | 100 MHz |
TWR-K40D100M | 100 MHz |
TWR-K53N512 TWR-K53N512 | 100 MHz |
TWR-K60N512 TWR-K60N512-IAR | 100 MHz |
TWR-K60D100M | 100 MHz |
TWR-K60F120M TWR-K60F120M | 120-150 MHz |
TWR-K70F120M TWR-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-IAR |
K10D | 100 | MK10DX256 | TWR-K60D100M | TWR-K60N512-IAR |
K10D | 100 | MK10DN512 | TWR-K60D100M | TWR-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-IAR |
K20D | 100 | MK20DX128Z | TWR-K60D100M | TWR-K60N512-IAR |
K20D | 100 | MK20DX256Z | TWR-K60D100M | TWR-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-IAR |
K60D | 100 | MK60DN512Z | TWR-K60D100M | TWR-K60N512-IAR |
K60D | 100 | MK60DX256Z | TWR-K60D100M | TWR-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