arm-university / Efficient-Embedded-Systems-Design-Education-Kit

Design and program Arm-based embedded systems and implement them in low-level hardware using standard C and assembly language.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Efficient-Embedded-Systems-Design-Education-Kit

Welcome to our Efficient Embedded Systems Design Education Kit!

Our flagship offering to universities worldwide is the Arm University Program Education Kit series.

These self-contained educational materials offered exclusively and at no cost to academics and teaching staff worldwide. They’re designed to support your day-to-day teaching on core electronic engineering and computer science subjects. You have the freedom to choose which modules to teach – you can use all the modules in the Education Kit or only those that are most appropriate to your teaching outcomes.

Our Efficient Embedded Systems Design Education Kit covers the fundamentals of Embedded Systems design, including how the theories and concepts can be applied in the design and efficient programming of embedded processor interfacing with both analog and digital input and output peripehrals. A full description of the education kit can be found here.

Kit specification:

  • A full set of lecture slides, ready for use in a typical 10-12-week undergraduate course (full syllabus below).
  • Recent updates to the EdKit include updated material on Armv8-M architecture and the Cortex-M33 processor, a dedicated module on Arm's system-wide Trustzone security technology and refreshed lab exercises on the ST Nucleo-L552ZE-Q board.
  • Lab manual with solutions for faculty. Labs are based on low-cost yet powerful Arm-based hardware platforms donated by partners (subject to availability).
  • Prerequisites: Basics of C and assembly programming.

Course Aim

To produce students who can design and efficiently program Arm-based embedded systems.

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 Communications
  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)

License

You are free to fork or clone this material. See LICENSE.md for the complete license.

Inclusive Language Commitment

Arm is committed to making the language we use inclusive, meaningful, and respectful. Our goal is to remove and replace non-inclusive language from our vocabulary to reflect our values and represent our global ecosystem.

Arm is working actively with our partners, standards bodies, and the wider ecosystem to adopt a consistent approach to the use of inclusive language and to eradicate and replace offensive terms. We recognise that this will take time. This course has been updated to replace references to non-inclusive language. We recognise that some of you will be accustomed to using the previous terms and may not immediately recognise their replacements. Please refer to the following example:

• When introducing the AMBA 3 AHB-Lite Protocols, we will use the term ‘Manager’ instead of ‘Master’ and ‘Subordinate’ instead of ‘Slave’.

This course may still contain other references to non-inclusive language; it will be updated with newer terms as those terms are agreed and ratified with the wider community.

Contact us at education@arm.com with questions or comments about this course. You can also report non-inclusive and offensive terminology usage in Arm content at terms@arm.com.

About

Design and program Arm-based embedded systems and implement them in low-level hardware using standard C and assembly language.


Languages

Language:C 91.5%Language:HTML 4.3%Language:Assembly 3.7%Language:CSS 0.3%Language:JavaScript 0.2%Language:Makefile 0.1%