66 Items from the Year 2023

Group by: Item Type | No Grouping

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

Lecture

DSP Education Kit Random Signals Materials
Heriot Watt University

Additional lecture slides, laboratory exercise instructions and files covering random signals. These complement the DSP Education Kit. The C file provided will run on the Cypress FM4 Pioneer board. It may be ported to run on the STM32F746 Discovery board in due course.


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 Processors 2
University of Glasgow

UNSPECIFIED

Subjects: Technology > Processors

Complete Downloadable Course

Embedded System using STM32L4

his module immerses students in the realm of embedded systems, emphasizing ARM-based microcontroller programming. Participants will master bare-metal programming techniques, gaining a profound understanding of ARM processors and architectures crucial for modern embedded computing. The curriculum employs an integrated approach, guiding students to prototype real-world applications through logbook activities. Additionally, students will assemble and scrutinize complex system prototypes, delving into associated security risks. By the module's end, participants will possess a comprehensive skill set, navigating from low-level programming to real-world application development, underscored by a keen awareness of security implications in embedded systems.


Interests: Microprocessor/Microcontroller , ARM Cortex M4

Lecture
[thumbnail of Embedded Systems & IoT Concepts understood as simple as ABCD! with Simple Examples (1) [9PoUSxeUMbU].mkv]

Embedded Systems & IoT Concepts understood as simple as ABCD! with Simple Examples

We can understand the Embedded Systems and IoT by relating with ABCD! in this Video Presentation! 


Complete Downloadable Course

Emerging Computing Technologies with emphasis on Quantum computing

Emerging Computing Technologies with emphasis on Quantum computing


Complete Downloadable Course

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.


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.


Complete Downloadable Course

Predictive Analytics: Introduction to Data Mining

Discusses in brief about Predictive Analytics and explains about Data Mining


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.


This list was generated on Wed Nov 20 20:26:58 2024 UTC.