The FRDM-K22F is an ultra-low-cost development platform for Kinetis K Series K2x (K22F) MCUs built on ARM® Cortex™-M4 processor. Features include easy access to MCU I/O, battery-ready, low-power operation, a standard-based form factor with expansion board options and a built-in debug interface for flash programming and run-control. The FRDM-K22F is supported by a range of NXP and third-party development software.
Table of Contents
The FRDM-K22F is an ultra-low-cost development platform for the latest Kinetis K22 MCUs. The FRDM-K22F hardware is form-factor compatible with the Arduino™ R3 pin layout, providing a broad range of expansion board options.
Please note that on this MCU in SPI Slave mode pins labeled MOSI behave as Slave Output and pins labeled MISO behave as Slave Input. The terms MOSI (Master Out Slave In) and MISO (Master In Slave Out) only apply to Master mode.
The FRDM-K22F is feature packed with a lot of peripherals to enable rapid prototyping, including a six-axis digital accelerometer and magnetometer to create full eCompass capabilities, a tri-colored LED, two user push-buttons for direct interaction and feedback, and connectivity options using onboard Ethernet port and headers for use with Bluetooth and 2.4 GHz radio add-on modules. The FRDM-K22F platform features OpenSDAv2, the NXP open source hardware embedded serial and debug adapter running an open source bootloader. This circuit offers several options for serial communication, flash programming, and run-control debugging. The FRDM-K22F is supported by a range of NXP and third-party development software.
The FRDM-K22F is fully supported in the mbed platform, so it gets access to the tools and SDK that provides experienced embedded developers with powerful and productive tools for building proof-of-concepts. The pinout above shows the commonly used interfaces and their locations. Note that all the numbered pins (PTXX) can also be used as DigitalIn and DigitalOut interfaces.
- NXP K22F Kinetis MCU (MK22FN512VLH12)
- High performance ARM® Cortex™-M4 Core with FPU
- 120MHz, 128kB RAM, 512kB FLASH
- Crystal-less USB (Host/Device)
- SPI (2)
- I2C (2)
- I2S (1)
- UART (3)
- PWM (16)
- ADC (2x 16bit (w/ input mux))
- DAC (2x 12bit)
- GPIO (40)
- Analog Comparator (2x w/ 6bit DAC)
- FRDM-K22F Onboard Sensors
- FXOS8700CQ - 3-axis accelerometer and 3-axis magetometer
- Visible light sensor - ALS-PT19-315C/L177/TR8
- 2 user push buttons
- FRDM-K22F Optional Sensors
- microSD card slot over SPI
- header for RF module: nRF24L01+
- header for Bluetooth module: JY-MCU BT (V1.05 BT)
- Evalution Form factor
- 81mm x 53mm
- 5V USB or 4.5-9V supply
- Built-in USB drag 'n' drop FLASH programmer
- mbed HDK & SDK enabled
- Drag-n-drop programming
- USB Serial Port
- Online development tools
- Easy to use C/C++ SDK
- Lots of published libraries and projects
A new interface firmware image is necessary to mbed-enable NXP FRDM boards
Getting Started with mbed¶
1. Connect your microcontroller to a PC¶
Use the USB lead to connect your mbed to a PC. The status light will come on, indicating it has power. After a few seconds of activity, the PC will recognise the mbed Microcontroller as a standard USB drive.
|Windows XP example||Mac OS X example|
2. Click the MBED.HTM link to get logged in¶
Go to the new USB Drive, and click MBED.HTM to open it in a web browser.
If you do not have an mbed account, choose "Signup", and create your mbed Account. Otherwise, log in with your normal username and password.
This will give you access to the website, tools, libraries and documentation.
Your mbed Microcontroller can appear on your computer as a serial port. On Mac and Linux, this will happen by default. For Windows, you need to install a driver:
See Windows-serial-configuration for full details about setting up Windows for serial communication with your mbed Microcontroller
From a host PC to communicate with mbed you will need a
terminal application. This allows the mbed Microcontroller to print to your PC screen, and for you to send characters back to your mbed.
- Terminals - Using Terminal applications to communicate between the Host PC and the mbed Micrcontroller
Some terminal programs (e.g. TeraTerm) list the available serial ports by name. However, if you do need to know the identity of the serial port so that you can attach a terminal or an application to it:
Downloading A program¶
1. Save a program binary (.bin) to the FRDM Platform¶
Download the appropriate "Hello World!" binary:
- NXP FRDM-K22F: HelloWorld_K22F.bin
Note: the source code for this program will be seen in the next section.
Save the program binary file to your mbed Microcontroller Disk, just like you would with a normal USB disk. The Status LED will flash as the PC writes the file to the Microcontroller disk.
2. Press the Reset Button¶
When the Reset Button in pressed, the newest program on the mbed Microcontroller Disk will be loaded in to the microcontroller FLASH memory. The Status LED will flash as this happens.
When the program is has been loaded onto the microcontroller, it will then start it running.
3. Hello World!¶
The microcontroller is now running the program; flashing LED1 forever! If you reset the microcontroller, or disconnect and reconnect the power, the program will simply restart.
4. To download a different program¶
It is the newest program on the mbed Microcontroller that is run after reset. We can therefore download a new program or overwrite an existing one to update the program that will run.
Follow the guide to creating your own programs using the online compiler
- USB powered or 4.5v - 9v on Vin pin
- Current (active): < _ _ _ mA
- Current (sleep): < _ _ _ mA
- 3.3v regulated output on VOUT to power peripherals
- 5.0v from USB available on 5v (only available when USB is connected unless extra regulator is added!)
- Digital IO pins are 3.3v, 4mA each, 400mA max total
- NXP K22 Data Sheet
- NXP K22 Reference Manual
- NXP K22 Errata Sheet
- NXP FXOS8700CQ Data Sheet
You need to log in to post a discussion
|.bin file copy to USB mbed folder， it disconnected constantly.||0||
11 Oct 2017
|I2C, K22F Conflict between I2C pins on Arduino-compatible header and OpenSDA UART interface||0||
09 Aug 2016