RTOS Development and Analysis
Create a basic Real-Time Operating System (RTOS) with priority-based scheduling from scratch for an Arm Cortex M-series MCU. There are some good web-based courses that can serve as a guide: particularly (https://www.state-machine.com/video-course and https://www.udemy.com/course/rtos-building-from-ground-up-on-arm-processors/) Compare timing metrics for this basic RTOS with established open source RTOSs such as FreeRTOS and others.
Example metrics to be compared are:
- The timing of context switches between a low and high priority task
- the amount of time in which interrupts are disabled, though these can be modified per the team's interest.
Any board similar to the following should work: Arm Cortex M4-based STM32F4 Discovery MCU
Objectives
- Create basic RTOS with priority-based scheduling on ARM Cortex target
- Create and run sample applications on the MCU with high and low priority task using the three RTOSs
- Measure context switching performance and interrupt down-time using digital logic analyzer on a GPIO pin
- Display results graphically
- Analyze results in short paper
Motivations
Conduct a deep dive into RTOS concepts through building one from scratch. Develop familiarity with FreeRTOS—arguably the most widely used RTOS in embedded applications. Develop facility with digital logic analyzer, an important skill for embedded debugging and performance measuring.
Qualifications
Minimum Qualifications:
OS1, OS2, Experience with Embedded Systems
Preferred Qualifications:None Listed
Details
Project Partner:
William Pfeil
NDA/IPA:No Agreement Required
Number Groups:1
Project Status:Accepting Applicants
Keywords:CEmbedded SystemsOperating System (OS)Assembly