Course/Lab Material for Teaching OS Applications Development


Operating Systems Design and Programming Education Kit

Given the complex tasks that today’s computing devices are being asked to perform, it’s crucial that the operating systems that drive them are stable, fast and efficient.  This is especially true given the complex interaction between devices that new technologies such as the Internet of Things will bring.  As a result, students will need to understand not only how operating systems control individual devices, but how they can also enable the efficient functioning of device networks, especially in real-time environments.

The Operating System Design and Programing Education Kit from the ARM University Program will provide educators with foundational materials on teaching Real-time Operating System (RTOS) for embedded applications.  Suitable for introductory and mid-level embedded system courses in Electrical, Electronic and Computer Engineering and Computer Science courses, this Education Kit will teach the basic concepts and theory of RTOS design and practices using the royalty-free Keil RTX real-time OS that’s bundled with Keil MDK development software.

Subject to a qualification process and hardware platform availability, the kits are donated free-of-charge to Faculty/Educators worldwide to use in their courses. This typically includes a number of seed hardware kits, licenses for the professional Keil MDK-ARM tool and the full set of teaching materials.

Course aim:

  • The course aims to produce students who are capable of designing and programming real-time operating systems on ARM-based platforms and using them to improve their application performance.

Learning outcomes:

  • Knowledge and understanding of: 
    • Basic concepts of RTOS, task and threads
    • Task scheduling and memory allocation
    •  File system and data management 
    • Parallel programing principles
  •  Intellectual
    •  Ability to choose between different programing techniques in RTOS-based applications 
    • Ability to evaluate implementation results (e.g. speed, cost, power) and correlate them with the corresponding programing techniques
  • Practical
    • Ability to use commercial tools to develop RTOS based applications
    • Ability to optimise the RTOS to satisfy given user specifications


  • Basics of programing


The course consists of a number of modules sufficient to run a typical term course (10 to 14 weeks) on operating systems with lecture notes in PPT format, homework with solutions, demonstration code, lab exercises with solution, and programming projects with solutions.   As with all our courseware, this Education Kit has been created with learning outcomes in mind.  The materials will inspire deep learning as well as containing modules that are fun and interactive, thereby re-enforcing theoretical principles.

The course starts with an overview of the operating system design, introducing the basic concepts of process, task and thread. It then presents concurrency, task scheduling memory allocation as key concepts in a typical operating system development. Time management and resource sharing techniques are then presented to optimise the system performance for various applications.

View Table of Contents


This kit is available on a variety of low cost, high performance and low power hardware platforms from the vast ARM eco-system. To access samples of our teaching materials or to make a full donation request please click on the donation request below.


The ARM University Program recommends the following development boards for teaching OS Applications Development:

You can purchase these boards from Digikey and view our accompanying teaching materials

Board Processor Clock Frequency RAM ROM Peripherals Components Other Details Website Link

Freescale Freedom FRDM-KL25Z Development Board

ARM Cortex-M0+ 48MHz 16 KB 128KB Flash

Analogue comparator,

3-axis accelerometer,
Capacitive ouch slider

mbed enabled


ST STM32F4 Discovery Board

ARM Cortex-M4

168 MHz

192 KB

1MB Flash


3-axis accelerometer,
Audio sensor,
Digital microphone,
Audio DAC, Eight LEDs


NXP LPC4088 Quickstart Board

ARM Cortex-M4 120 MHz

96 KB SRAM (on chip) +

512 KB on-chip

Analogue comparator,
UART, Ethernet, DMA

USB host/device,
mbed enabled Link



Keil offers starter kits based on the ARM Cortex-M-based microcontrollers. These kits include an evaluation board, a Keil ULINK-ME USB-JTAG interface, as well as the MDK-ARM software tools.

Development Tools for Microcontrollers

ARM/Keil Microcontroller Development Kit (MDK-ARM) is available now for free for qualified universities. It features the industry-standard compiler from ARM, the Keil µVision IDE, and sophisticated debug and data trace capabilities. MDK-ARM offers tailored support for all Cortex-M processor-based devices, and is the recommended solution for students working with standard ARM-based MCU devices. We suggest that students and universities download the free evaluation version of the tools, which offers all the features of the standard version, but with a 32K byte object code/data limit. Keil Microcontroller Development Kit (MDK-ARM)

Keil Microcontroller Development Kit (MDK-ARM)

Development Tools for Cortex-A Processors

ARM Development Studio 5 (DS-5) is available now for free for qualified universities. DS-5 makes it easy to develop applications for ARM applications processors. It reduces your learning curve, shortens the development and testing cycle, and helps you build reliable applications quickly.

Download ARM Development Studio 5 (DS-5)

The ARM University Program recommends the following textbooks for educators teaching Embedded Systems/MCUs:

Accompanying teaching materials

Embedded Systems: Real-Time Operating Systems for the ARM Cortex-M3

In English, by Jonathan Valvano
Published by CreateSpace
ISBN-10: 1466468866
ISBN-13: 978-1466468863

Embedded Systems: Real-Time Interfacing to Arm® Cortex-M Microcontrollers

In English, by Jonathan Valvano
Published by CreateSpace
ISBN-10: 1463590156
ISBN-13: 978-1463590154

The Designer's Guide to the Cortex-M Processor Family

In English, by Trevor Martin
Published by Newnes

ISBN-13: 978-0081006290
ISBN-10: 0081006292

The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processors, Third Edition

In English, by Joseph Yiu
Published by Newnes
ISBN-10: 0124080820
ISBN-13: 978-0124080829

The Definitive Guide to ARM® Cortex®-M0 and Cortex-M0+ Processors, 2nd Edition

In English, by Joseph Yiu
Published by Newnes
ISBN-10: 0128032774
ISBN-13: 978-0128032770

Testimonial for OS Appications Development

OS Applications Development at the University of Liverpool, UK and Xi'an Jiaotong University, China

Hardware: Freescale FRDM-KL25Z 


We use cookies to give you the best experience on our website. By continuing to use our site you consent to our cookies.

Change Settings

Find out more about the cookies we set