We implemented earliest-deadline-first task scheduling in the FreeRTOS kernel.
All the code that's relevant to the project is located in the FreeRTOS/FreeRTOS/Demo/Posix_GCC and task_generator directories.
To generate a task set, go to the task_generator directory and run python3 UUniFast.py [num tasks] [total utilization] [min period] [max period] [probability of a checkpointed task being generated] [output file]. Then, run python3 TaskFuncGen [input csv file] source.c to generate the C code for the task set. Then copy source.c to FreeRTOS/FreeRTOS/Demo/Posix_GCC/
The file that holds all the task code is source.c, located in FreeRTOS/FreeRTOS/Demo/Posix_GCC.
Once a source.c file is placed in that directory, make sure you're in FreeRTOS/FreeRTOS/Demo/Posix_GCC and run make posix_demo.
This should create a build directory FreeRTOS/FreeRTOS/Demo/Posix_GCC/build with an executable called posix_demo inside.
This is the executable you should run.