How do you use RT Linux with the Raspberry Pi support package?

3 views (last 30 days)
I'm using the MATLAB/Simulink Hardware Support package for Raspberry Pi, and I replaced the kernel used in the included Raspberry Pi firmware with a fully preemptible real-time kernel as per these instructions: https://autostatic.com/2017/06/27/rpi-3-and-the-real-time-kernel/. My issue is that, when I test the kernel using cyclictest and generate some load using hackbench (commands shown below), I get latencies ranging from 15-4000 microseconds, indicating that the kernel is being preempted.
cyclictest -m -t1 -p 99 -n -i 500 -l 100000
hackbench -l 1000000
To isolate the issue, I tried the same test on a Raspberry Pi running a clean installation of Raspbian Lite from the Raspberry Pi website. I did not install any MATLAB firmware on this device and used the same real-time kernel as before. Using the same test as above, I found that the kernel latencies never exceeded 69 microseconds, meaning that the kernel was working as it should.
This indicates that the breakdown in the kernel's preemption model must be caused by the MATLAB firmware. Does anyone know why this might be the case?

Accepted Answer

Yahia Ali
Yahia Ali on 2 Jun 2018
Edited: Yahia Ali on 2 Jun 2018
Update: This issue was resolved by upgrading the packages included with the MATLAB/Simulink install of Raspbian prior to building the RTLinux kernel:
sudo apt-get update && sudo apt-get upgrade -y

More Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!