259 Items associated with Arm Education

Course

Complete Downloadable Course

Digital Signal Processing Education Kit
Arm Education

Our Digital Signal Processing Education Kit covers the fundamental theory and practice of managing digital signals.


Subjects: Technology > Tools & Models > Arm DS-Gold
Interests: Analogue Digital Converter (ADC) , Discrete time signal , Digital Signal Processing (DSP)

Complete Downloadable Course

Efficient Embedded Education Kit
Arm Education

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


Interests: Embedded Systems , Cortex-M , STM32

Complete Downloadable Course

Embedded Linux Education Kit
Arm Education

Our Embedded Linux Education Kit covers the fundamental knowledge of the Linux architecture, and practical skills involved in configuring and building a full Linux operating system stack.


Subjects: Technology > Tools & Models > Arm DS-Gold
Technology > System Controllers > MMU-500 System Memory Management Unit

Complete Downloadable Course

Graphics and Mobile Gaming Education Kit
Arm Education

Our Graphics and Mobile Gaming Education Kit covers the fundamentals of video game design and computer graphics.


Complete Downloadable Course

Internet of Things Education Kit
Arm Education

Our Internet of Things Education Kit covers the fundamental concepts of the Internet of Things (IoT), such as embedded systems, connectivity, cloud computing, and security. The Education Kit provides student with practical experience in creating smartphone apps and controlling a wearable device using the Arm Mbed platform and Android SDK. This kit focuses on the transformative intersection between the internet, mobile and sensor technology and providing the skill set to get involved in IoT development.


Subjects: Technology > Communication > Bluetooth LE
Technology > Security
Interests: Internet of Things (IoT) , The Cloud , Cortex-M , Embedded Systems , STM32

Complete Downloadable Course

Introduction to Computer Architecture Education Kit
Arm Education

Our Introduction to Computer Architecture Education Kit equips your students with the fundamental concepts of computer architecture and how these concepts are applied and implemented in modern processors. This kit is suitable for introductory and mid-level computer architecture courses in Electronic and Computer Engineering, and Computer Science. Lab manual with solutions for faculty are available upon request from https://www.arm.com/resources/education/education-kits/aup-donation-request-form


Interests: Radio Frequency Design , Thumb instruction set , Synchronous Dynamic Random Access Memory (SDRAM)

Complete Downloadable Course

Introduction to Robotic Systems Education Kit
Arm Education

Our Introduction to Robotic Systems Education Kit teach your students to develop autonomous mechatronics and robotic systems.


Subjects: Design Flow > Behavioural Design > Simulation

Complete Downloadable Course

Introduction to SoC Design Education Kit
Arm Education

Our Introduction to System on Chip Design Education Kit covers the fundamentals of System-on-Chip design, including how the theories and concepts can be applied in the design and programming of a simple SoC implemented on an FPGA.


Interests: AHB - AMBA® High-performance Bus , Radio Frequency Design , SoC Design

Complete Downloadable Course

Rapid Embedded Education Kit
Arm Education

Our Rapid Embedded Systems Design Education Kit covers the fundamental principles of how to accelerate the development of embedded systems and rapidly prototype various embedded applications.


Interests: Embedded Systems , Cortex-M , STM32

Complete Downloadable Course

Real Time Operating Systems Design And Programming Education Kit
Arm Education

Our Real-Time Operating Systems Design And Programming Education Kit teaches your students how operating systems control individual devices, and how to enable the efficient functioning of device networks, especially in real-time environments. Given the complex tasks facing today’s computing devices, operating systems must be stable, fast and efficient, particularly given the interaction between devices that recent technologies such as the Internet of Things will bring.


Complete Downloadable Course

VLSI Fundamentals A Practical Approach Education Kit
Arm Education

VLSI Fundamentals: A Practical Approach Education Kit covers the fundamentals of Very Large-Scale Integration (VLSI) design, including how the theories and concepts can be applied in the design of simple logic circuits and in the physical implementation of a simplified microprocessor.


Interests: Asynchronous Circuit , Asynchronous Circuit , Radio Frequency Design , Radio Frequency Design

Resource

Tutorial

AXI-Lite and GPIOs
Arm Education

Design and implement AXI-Lite peripheral to control General Purpose Input and Output Ports (GPIOs). At the end of this module, you will be able to:

  • Configure and integrate an AXI-Lite peripheral with a Cortex-A9 Processing System.
  • Modify a C code to program the Cortex-A9 processor so that it reads the state of switches and control the LEDs.
  • Demonstrate a functional simple system that lights up the LEDs based on the status of the switches.

Interests: General Purpose Input Output (GPIO)

Assignment

Final Lab: Activity Recognition
Arm Education

Internet of Things Education Kit


Interests: The Cloud

Lab

Module 01: Lab 0 Getting Started (Adv SoC)
Arm Education

Setting up all the tools needed for completing the labs in this education kit.


Lab

Module 04: Lab 01: Programming a Processor
Arm Education

At the end of this lab, you will be able to:

  • Modify a C program with assembly subroutines to perform string copy and capitalization operations.
  • Compile a C program and execute the program on a Fixed Virtual Platform in the Arm Development Studio tool.
  • Demonstrate how to step through the code and examine register and variable values in debug mode.
  • Identify known issues related to connection issues in the debug configuration and apply troubleshooting solutions.

Lab
[thumbnail of Lab02_AXILiteAndGPIO.zip]

Module 07: Lab 02 AXI Lite and GPIO
Arm Education

In this lab, we will design and implement AXI-Lite peripheral to control General Purpose Input and Output Ports (GPIOs).


Lab

Module 09: Lab 03 HDMI
Arm Education

In this module, we will design and implement an AXI4-Stream HDMI peripheral to display a simple colored image onto an HDMI monitor.


Lab
[thumbnail of Lab04_AndroidAppHR.zip]

Module 10: Lab 04 Android App Heartrate
Arm Education

Design and build an app to connect to a heart rate sensor, using Bluetooth Low Energy (BLE), and display the information on-screen.


Lab

Module 10: Lab 05 Fast Fourier Transform
Arm Education

The examples in this exercise introduce some of the concepts behind the Fast Fourier Transform (FFT). You will write a C function to implement the Discrete Fourier transform (DFT) and assess its computational efficiency. Next, you will modify that function to use pre-computed “twiddle factors” and measure the time taken to execute the modified function. You will compare this with the time taken to execute fast Fourier transforms written in C and implemented using the CMSIS DSP library. Finally, you will embed these functions in a real-time program that acts as a simple spectrum analyzer.


Interests: Fast Fourier Transform (FFT)

Lab

Module 10: Lab 06 Real-time Operating Systems
Arm Education

Lab exercise to understand common RTOS concepts.


Lab
[thumbnail of Lab07_ArmCMSISandSoftwareDrivers.zip]

Module 10: Lab 07 Arm CMSIS and Software Drivers
Arm Education

In this lab, we will introduce Cortex Microcontroller Software Interface Standard (CMSIS), which is an abstraction layer for the microcontroller, and defines generic tool interfaces. It simplifies software reuse.


Lecture

Module 10: The Cloud
Arm Education

Internet of Things Education Kit


Interests: The Cloud

Lab
[thumbnail of Lab05_IoTSensors.zip]

Module 11: Lab 05 IoT Sensors
Arm Education

Covers security aspects relevant to IoT, including different types of attacks and technical solutions designed to mitigate these.


Lab
[thumbnail of Lab06_IoTSensorAndApp.zip]

Module 11: Lab 06 IoT Sensor and App
Arm Education

Program the DISCO-L475VG-IOT01A board to operate as a weather station. This builds on previous labs where we learned how to send BLE advertisements, read from different sensors (including temperature), and connect to an embedded device via an app that we developed.


Lab

Module 11: Lab 07 Final Project
Arm Education

Lab exercise that brings together all of the previous labs into one project, a music player.


Lab
[thumbnail of Lab08_APIandFinalApp.zip]

Module 11: Lab 08 API and Final App
Arm Education

In this lab, we will develop an API that has more generic and easy-to-use functions. Then, based on the API, we will develop a final game application: Snake.


Lab
[thumbnail of Lab07_WiFiLab.zip]

Module 12: Lab 07 WiFi
Arm Education

Learn how to program the DISCO-L475VG-IOT01A board that has an on-board WiFi module to send and receive sensor data from the device management platform.


Lab
[thumbnail of Lab09_PMOD.zip]

Module 12: Lab 09 PMOD
Arm Education

In this lab, we will use the Expansion headers of the Basys 3 development board to expand our SoC with additional joystick peripherals and develop the final application further with a new API.


Lab

Module 13: Lab 06 Adaptive Filters
Arm Education

The examples in these exercise concern different applications of an adaptive FIR filter using the Least Mean Squares (LMS) algorithm.


Lab
[thumbnail of Lab08_ActivityRecognition.zip]

Module 13: Lab 08 Activity Recognition
Arm Education

Design a full-stack Internet of Things (IoT) system for real-time classification of user activities. You will use an IoT board with accelerometer and gyroscope sensors, a cloud platform where you can instantiate a virtual machine (e.g., Google Cloud Platform), and an Android mobile phone.


Lab

Module 1: Lab 0 Getting Started
Arm Education

Getting started manual for the digital signal processing education kit.


Lab
[thumbnail of Lab01_AnalogIO.zip]

Module 1: Lab 01 Analog IO
Arm Education

Lab exercise with code and documentation for analog IO. From the digital signal processing education kit.


Lab

Module 3: Lab 02 Sampling Aliasing and Reconstruction
Arm Education

Lab exercise involving sampling aliasing and reconstruction. Related to the digital signal processing education kit.


Lab
[thumbnail of Lab01_CortexM0AHBLiteImplementation.zip]

Module 4: Lab 01 Cortex-M0 AHB Lite Implementation
Arm Education

In this lab, we will begin designing a simple SoC platform that contains a Cortex-M0 microprocessor, an LED peripheral, and an on-chip memory.


Lab
[thumbnail of Lab01_ProgrammingAProcessor.zip]

Module 4: Lab 1 Programming a Processor
Arm Education

In this module, we will program an Arm processor on a Fixed Virtual Platform using a mixture of Assembly language and C code.


Lab

Module 4: Lab00 Getting Started
Arm Education

Getting started documents for the rapid embedded education kit.


Lab
[thumbnail of Lab02_AHBVGAPeripheral.zip]

Module 5: Lab 02 AHB VGA Peripheral
Arm Education

In this lab, we will implement an AHB VGA peripheral and write simple program for the processor to display images onto a VGA monitor.


Lab

Module 5: Lab 2: Introduction to Kernel Modules under Yocto
Arm Education

Code for a simple device driver "hello world" program and BitBake recipe.


Lab

Module 5: Lab01 Digital Input and Output
Arm Education

Lab exercise covering how to utilize digital input and output within an embedded system.


Lab

Module 6: Lab 02 Interrupts
Arm Education

Lab exercise to understand how to utilize interrupts within the context of embedded systems.


Lab
[thumbnail of Lab03_AHBUARTPeripheral.zip]

Module 6: Lab 03 AHB UART Peripheral
Arm Education

In this lab, we will implement an AHB UART peripheral and write simple program for the processor to communicate with a PC or laptop.


Lab
[thumbnail of Lab03_FIRFilters.zip]

Module 6: Lab 03 FIR Filters
Arm Education

The examples in this exercise introduce some of the concepts of Finite Impulse Response (FIR) filtering. Also explored are various methods of estimating the magnitude frequency response of a filter implemented in real-time and the relative computational efficiency of different implementation options.


Lab

Module 6: Lab 3: Lab Code
Arm Education

Code for a Linux kernel driver for GPIO


Lab

Module 7: Lab 0 Getting Started (IoT)
Arm Education

How to create a new Mbed project, import code example, compile, and execute applications for embedded devices.


Lab

Module 7: Lab 03 Analog Input and Output
Arm Education

Lab exercise to understand analog input and output features in embedded systems.


Lab
[thumbnail of Lab04_TimerGPIOand7SegmentPeripherals.zip]

Module 7: Lab 04 Timer GPIO and 7-Segment Peripheral
Arm Education

In this lab, we implement three AHB peripherals: an internal timer, a general-purpose input output (GPIO), and a 7-segment display.


Lab

Module 7: Lab 4: Lab Code
Arm Education

Code for creating a Linux kernel device driver for a ranging sensor module.


Lab
[thumbnail of Lab01_IOAndGPIO.zip]

Module 8: Lab 01 IO and GPIO
Arm Education

Learn how to configure and use the General Purpose Input/Output (GPIO) capability of a development board, at the register level without the use of an Application Programming Interface (API).


Lab
[thumbnail of Lab04_IIRFilters.zip]

Module 8: Lab 04 IIR Filters
Arm Education

The examples in this exercise introduce some of the concepts of Infinite Impulse Response (IIR) filtering. Also explored are various methods of estimating the magnitude frequency response of a filter implemented in real time and the relative computational efficiency of different implementation options.


Lab

Module 8: Lab 04 Pulse-width Modulation
Arm Education

Lab exercise to understand pulse-width modulation and how it can be utilized in embedded systems.


Lab
[thumbnail of Lab05_InterruptMechanisms.zip]

Module 8: Lab 05 Interrupt Mechanisms
Arm Education

In this lab, we will implement an interrupt mechanism for the timer and the UART peripherals.


Lab

Module 8: Lab 5: Lab Code
Arm Education

Code for running an application and using GDB debugger and Streamline to analyze performance.


Lab
[thumbnail of Lab02_BasicMobileApp.zip]

Module 9: Lab 02 Basic Mobile App
Arm Education

Create and build a simple Hello World application for your Android device.


Lab
[thumbnail of Lab03_BLEProgram.zip]

Module 9: Lab 03 BLE Program
Arm Education

Learn how to program the DISCO-L475VG-IOT01A board, which has an on-board Bluetooth V4.1 module (SPBTLE-RF), and subsequently use a mobile device to connect to it via Bluetooth Low Energy (BLE).


Lab

Module 9: Lab 05 Serial Communication
Arm Education

Lab exercise to understand serial communication such as I2C, UART and SPI.


Lab
[thumbnail of Lab06_ProgrammingAnSoCUsingC.zip]

Module 9: Lab 06 Programming an SoC using C
Arm Education

How to program an SoC using the C programming language.


Lab
[thumbnail of Lab04_EvaluatingSchedulerResponsiveness.zip]

RTOS - Module 10: Lab 04 Evaluating Scheduler Responsiveness
Arm Education

In this lab you will evaluate how changing the scheduling approach (prioritisation and pre-emption) affects how quickly a multithreaded program responds to an input event.


Lab
[thumbnail of Lab05_ProducerAndConsumer.zip]

RTOS - Module 11: Lab 05 Producer and Consumer
Arm Education

In this exercise, you will focus on the producer-consumer problem. You may want to use some primitives of the RTX in order to solve the problem. There may be many possible solutions and you are expected to evaluate their advantages and disadvantages.


Lab
[thumbnail of Lab06_OSDebugging.zip]

RTOS - Module 12: Lab 06 OS Debugging
Arm Education

Tuning a program to a good, if not optimal, state is a time-consuming task. In this lab, you are expected to improve the performance of the provided project. You will first be introduced to how to evaluate the performance of the provided project with various debugging tools and techniques. By doing so, you will notice performance or, in some cases, even functional bugs.


Lab

RTOS - Module 1: Lab 0 Getting Started
Arm Education

Getting started with Keil MDK. KEIL µVision5 is a widely-used IDE particularly in the embedded software region. It has full support for the STM32F4 Discovery Board and is really easy-to-use.


Lab
[thumbnail of Lab01_OCAssembly.zip]

RTOS - Module 3: Lab 1 Processing Text in Assembly Language
Arm Education

In this exercise you will execute assembly code on your board using the debugger in order to examine its execution at the processor level. This lab aims to get you familiar with the development environment and understand how the hardware “plumbing” is hard.


Lab
[thumbnail of Lab02_RTXBasics.zip]

RTOS - Module 3: Lab 2 RTX Basics
Arm Education

In this lab you will configure the RTX and create and destroy some tasks using the RTX RTOS. You are expected to walk through how the OS performs task creation, termination and switching operations.


Lab
[thumbnail of Lab03_ImplementingMutex.zip]

RTOS - Module 5: Lab 03 Implementing Mutex
Arm Education

In this exercise, a simulated environment based on the RTX RTOS is created. From here you will explore some of the concepts and algorithms introduced during the lectures.


Textbook

Textbook

A Beginner’s Guide to Designing Embedded System Applications on Arm Cortex-M Microcontrollers
University of Buenos Aires
Arm Education

This textbook is the perfect introduction for the beginner looking to enter the exciting world of embedded devices and IoT.

Over the course of twelve chapters, readers will gain the practical skills needed to build a fully functional smart home device featuring a fire alarm, motion detector and security sensor.

No prior knowledge of programming or electronics is assumed as the authors have adopted a “learn-by-doing” approach. Basic ideas are explained and then demonstrated by means of examples that progressively introduce the fundamental concepts, techniques, and tools of embedded system design.

All exercises are based on the ST Nucleo-F429ZI board, so readers can gain experience in implementing these key concepts on an industry-relevant Arm-based microcontroller.

For educators looking to adopt this textbook, the authors have conveniently organized the book to align with a typical twelve-week semester, the idea being that one chapter can be addressed each week. This textbook also takes a blended learning approach with a set of pre-lesson activities for the students which are designed to develop the reader’s curiosity and enthusiasm for embedded system design.


Interests: Embedded Systems , Internet of Things (IoT) , Cortex-M

This list was generated on Wed Jul 24 15:01:02 2024 UTC.