Skip to content

Simon's blog Posts

Egeskov Castle

As summer is upon Denmark (and holiday is upon me), I chose to spend the day at Egeskov Castle. Took the bike, which gave me a nice 2 hour ride in each direction. Weather was great, although a pure blue sky does look rather dull in a photo. I’ve had too many summers with bad weather in Denmark to be able to complain about that though ;)

Leave a Comment

Real-time Linux Kernel drivers – Part 3, the better and best implementations

– continued from part 2.

My first attempt at creating a 100 Hz real-time Linux kernel loop did not work as expected. After getting some good pointers from the linux-rt-users mailing list, and doing some further investigations myself, I decided to reimplement the loop using usleep_range() (further described here). This function basically just sleeps for a specified time (given a minimum and a maximum time to sleep), and thus does not need to have callbacks or similar specified. It should therefore be straight-forward to just create a new thread calling usleep_range() after each iteration, and then schedule it with the real-time scheduler.

4 Comments

Real-time Linux Kernel drivers – Part 1, the backstory

At work I recently had to create a set of real-time Linux drivers for our custom hardware board. I’ve found it to be an interesting experience that I’d like to share – especially since it took some help from the PREEMPT_RT community to get the real-time stuff working correctly.

I’ll divide the story into a few parts, starting with a quick description of the setup.

Leave a Comment