Arm Keil MDK v6 Essential and Professional editions are now available to buy as monthly or annual subscriptions from our Developer Tools store. Visit the store to get access to the tools suite today!

  1. Boards
  2. FRDM-K22F

FRDM-K22F

NXP
FRDM-K22F
VSCode with the Arm Keil Studio extension

Accelerate your application development with example projects

Import your chosen project to Keil Studio for VS Code or Keil Studio Cloud, or download for use in Keil uVision.

Learn more about Keil tools
  • µVision AC6

    This document explains the freertos_mutex example. It shows how mutex manage access to commonresource (terminal output).The example application creates two identical instances of write_task. Each task will lock the mutexbefore printing and unlock it after printing to ensure that the outputs from tasks are not mixedtogether.The test_task accept output message during creation as function parameter. Output message have twoparts. If xMutex is unlocked, the write_task_1 acquire xMutex and print first part of message. Thenrescheduling is performed. In this moment scheduler check if some other task could run, but secondtask write_task+_2 is blocked because xMutex is already locked by first write task. The firstwrite_task_1 continue from last point by printing of second message part. Finaly the xMutex isunlocked and second instance of write_task_2 is executed.

    Download Pack
  • Keil Studio AC6, GCC, IAR

    This document explains the freertos_mutex example. It shows how mutex manage access to commonresource (terminal output).The example application creates two identical instances of write_task. Each task will lock the...See more details in readme document.

    Download Pack
  • Keil Studio AC6, GCC, IAR

    This document explains the freertos_mutex example. It shows how mutex manage access to commonresource (terminal output).The example application creates two identical instances of write_task. Each task will lock the mutexbefore printing and unlock it after printing to ensure that the outputs from tasks are not mixedtogether.The test_task accept output message during creation as function parameter. Output message have twoparts. If xMutex is unlocked, the write_task_1 acquire xMutex and print first part of message. Thenrescheduling is performed. In this moment scheduler check if some other task could run, but secondtask write_task+_2 is blocked because xMutex is already locked by first write task. The firstwrite_task_1 continue from last point by printing of second message part. Finaly the xMutex isunlocked and second instance of write_task_2 is executed.

    Download Pack
  • µVision AC6

    This document explains the freertos_mutex example. It shows how mutex manage access to commonresource (terminal output).The example application creates two identical instances of write_task. Each task will lock the...See more details in readme document.

    Download Pack
  • µVision AC6

    This document explains the freertos_queue example. This example introduce simple logging mechanismbased on message passing.Example could be devided in two parts. First part is logger. It contain three tasks:log_add().....Add new message into the log. Call xQueueSend function to pass new message into message queue.log_init()....Initialize logger (create logging task and message queue log_queue).log_task()....Task responsible for printing of log output.Second part is application of this simple logging mechanism. Each of two tasks write_task_1 andwrite_task_2 print 5 messages into log.

    Download Pack
  • µVision AC6

    This document explains the freertos_queue example. This example introduce simple logging mechanismbased on message passing.Example could be devided in two parts. First part is logger. It contain three...See more details in readme document.

    Download Pack
  • Keil Studio AC6, GCC, IAR

    This document explains the freertos_queue example. This example introduce simple logging mechanismbased on message passing.Example could be devided in two parts. First part is logger. It contain three...See more details in readme document.

    Download Pack
  • Keil Studio AC6, GCC, IAR

    This document explains the freertos_queue example. This example introduce simple logging mechanismbased on message passing.Example could be devided in two parts. First part is logger. It contain three tasks:log_add().....Add new message into the log. Call xQueueSend function to pass new message into message queue.log_init()....Initialize logger (create logging task and message queue log_queue).log_task()....Task responsible for printing of log output.Second part is application of this simple logging mechanism. Each of two tasks write_task_1 andwrite_task_2 print 5 messages into log.

    Download Pack
  • freertos_segger_sysview

    µVision AC6

    Segger Sysview demo shows the basic capabilities of Segger System Viewer tool.Required software: - J-Link Software and Documentation Pack - SystemView - Real-time analysis and visualization - J-Link OpenSDA - Board-Specific Firmwarescan be downloaded from https://www.segger.com/downloads/jlinkDemo requires JLink connected. The JLink can be external probe or on board SDA debugger.In case of SDA debugger you have to change firmware to J-Link OpenSDA by holding board RESET button while power up board. The board is then detected as USB mass storage device and it's required to copy the .bin firmware to the device. When it's done you have to reset the board once more.

    Download Pack
  • Keil Studio AC6, GCC, IAR

    Segger Sysview demo shows the basic capabilities of Segger System Viewer tool.Required software: - J-Link Software and Documentation Pack - SystemView - Real-time analysis and visualization - J-Link OpenSDA - Board-Specific Firmwarescan be downloaded from https://www.segger.com/downloads/jlinkDemo requires JLink connected. The JLink can be external probe or on board SDA debugger.In case of SDA debugger you have to change firmware to J-Link OpenSDA by holding board RESET button while power up board. The board is then detected as USB mass storage device and it's required to copy the .bin firmware to the device. When it's done you have to reset the board once more.

    Download Pack