Skip to content
CEC Semenster Undefined

Multitasking From Scratch

Charles J. Lord -
August 26,
2013
Overview & RTOS / Multitasking Basics
We will look at the basic needs for a multitasking application and will begin work on a simple example. We will set up our application requirements and look at ways that we can meet these needs through two methods: a simple, software-based state machine and a simple, non-prioritized round-robin.
Course Resources
Special Educational Materials
Listen/Download Archive (mp3)
August 27,
2013
State Machine: Part I
We begin work on the simple state machine solution, defining and coding our states and setting up communications between the states as well as establishing priorities.
Course Resources
Special Educational Materials
Listen/Download Archive (mp3)
August 28,
2013
State Machine: Part II / Round-Robin Part I
We will finish up our state machine and begin work on another approach, that of a simple round-robin loop of tasks.
Course Resources
Special Educational Materials
Listen/Download Archive (mp3)
August 29,
2013
State Machines Part III Round Robin
In this lesson, we finish up both approaches to our "homemade" multitasking system and look at the differences and limitations of our approaches.
Course Resources
Special Educational Materials
Listen/Download Archive (mp3)
August 30,
2013
Wrap Up & Comparison With a Full RTOS
In our final lesson, we will compare the two approaches we took and compare these to a solution that is built with a commercial RTOS (MQX).
Course Resources
Special Educational Materials
Listen/Download Archive (mp3)
charles-lord
Instructor
Charles J. Lord

Charles J. Lord, PE is an embedded systems consultant and trainer with over 40 years' experience in system design and development in medical, military, and industrial applications. For the last twelve years, he has specialized in the integration of communication protocols into clients' products, including USB, Ethernet, and low-power wireless including ZigBee, 6LoWPAN, LoRa, and Thread. He has taught classes in these protocols for Freescale, Renesas, various universities and conferences including ESC and Arm TechCon. He has been a design partner with Freescale/NXP, Microchip, and Renesas. He also teaches webinars for various clients on IoT and embedded systems topics. He earned his BS in electrical engineering from N.C. State University in Raleigh, N.C. and provides training and consulting services through his company, Blue Ridge Advanced Design, in Asheville, N.C. He is a licensed professional engineer in NC and a senior member of the IEEE. In his volunteer work at the IEEE, he has served at many levels from local to regional to board committees. He is currently the chair of the IEEE Western NC Section, NC Council and was general chair of IEEE SoutheastCon 1995 and 2017