FreeRTOS in Theory and Practice - LPC1769 LPCXpresso Board Edition

FreeRTOS in Theory and Practice - LPC1769 LPCXpresso Board Edition

COURSE OBJECTIVES

To provide an understanding of the essentials of a real-time operating system. What are the advantages? What are the trade offs? Hands-on exercises provide you with the necessary practical experience to go ahead and use a real-time operating system with your own embedded system after successfully completing this training.  

SHORT COURSE INFO


Duration:

Three days


Format:

Delivered over the phone or Skype with instructor screen sharing - http://www.yuuguu.com


Language:

English - trainer has fluent German (as a first language)


Dates:   

On Demand


Time:      

TBD


Location:

At your office


Materials:

Handouts (book)

LPC1769 LPCXPresso Board by Embedded Artists or FreeRTOS NXP LPC1769 LPCXpresso Education-Evaluation Kit

USB Cable

Examples and solutions


Recording:

We do not permit recording and/or reuse of our coyrighted material


Concerning the registration please note, that for on-line trainings we don’t need to fill up a class room in order to cover our expenses for the room and the trip. We just need your written confirmation for the training to happen. It’s given to you as a private session if no other students sign up. In case you want to train multiple members of your team you might also want to query for an on-site training. Ask for multi-enrollment discounts.

Description

This 3-day training class uses hands-on exercises combined with instruction to illustrate the concepts of a real-time operating system. FreeRTOS will be used as an example. It is designed to bring you quickly up to speed. The concepts and commands necessary to make effective use of FreeRTOS are described through a combination of theory and on-the-job training. Don’t reinvent the wheel, but learn from an experienced trainer and take home a working knowledge of FreeRTOS and the ability to use it effectively in your own embedded development project.

Prerequisites

  • Basic familiarity with using a Windows system as an end user
  • Familiarity with embedded C concepts and programming
  • Ability to develop software using C syntax
  • Ability to use embedded compiler and debug tools
  • Basic knowledge of embedded processor development boards

Who should attend?

People with interest in or tasked with development of a resource constrained real-time system like software engineers, field engineers, (project) managers,…

Course Outline

Introduction

  • FreeRTOS
    • overview, market position, ”free” in FreeRTOS, free software, open source, modified GPLv2, SW architecture, features, hard/firm/soft real-time, RTOS vs. Linux,…
  • LPCXpresso
    • download, install, import example workspace
  • Download FreeRTOS

Task Management

  • tasks
    • what is a task?
    • crude loop periodic delay, task parameter, priorities, starvation,…
    • creation, states, priorities, idle task, deletion,…
    • TaskDelay, taskDelayUntil, polling vs. event driven, idle hook,…
  • scheduling
    • determinism, multitasking, endless loop, cyclic executives, issues with interrupts, non-/preemptive, prioritized preemptive, rate monotonic, deadline, cooperative, hybrid

Queue Management

  • What is a queue?
  • creation, send, receive,…
  • blocking on read/write,…
  • With multiple tasks blocking who will run first?
  • Large sets of data and queues.
  • Indirect/Direct synchronous and asynchronous message passing.

Interrupt Management

  • What is Interrupt vs. Polling?
  • Hardware-, Software-interrupts.
  • What if two interrupts arrive at the same time?
  • What is reentrant code?
  • What is an event?
  • What kind of events do you know?
  • What is a Semaphore and what can it be used for?
  • What kind of Semaphores do you know?
  • Signal/Wait pattern, state diagram, event states of binary semaphore…
  • Counting semaphores
  • Queues and ISRs
  • deferred interrupt processing, interrupt handlers, XXXFromISR(), task with interrupt synchronization, efficient queue usage even from within an interrupt, interrupt nesting…

Resource Management

  • concurrency, concurrent read/writes
  • mutual exclusion, critical sections, suspending/locking the scheduler, mutexes, priority inversion, priority inheritance, deadlock, gate-keeper tasks, mutex vs. semaphore…

Memory Management

  • memory types, fragmentation, memory exhaustion, memory allocation patterns, dynamic memory allocation in kernel
  • memory allocation schemes,
    xPortGetFreeHeapSize(),…

Trouble Shooting

  • spelunking, project planning, firmware standard, code review, binutils,…
  • debugging by stopping - FreeRTOS Simulator - State viewer,…
  • printf-stdarg.c, stack overflow and how to detect it
  • heap overflow and how to detect it
  • task statistics, run time statistics
  • profiling, tracing
  • common sources of error

FreeRTOS-MPU

  • memory management
  • user vs. privileged mode, access permission, defining MPU regions, linker, practical usage tips
  • find out why a program failed

A customized version of this training is offered by FreeRTOS.

Remember, purchasing from FreeRTOS helps support the FreeRTOS project! 

All Public Events

Embedded Linux: From Systems Architecture to Real-Time

private, 5-day training class
booked
title-1
20 May 2019
Graz/Austria, in German/English TBD
GUARANTEED TO RUN

The Yocto Project - An Overview

private, in-house 4-day training class
booked
title-1
04 Jun 2019
Affing/Germany, German/English (TBD)
GUARANTEED TO RUN

The Yocto Project - An Overview

private, 4-day training class
booked
title-1
24 Jun 2019
Tuttlingen/Germany, German/English (TBD)
GUARANTEED TO RUN

Embedded Linux: From Systems Architecture to Real-Time

public, 5-day training class
book until: 01 Jun 2019
title-1
01 Jul 2019
Munich/Germany, in German

The Yocto Project - An Overview

public, 4-day training class
book until: 08 Jun 2019
title-1
09 Jul 2019
Essenhorst/Germany

The Yocto Project - An Overview

private, 4-day training class
book until: 16 May 2019
title-1
16 Jul 2019
Munich/Germany, in German

LFD301 Introduction to Linux, Open Source Development, and GIT

private, 4-day training class
book until: 18 May 2019
title-1
23 Jul 2019
Abstatt/Germany, in German

Pick a Training

public/private, 2 to 5 day training class
book until: 25 Jul 2019
title-1
26 Aug 2019
EU, German/English (TBD)

Embedded GNU/Linux Kernel Internals and Device Drivers

public, 5-day training class
book until: 26 Jul 2018
title-1 title-2
26 Aug 2019
Vienna/Austria, German/English (TBD)
GUARANTEED TO RUN from 3 trainees

The Yocto Project - An Overview

private, in-house 4-day training class
book until: 25 Jul 2019
title-1
27 Aug 2019
EU, German/English (TBD)
GUARANTEED TO RUN from 2 trainees

The Yocto Project - An Overview

public, 4-day training class
book until: 09 Aug 2019
title-1
03 Sep 2019
Mainz/Germany, in German

The Yocto Project - An Overview

private, 4-day training class
book until: 27 Jul 2019
title-1
10 Sep 2019
Europe

Introduction to Embedded Linux and Yocto

public, 5-day training class
book until: 17 Aug 2019
title-1
16 Sep 2019
Munich/Germany, in German or English TBD

Embedded Linux: From Systems Architecture to Real-Time

public, 5-day training class
book until: 17 Aug 2019
title-1
16 Sep 2019
Munich/Germany, in German

The Yocto Project - An Overview

public, 4-day training class
book until: 31 Aug 2019
title-1 title-2
01 Oct 2019
Vienna/Austria, German/English (TBD)
GUARANTEED TO RUN from 3 trainees

LFD460 Embedded Linux Development with Yocto Project

public, 4-day training class
book until: 03 Aug 2019
title-1
07 Oct 2019
Abstatt/Germany, in German

The Yocto Project - An Overview

private, in-house 4-day training class
book until: 14 Sep 2019
title-1
15 Oct 2019
EU, German/English (TBD)
GUARANTEED TO RUN from 2 trainees

ELCE

ELCE 2019, OE Dev day, Yocto Dev day
4-days
title-1
26 Oct 2019
Lyon, France

The Yocto Project - An Overview

public, 4-day training class
book until: 05 Oct 2019
title-1
05 Nov 2019
Munich/Germany, in German

The Yocto Project - An Overview

public, 4-day training class
book until: 11 Oct 2019
title-1
12 Nov 2019
Mainz/Germany, in German

LFD301 Introduction to Linux, Open Source Development, and GIT

private, 4-day training class
book until: 22 Sep 2019
title-1
18 Nov 2019
Abstatt/Germany, in German

Introduction to Embedded Linux and Yocto

public, 5-day training class
book until: 26 Oct 2019
title-1
25 Nov 2019
Munich/Germany, in German or English TBD

Embedded Linux: From Systems Architecture to Real-Time

public, 5-day training class
book until: 26 Oct 2019
title-1
25 Nov 2019
Munich/Germany, in German

The Yocto Project - An Overview

private, in-house 4-day training class
book until: 19 Oct 2019
title-1
03 Dec 2019
EU, German/English (TBD)
GUARANTEED TO RUN from 2 trainees

Introduction to Embedded Linux and Yocto

public, 5-day training class
book until: 09 Nov 2019
title-1 title-2
09 Dec 2019
Vienna/Austria, German/English (TBD)
GUARANTEED TO RUN from 3 trainees