KPIT Embedded systems development Worksheets and Code
This Reposoty contains the worksheets and code for KPIM
Contents
General Notes
- USB Debugger Getting printf statements to work via the USB Debugger
Topic 1: Development Tools
-
Introduction to VS Code This Covers setting up a new project in VS Code and Platform IO. We also walk through creating a new project and uploading code to the development boards.
-
Hello World In this worksheet we write our first code for the devices. We also discuss how we can use the on board button to get simple user input. Finally, we use Interrupts to get user input in a more sensible way.
-
Solution Solution for the Traffic Light Task
Topic 2: UML And OO
-
Class Based Flasher In this task we use C++ to create a Class for Flasher Objects.
-
Extra Tasks Some notes, and a worksheet for optional (but recommended) tasks. Turning our Class into a Library, and using Inheritance.
-
Solution to UML My STARUML project file for the Flasher design task
-
Solution to Class My Solution to the Class based flasher task
Topic 3: MBED OS
-
Using the MBED API In this task we look at using the MBED API and its build in helper functions to let us add functionality and write clean code.
-
Events and the EventQueue In this task we take a deeper look at event driven programming. We also make use of the EventQueue Construct to help us schedule tasks based on events.
Topic 4: RTOS and Concurrency
-
Threading Worksheet In this worksheet we introduce Threading, and how we can control thread execution
-
Scheduling In this worksheet we look at scheduling algorithms, and examine how the choice of scheduling algorithm effects a processes runtime.
-
Thread Priority In this worksheet, we examine thread priority. How do we tell the scheduler that one task is more important than others? We also look at the effect of thread priority with long running tasks.
-
Second Thread Priority Example Here we have a second example of how modifying Thread Priority can effect execution order.
-
Concurrency Worksheet Tasks for Producer and Consumer problem
-
Flawed LED example Example code for the Flawed LED concurrent example
-
Producer Consumer Code Code for Producer and Consumer Example
Topic 5: Talking to External Devices
-
Worksheet Worksheet containing todays tasks
-
SimulatorTask.cpp Getting started code for the Simulator
-
Final Task Final Task of the Taught Sessions. Designing and Developing an In-Car safety system.