A run-to-completion-scheduler (RTCS) module. This scheduler is nonpreemptive with low overhead. All tasks are given a unique priority value. A RTCS scheduler has the characteristic of always running high priority tasks even at the expense of completely starving lower priority tasks.
This module is comes packaged with UNIT tests. The Unity Test Framework is used.
Option 1) Clone this repository into your project directory and add only the src
files to your project.
Option 2) Manually copy and add the src
files to your project. This option doesn't allow you to run UNIT test on the RTCS files.
-
Install Ruby 2.7
-
Ensure you have GCC installed
-
Ensure you have gcc-multilib installed:
sudo apt install gcc-multilib
- Otherwise you may see this error:
fatal error: sys/cdefs.h: No such file or directory
- Otherwise you may see this error:
-
Clone the Unity repository in the same directory level as your project folder.
Open terminal in the RTCS directory, run rake
or rake all
to build and run the UNIT tests.
Your system must be capable of running 32-bit applications. This was done so the unit tests better emulate 32-bit ARM CPUs.
To work around this, comment out all -m32
occurances in target_gcc_32.yml
.