Arduino under the Hood (Task Scheduling)

Udemy Arduino under the Hood (Task Scheduling)

Register & Get access to index
lisaBex.jpg

Scheduling Tasks in Arduino and AVR Architectures


What you'll learn
  • Scheduling for AVR/Arduino Architectures
  • Parallel Programming for Embedded Systems


Requirements
  • Arduino under the Hood course or equivalent
  • Basic Linux Knowledge (How to navigate in a terminal, how to invoke programs)
  • Working knowledge about AVR aechitectures and embedded systems

Description
This course is for experts with immediate knowledge in Arduino/AVR architectures. It takes existing knowledge further and applies it to execute a program that is divided into several tasks. Those tasks can then run while the CPU idles, interleaving the computational part of the tasks resulting in a faster overall program execution and lower power consumption. Therefore, instead of manually interleaving tasks to increase the efficiency of the embedded system with the goal to prolong the battery life by increasing the sleep periods, the interleaving is handled automatically and dynamically adapting to the current situation without impacting the readability of the source code. In this course existing solutions are presented and one of them is explored in extensive depth.
The course covers topics such as
  1. The Operating System and the Kernel
  2. Scheduler for the Arduino Platform and AVR architecture
    1. Preemptive scheduling policy
    2. Cooperative scheduling policy
  3. Inter-Process Communication (IPC)
    1. Semaphore/Mutex
    2. Channel/Queue
  4. Existing Schedulers for Arduino
  5. Modification and Implementation of a low-power Scheduler for the AVR architecture
The course ends with a practical session, in which an adaption of a scheduler depending on the Arduino platform is presented. The modified scheduler is then further extended to support sleep modes in the exercise. As usual, the complete exercise includes several hints and a possible solution.
Who this course is for:
  • Intermediate Embedded Systems Engineers
  • Developers who are curious about a simple way to schedule several tasks in AVR/Arduino
Author
TUTProfessor
Downloads
23
Views
949
First release
Last update
Rating
0.00 star(s) 0 ratings

More resources from TUTProfessor