GithubHelp home page GithubHelp logo

xor1010101 / rpi-linux-preempt_rt Goto Github PK

View Code? Open in Web Editor NEW

This project forked from raspberrypi/linux

0.0 1.0 0.0 1.24 GB

Linux kernel patched with PREEMPT_RT for the Raspberry PI

License: Other

Makefile 0.28% C 96.64% Assembly 2.02% C++ 0.57% Objective-C 0.29% Shell 0.03% Perl 0.10% Clojure 0.01% Awk 0.01% SourcePawn 0.01% Python 0.03% Yacc 0.02% Lex 0.01% UnrealScript 0.01% Scilab 0.01%

rpi-linux-preempt_rt's Introduction

PREEMPT_RT Linux Kernel for the Raspberry PI

This repository contains a version of the Linux kernel for the Raspberry PI2 already patched and configured with PREEMPT_RT. The only thing you have to do is to build the kernel and flash it on the microcontroller's SD card.

Current configuration

The kernel config (.config) is already set up fully-preemptible.

  • bcm2709_defconfig done
  • Fully Preemptible Kernel (RT)
  • No old dyntics (CONFIG_NO_HZ not set)
  • Default CPUFreq governor (performance)
  • CAN bus subsystem support
    • Microchip MCP251x SPI CAN controllers
    • PEAK PCAN-USB/USB Pro interfaces

Build and Run

  1. Clone the repository git clone --depth=1 https://github.com/dtuchsch/rpi-linux-preempt_rt.git.
  2. Set up your compiler-prefix like this export CCPREFIX=/opt/rpi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-
  3. Open the menuconfig of the kernel configuration and adjust the settings make ARCH=arm CROSS_COMPILE=${CCPREFIX} menuconfig
  4. Build the kernel make ARCH=arm CROSS_COMPILE=${CCPREFIX} zImage modules dtbs -j5
  5. Flash the kernel onto the SD card and you're ready to go.

Real-Time performance

I made some rt tests with cyclictest on the same time executing hackbench to determine the worst-case latencies under high system load. My worst-case latencies were 99 microseconds with the following settings:

cyclictest -p98 -n -t
hackbench -l5000000

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.