Efficient Embedded Systems Design Education Kit
Teaching materials now available on GitHub.
You can download the materials by clicking the button below which will take you to Arm Education's official GitHub pages.
Kit specification:
- A full set of lecture slides, ready for use in a typical undergraduate course (see full syllabus).
- Recent updates to education kit include:
- New lecture slides on Armv8-M architecture and the Cortex-M33 processor. Updated topics include:
- Extended features
- Performance efficiency
- Power consumption
- Supported interrupts
- Supported sleep modes
- Enhanced instructions
- Cortex-M33 Implementation Data
- Complete block diagram of the Cortex-M33 processor
- Cortex-M33 instruction set
- A dedicated module on Arm’s system-wide Trustzone security technology. Coverage of new topics include:
- Secure and Non-secure worlds and their features
- Attribution units
- Security requirements addressed by TrustZone covering communication, protection, firmware and data operations.
- Refreshed lab exercises based on the ST NUCLEO-L552ZE-Q board with updated code, libraries and a new exercise on implementing Trustzone’s Secure World features.
- You can access the previous version of the education kit based on the ST Nucleo F401RE board on our GitHub repo.
- Prerequisites: basics of programming.
Course Aim
To produce students who can design and program Arm-based embedded systems and implement them in low-level hardware using standard C and assembly language.
Learning Outcomes
- Knowledge and understanding of
- The attributes of a modern Embedded System including constraints on operating system, programming language and choice of microprocessor or microprocessor.
- Armv8-M processor architecture including Trustzone technology as applied to Cortex-M33 microcontrollers.
- Software design basics, software engineering principles.
- Intellectual
- Ability to choose between different programming techniques for embedded system design.
- Ability to evaluate implementation results (e.g. speed, cost, power) and correlate them with the corresponding programming 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.
- Ability to run simple programs that utilize the security features of TrustZone in Cortex-M33 devices to access secure and non-secure IO ports.
Syllabus
1 | Introduction to Embedded Systems Design |
2 | Software Design Basics |
3 | Cortex-M4/M33 Processor Core Part 1 (Cortex M4 for Nucleo-F401RE version while Cortex M33 for Nucleo-L552ZE-Q version) |
4 | Cortex-M4/M33 Processor Core Part 2 (Cortex M4 for Nucleo-F401RE version while Cortex M33 for Nucleo-L552ZE-Q version) |
5 | C as Implemented in Assembly Language |
6 | Interrupts and Low Power Features |
7 | General Purpose I/O |
8 | Analog Interfacing |
9 | Timer Peripherals |
10 | Serial Communication |
11 | Programming for Power-Efficient Computing: High Level Techniques |
12 | Programming for Power-Efficient Computing: Low Level Techniques |
13 | TrustZone Features in Cortex-M33 (Available only on Nucleo-L552ZE-Q version) |
Recommended Textbook
Embedded Systems Fundamentals with Arm Cortex-M based Microcontrollers: A Practical Approach
FRDM-KL25Z Edition
ISBN 978-1-911531-03-6
Embedded Systems Fundamentals with Arm Cortex-M based Microcontrollers: A Practical Approach
Nucleo-F091RC Edition
ISBN 978-1-911531-28-9