Skip to content

aa9863/KPIT_MBED_worksheet

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages