Embedded Systems Design and Programming Lab-in-a-Box
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.
- 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.
- Knowledge and understanding of:
- ARM processor architectures
- ARM-based microcontrollers as modern embedded computing platforms
- Software design basics, software engineering principles
- 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
- 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
- Basics of programming
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.
Click here to see the table of content of 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.
Click here to see the table of content of Rapid Embedded System Design course.
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.