Login

Course/Lab Material for Teaching Embedded Systems/MCUs

 


Embedded Systems Design and Programming Education Kit

This education kit from the ARM University Program is suitable for introductory and mid-level embedded system courses in Electrical, Electronic and Computer Engineering and Computer Science courses. Central to this kit is a full set of teaching materials including power point slides, lab manuals with solutions to professors, quizzes with answers and more, which can be readily used in a typical 10-14 week course. The teaching materials cover both fundamentals and practical knowledge. State-of-the-art hardware platforms are harnessed in the labs to support the course’s learning outcomes. These use the industry-standard Keil MDK-ARM tool for application development.

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. This provides a clear migration package for academics wanting to upgrade their existing curricula to cutting-edge ARM and partner-based technologies.

Course aim:

  • The course aims to produce students who are capable of designing and programming ARM-based embedded systems and implementing them in low-level hardware using standard C and assembly language. 

Learning outcomes:

  • Knowledge and understanding of: 
    • ARM processor architectures 
    • ARM-based microcontrollers as  modern embedded computing platforms 
    • Software design basics, software engineering principles 
  • Intellectual
    • Ability to choose between different programing techniques for embedded system design
    • 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 ARM-based embedded systems
    • Ability to build an ARM-based embedded system and program to satisfy given user specifications

Pre-requisites: 

  • Basics of programming

Content

The course consist of a number of modules sufficient to run a typical term course on embedded systems with lecture notes in PPT format, homework with solutions, demonstration code, lab exercises with solution, and programming projects with solutions. The course starts with an introduction to embedded system design and programming basics. It then presents the ARM Cortex-M architecture, C and assembly code correlation, and interrupts as a key concept in embedded systems. Various peripherals are then presented in both a practical and fundamental way, including general purpose digital Interfaces, analog Interfaces, timers, serial communication (UART, SPI, I2C), and direct memory access.

There are two types of this course that are currently available. The Efficient Embedded System Design course teaches how to design and program an embedded system in low-level, which gives a better understanding of how the microcontroller works in register level.

View Table of Contents of our Efficient Embedded System Design Course

The rapid embedded system design is based on the ARM mbed API, which is a high-level API providing programmers with easy-to-use functions and drivers to develop ARM-based embedded systems rapidly and productively.

View Table of Contents of our Rapid Embedded System Design course.

Availability

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 request donation button below.

 


The ARM University Program recommends the following development boards for teaching Embedded Systems/MCUs:

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

Board Processor Clock Frequency RAM ROM Peripherals Components Other Details

Freescale Freedom FRDM-KL25Z Development Board

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

GPIO, ADC, DAC,
Analogue comparator,
PWM, I2C, SPI,
UART, DMA

3-axis accelerometer,
RGB LED,
Capacitive ouch slider

mbed enabled

ST STM32F4 Discovery Board

ARM Cortex-M4

96 MHz

192 KB

1MB Flash

GPIO, ADC, DAC,
PWM, I2C, SPI, UART

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

NXP LPC1115 LPCXPRESSO Board

ARM Cortex-M0 12 MHz 8 KB 64KB Flash

GPIO, ADC, I2C,
SPI, UART

LED

NXP LPC4088 Quickstart Board

ARM Cortex-M4 120 MHz

32 MB SDRAM +
96 KB SRAM (on chip) +
4 KB E2PROM

8 MB QSPI +
512 KB on-chip

GPIO, ADC, DAC,
Analogue comparator,
PWM, I2C, SPI, SSP,
UART, Ethernet, DMA

Ethernet,
USB host/device,
LED
mbed enabled
NXP LPC4088 Experiment Base Board
ARM Cortex-M4 120 MHz

32 MB SDRAM +
96 KB SRAM (on chip) +
4 KB E2PROM

8 MB QSPI +
512 KB on-chip
GPIO, ADC, DAC,
Analogue comparator,
PWM, I2C, SPI, SSP,
UART, Ethernet, DMA
Audio codec, Microphone,
Stereo line in/out,
Headphone, UART, LED,
Joystick, Temperature sensor,
3-axis accelerometer,
Trimming potentiometer,
mbed enabled

Cypress PSoC4 Pioneer Board

ARM Cortex-M0 48 MHz 4KB SRAM 32KB Flash

GPIO, ADC, DAC,
Analogue comparator,
Opamps,
Capacitive controller
PWM, I2C, SPI,
UART, DMA

LED, Programmable Analog IO,
Touch sensor
Arduino shield
compatible

ST Nucleo F401RE Board

ARM Cortex-M4 84 MHz 96KB SRAM 512KB Flash GPIO, ADC, DAC,
PWM, I2C, SPI, UART
Button, LED mbed enabled,
Arduino shield
compatible

 

 

 

 

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

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

Fast and Effective Embedded Systems Design: Applying the ARM mbed

In English, by Rob Toulson and Tim Wilmshurst
Published by Newnes

ISBN: 978-0-08-097768-3

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

Embedded Systems with ARM Cortex-M Microcontrollers in Assembly Language and C

In English, by Yifeng Zhu
Published by E-Man Press LLC

ISBN-10: 0982692633
ISBN-13: 978-0982692639

ARM Assembly Language: Fundamentals and Techniques, Second Edition

In English by William Hohl and Christopher Hinds
Published by CRC

ISBN-10: 1439806101
ISBN-13: 978-1439806104

ARM Assembly Language Programming & Architecture

Publisher: Mazidi & Naimi; 1.1 edition (January 20, 2014)
Sold by: Amazon Digital Services, Inc. Language: English

ASIN: B00ENJPNTW

TI ARM Peripherals Programming and Interfacing: Using C Language for ARM Cortex

Publisher: Mazidi and Naimi; 1.0 edition (June 23, 2014) Sold by: Amazon Digital Services, Inc. Language: English

ASIN: B00L9DRAI2

Embedded Systems: Introduction to ARM Cortex-M Microcontrollers

In English, by Jonathan W. Valvano
Published by CreateSpace

ISBN-10: 1477508996
ISBN-13: 978-1477508992

In English, by Jonathan Valvano
Published by CreateSpace

ISBN-10: 1466468866
ISBN-13: 978-1466468863

In English, by Edward Ashford Lee and Sanjit A. Seshia
Published by E. A. Lee and S. A. Seshia

ISBN: 978-0-557-70857-4

In English, by Warwick A. Smith
Published by Elektor

ISBN-10: 0905705912
ISBN-13: 978-0905705910

ARM Microcontrollers, Part 1: 35 Projects for Beginners

In English, by Bert Van Dam
Published by Elektor

ISBN-10: 0905705947
ISBN-13: 978-0905705941

Assembly Language Programming: ARM Cortex-M3

In English, by Vincent Mahout
Published by Wiley-ISTE

ISBN-10: 1848213298
ISBN-13: 978-1848213296

Fundamentals of Embedded Software with the ARM® Cortex-M3

In English, by Daniel W. Lewis
Published by Prentice Hall

ISBN-10: 0132916541
ISBN-13: 978-0132916547

Getting Started with the Internet of Things: Connecting Sensors and Microcontrollers to the Cloud

In English, by Cuno Pfister
Published by O'Reilly Media

ISBN-10: 1449393578
ISBN-13: 978-1449393571

Various Micrium on ARM Textbooks

In English
Published by Micrium

The Definitive Guide to the ARM Cortex-M3

In English, by Joseph Yiu
Published by Newnes
First Edition Errata Document (71KB PDF)

ISBN-10: 0750685344
ISBN-13: 978-0750685344

The Definitive Guide to the ARM Cortex-M0

In English, by Joseph Yiu
Published by Newnes

ISBN-10: 0123854776
ISBN-978-0123854773

Computers as Components: Principles of Embedded Computing System Design

In English, by Wayne Wolf
Published by Morgan Kaufmann

ISBN: 1-5586-0541-X

ARM Assembly Language - an Introduction

In English, by J.R. Gibson
Published by Lulu.com

ISBN: 978-1-84753-696-9

ARM System Developer's Guide

In English, by Andrew Sloss, Dominic Symes, and Chris Wright
Published by Morgan Kaufmann

ISBN: 1-55860-874-5

C Programming for Embedded Microcontrollers

In English, by Warwick A. Smith
Published by Elektor

ISBN: 978-0-905705-80-4

Free ARMv7-AR, ARMv7-M, ARMv6-M, and ARMv5 Architecture Reference Manual Downloads

In English, edited by David Seal
Published by Addison-Wesley

ISBN: 0-201-73719-1

ARM-based Embedded System Development Tutorial

ARM嵌入式系统基础教程
In Chinese, by Ligong Zhou
Author: 周立功
Published by BUAAP

ISBN: 7811240408

ARM Embedded System Experiment Tutorial (Part II)

ARM嵌入式系统实验教程
In Chinese, by Ligong Zhou
Author: 周立功
Published by BUAAP

ISBN: 7810777297

ARM Based Embedded Software Development Tutorial

ARM嵌入式系统软件开发实例
In Chinese, by Ligong Zhou
Author: 周立功
Published by BUAAP

ISBN: 7810775774


Testimonials for Embedded Systems

Embedded Systems Education Kit at University of Cambridge, UK

Hardware: NXP (Freescale) FRDM-KL25Z

 

Embedded Systems at University of Glasgow Institute: University of Glasgow, UK 

Hardware: NXP (Freescale) FRDM-KL25Z 

 

Rapid Embedded Systems at London South Bank University, UK

Hardware: NXP LPC1768

 

Rapid Embedded Systems at Imperial College London, UK

Hardware: NXP LPC1768

 

Rapid Embedded Systems at University of Leeds, UK 

Hardware: NXP LPC1768

 




Cookies

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