In this lab we will introduce you to some tasks that you will likely perform when you start working as an embedded systems engineer. We will cover the following in these labs:
- GPIO Output
- GPIO Input based on polling and interrupts
- Emulating SPI using GPIO, for when a hardware SPI is not present in a device
- Writing a device driver for a peripheral attached with SPI
- Writing a state machine based orchestration system
In each of the labs you will have functions marked with @todo
, you need to implement those functions.
But before we jump in let's Setup our systems so that we can run the labs themselves.
-
Install Docker and Docker-Compose
Windows/Mac: Docker Desktop for Windows/Mac
Linux: Docker CE and Docker Compose
-
Install VSCode
-
Download the lab materials.
-
Open the folder using VSCode containers
Note: When you open the lab the very first time a Docker Image and container will be built. This takes quite some time based on your internet speed and computer's performance metrics; but subsequent runs will be only using the image as well as the container so will be much faster.
-
Run Lab 1 Part 1 by running the lab run task
- Bring up the commands menu by pressing
Ctrl+Shift+P
- Write
Tasks: Run Task
- Run the
Run Lab
Task - Select and run
Lab_1_Part_1
- Open "No VNC" in your browser by going to http://127.0.0.1:6080/vnc.html
- Enter the password "embedit" to connect and view the output
- Bring up the commands menu by pressing