[LINUX] Schritt 2, um Xenomai auf RaspberryPi 3 Modell B + zu installieren

Überblick

Letztes Mal habe ich das Verfahren zum Erstellen eines Kernels für die Einführung von Xenomai erläutert. Dieses Mal werden wir Xenomai selbst erstellen, damit wir die Funktionen von Xenomai auf dem Raspberry Pi nutzen können. Wenn Xenomai in einen Mikrocomputer eingeführt werden kann, sind Vorgänge möglich, die Echtzeitleistung erfordern, z. B. der Roboterbetrieb.

Vorsichtsmaßnahmen

Es ist eine Fortsetzung des letzten Males. Wenn Sie es noch nicht gesehen haben, empfehle ich, es zuerst zu lesen.

Verfahren zur Einführung von Xenomai in RaspberryPi 3 Modell B + Teil 1

https://qiita.com/TordanHatiman/items/697aaa520914e159de2b

Die Spezifikationen usw. sind die gleichen wie in Teil 1, daher werden sie weggelassen.

Inhaltsverzeichnis

--Arbeitsinhalt

Arbeitsinhalt

Arbeiten Sie in der Cross-Compile-Umgebung, in der Sie den Kernel für Xenomai wie zuvor erstellt haben. Xenomai selbst befindet sich ebenfalls im selben Arbeitsverzeichnis. (Das vorherige Arbeitsverzeichnis war kernel_cnst)

Lass uns jetzt arbeiten. Erstellen Sie zunächst die Xenomai-Bibliotheken. Da es sich um eine Cross-Compile-Umgebung handelt, übergeben Sie den Pfad an den Cross-Compiler. (Genau wie beim letzten Mal)

linux_user@TN-201709Fxxxx:~$ cd ~/kernel_cnst
linux_user@TN-201709Fxxxx:~$ cd ./Xenomai3.x/
linux_user@TN-201709Fxxxx:~$ export CROSS_COMPILE=../tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-

Erstellen Sie als Nächstes Xenomai, erstellen Sie jedoch ein Verzeichnis zum Speichern der erstellten Dateien, um die erstellten Dateien in RPi zu verschieben.

linux_user@TN-201709Fxxxx:~$ mkdir ~/kernel_cnst/target
linux_user@TN-201709Fxxxx:~$ ./scripts/bootstrap
linux_user@TN-201709Fxxxx:~$ ./configure CFLAGS="-march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon -ffast-math" --enable-smp --with-core=cobalt
linux_user@TN-201709Fxxxx:~$ make -j4 install DESTDIR=~/kernel_cnst/target/

Wenn der Build erfolgreich ist, ist die Kompilierung abgeschlossen. Komprimieren Sie die Dateien wie zuvor und bringen Sie sie zu RPi. (SSH kann auch übertragen werden, wird jedoch aus Sicherheitsgründen nicht empfohlen.)

linux_user@TN-201709Fxxxx:~$ cd ~/kernel_cnst
linux_user@TN-201709Fxxxx:~$ tar -zcvf xenomai_tools.tgz ./target

Bringen Sie es an einen geeigneten Ort und tauen Sie es auf -------- Von hier aus mit RPi arbeiten --------

linux_user@TN-201709Fxxxx:~$ cd ~/workspace(Es ist ein Ort zum Entpacken, also kann es überall sein)
linux_user@TN-201709Fxxxx:~$ tar -zxvf ./target.tgz

Installieren Sie nach dem Entpacken die Datei, die Sie in RPi gebracht haben

linux_user@TN-201709Fxxxx:~$ sudo cp -rd ./target/dev/* /dev/
linux_user@TN-201709Fxxxx:~$ sudo cp -rd ./target/usr/* /usr/

Stellen Sie auch zu diesem Zeitpunkt sicher, dass Sie vor der Installation eine Sicherungskopie von / dev / und / usr / erstellen </ font> Damit ist die Einführung von Xenomai selbst abgeschlossen.

Funktionsprüfung

Führen Sie die folgenden Schritte aus, wenn die Xenomai-Installationsarbeiten fehlerfrei abgeschlossen wurden

linux_user@TN-201709Fxxxx:~$ sudo /usr/xenomai/bin/latency

Wenn es normal funktioniert, wird die Latenz wie folgt gemessen.

== Sampling period: 1000 us
== Test mode: periodic user-mode task
== All results in microseconds
warming up...
RTT|  00:00:01  (periodic user-mode task, 1000 us period, priority 99)
RTH|----lat min|----lat avg|----lat max|-overrun|---msw|---lat best|--lat worst
RTD|     12.239|     12.693|     19.427|       0|     0|     12.239|     19.427
RTD|     12.291|     12.720|     16.926|       0|     0|     12.239|     19.427
RTD|     12.290|     12.701|     17.447|       0|     0|     12.239|     19.427
RTD|     12.238|     12.709|     14.634|       0|     0|     12.238|     19.427

Aussteller: https://lemariva.com/blog/2018/07/raspberry-pi-xenomai-patching-tutorial-for-kernel-4-14-y (Ich habe dieses Mal vergessen, dieses Protokoll zu erstellen, also habe ich mich auf das oben Gesagte bezogen.)

Auf diese Weise verfügt Xenomai über eine Echtzeitleistung, die sogar Anwendungsvorgänge in Einheiten von 1 ms verarbeiten kann. Der Code für die Überprüfung des Anwendungsbetriebs, der Xenomai-Funktionen in der Sprache C verwendet, wird ebenfalls im Internet veröffentlicht. Sie können dies daher überprüfen.

Ich habe tatsächlich die Latenz von Xenomai gemessen, aber sie läuft bei Programmen, die mit 1-ms-Zyklen ausgeführt werden, und die meisten reagieren in 1 ms, sodass Linux-basierte Mikrocomputer in Echtzeit ausgeführt werden. Ich denke, es ist der beste Weg, dies zu erreichen. (Messdaten können aufgrund verschiedener Umstände nicht gebucht werden .....)

Am Ende

Da es fast keine japanischen Materialien für die Einführung von Xenomai gibt, ist es ziemlich schwierig, wenn Sie nicht daran gewöhnt sind, Materialien aus Übersee zu lesen und zu verstehen. Wenn Sie nicht weiterkommen und versuchen, dasselbe zu tun, können Sie gerne fragen. (Ich werde so viel wie möglich antworten)

Ich werde in einem anderen Artikel über den Patch schreiben. Es tut mir leid für diejenigen, die es schriftlich sehen wollen, aber bitte warten Sie bis dahin ...

Wir sehen uns!

Recommended Posts

Schritt 2, um Xenomai auf RaspberryPi 3 Modell B + zu installieren
Verfahren zur Einführung von Xenomai in RaspberryPi 3 Modell B + Teil 1
Das grovepi-Modul von python3.8.1 konnte nicht auf RaspberryPi Model 3B installiert werden (gelöst)
Schritte zum Installieren von MySQL 8.0 unter CentOS 8.1
So installieren Sie mysql-connector-python auf einem Mac
Anweisungen zur Installation von matplotlib auf Ihrem Mac
Schritte zum Installieren von VirtualBox unter CentOS
So installieren Sie das Graph-Tool unter macOS
So installieren Sie OpenCV auf einem Mac
So installieren Sie PyPy unter CentOS
So installieren Sie TensorFlow unter CentOS 7
So installieren Sie Maven unter CentOS
Schritte zum Installieren von python3 auf einem Mac
So installieren Sie Musik 21 unter Windows
Installieren Sie Ubuntu 18.04 auf dem MacBook Pro Touchbar-Modell und stellen Sie eine Verbindung zu WIFI her
So installieren Sie das aws-session-manager-Plugin unter Manajro Linux
So installieren Sie drobertadams / toggl-cli auf einem Mac
[Kivy] So installieren Sie Kivy unter Windows [Python]
USB-Boot auf Raspberry Pi 4 Model B.
Installieren Sie das ROS- und ROS-Modul für Roomba auf Raspberry Pi 3 und versuchen Sie, es auszuführen
Schritte zum Installieren der Python-Umgebung unter Ubuntu
So installieren Sie Pakete unter Alpine Linux
5 Gründe, Linux auf Ihrem Laptop zu installieren.
Fehler beim Lesen des Werts von SHT31-D mit RaspberryPi 3B +
So installieren Sie Richzhang / Colorization unter Windows 10
So installieren Sie Apache (httpd) unter CentOS7
Installieren Sie Python auf xserver, um pip zu verwenden
Wie installiere ich php7.4 unter Linux (Ubuntu)
So installieren Sie Eclipse GlassFish 5.1.0 unter CentOS7
So installieren Sie Apache (httpd) unter CentOS8
Persönliches Notizpaket zur Installation auf Anaconda
So installieren Sie NumPy auf Raspeye
So installieren Sie cx_Oracle unter macOS Sierra
[Version 2020] So installieren Sie Python3 auf EC2 von AWS
So installieren Sie OpenCV auf Jetson Nano Python
So installieren Sie h5py schnell unter Windows 10 [Inoffiziell]
So installieren Sie OpenGM unter OSX mit Macports
So installieren Sie Camunda Modeler unter Manjaro Linux
[Python] So installieren Sie OpenCV unter Anaconda [Windows]
So installieren / überprüfen Sie graphviz unter anaconda / windows10
Installieren Sie Debian 10, um Remote Development mit Beagle Bone Black zu verwenden
Schritte zum Installieren des neuesten Python auf Ihrem Mac
Sehr einfach, SciPy unter Mac OS X zu installieren
So installieren Sie Linux auf einem 32-Bit-UEFI-PC
So installieren Sie Git GUI und Gitk unter CentOS
So installieren Sie caffe unter OS X mit Macports
[AWS EC2] So installieren Sie Maven unter Amazon Linux 2
So installieren Sie Git unter Linux wie EC2
Ich habe versucht, Scrapy auf Anaconda zu installieren und konnte es nicht