Étape 2 pour installer Xenomai sur RaspberryPi 3 modèle B +

Aperçu

La dernière fois, j'ai expliqué la procédure pour construire un noyau pour introduire Xenomai. Cette fois, nous allons construire Xenomai lui-même afin de pouvoir utiliser les fonctions de Xenomai sur le Raspberry Pi. Si Xenomai peut être introduit dans un micro-ordinateur, des opérations nécessitant des performances en temps réel telles que le fonctionnement du robot seront possibles.

Remarques

C'est une continuation de la dernière fois, donc si vous ne l'avez pas encore vu, je vous recommande de le lire en premier.

Procédure pour introduire Xenomai dans RaspberryPi 3 modèle B + Partie 1

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

Les spécifications, etc. sont les mêmes que dans la partie 1, elles sont donc omises.

table des matières

--Le contenu du travail

Le contenu du travail

Travaillez dans l'environnement de compilation croisée dans lequel vous avez construit le noyau pour Xenomai comme auparavant. Xenomai lui-même se trouve également dans le même répertoire de travail. (Le répertoire de travail précédent était kernel_cnst)

Travaillons maintenant. Commencez par créer les bibliothèques Xenomai. Puisqu'il s'agit d'un environnement de compilation croisée, transmettez le chemin d'accès au compilateur croisé. (Identique à ce que j'ai fait la dernière fois)

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-

Ensuite, construisez Xenomai, mais créez un répertoire pour stocker les fichiers construits afin de déplacer les fichiers construits vers RPi.

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/

Si la construction réussit, la compilation est terminée. Compressez les fichiers comme avant et apportez-les à RPi. (SSH peut également être transféré, mais il n'est pas recommandé pour des raisons de sécurité)

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

Amenez-le dans un endroit approprié et décongelez-le -------- Travailler avec RPi à partir d'ici --------

linux_user@TN-201709Fxxxx:~$ cd ~/workspace(C'est un endroit pour décompresser, donc ça peut être n'importe où)
linux_user@TN-201709Fxxxx:~$ tar -zxvf ./target.tgz

Après la décompression, installez le fichier que vous avez importé dans RPi

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

À ce stade également, assurez-vous de faire une sauvegarde de / dev / et / usr / avant l'installation </ font> Ceci termine l'introduction de Xenomai lui-même.

Contrôle de fonctionnement

Lorsque le travail d'installation de Xenomai est terminé sans aucune erreur, exécutez ce qui suit

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

Si cela fonctionne normalement, la latence sera mesurée comme suit.

== 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

Exposant: https://lemariva.com/blog/2018/07/raspberry-pi-xenomai-patching-tutorial-for-kernel-4-14-y (J'ai oublié de prendre ce journal cette fois, alors j'ai fait référence à ce qui précède.)

De cette façon, Xenomai a des performances en temps réel qui peuvent traiter même les opérations d'application en unités de 1 ms. Le code de contrôle de fonctionnement de l'application qui utilise les fonctions Xenomai en langage C est également publié sur le net, vous pouvez donc le vérifier.

J'ai en fait mesuré la latence de Xenomai, mais il fonctionne certainement à 1 ms ± 0,1 ms au plus tard pour les programmes qui s'exécutent à des cycles de 1 ms, et la plupart répondent en 1 ms, donc les micro-ordinateurs basés sur Linux fonctionnent en temps réel. Je pense que c'est la meilleure façon d'y parvenir. (Les données de mesure ne peuvent pas être affichées en raison de diverses circonstances .....)

À la fin

Puisqu'il n'y a presque pas de matériel japonais pour présenter Xenomai, c'est assez difficile à moins que vous ne soyez habitué à lire et à comprendre des documents étrangers. Si vous êtes coincé en essayant de faire de même, n'hésitez pas à demander. (Je répondrai autant que possible)

J'écrirai sur le patch dans un autre article. Je suis désolé pour ceux qui veulent le voir par écrit, mais attendez d'ici là ...

À plus tard!

Recommended Posts

Étape 2 pour installer Xenomai sur RaspberryPi 3 modèle B +
Procédure pour introduire Xenomai dans RaspberryPi 3 modèle B + Partie 1
Le module grovepi de python3.8.1 n'a pas pu être installé sur RaspberryPi Model 3B (résolu)
Étapes pour installer MySQL 8.0 sur CentOS 8.1
Comment installer mysql-connector-python sur Mac
Instructions pour installer matplotlib sur votre Mac
Étapes pour installer VirtualBox sur CentOS
Comment installer Graph-Tool sur macOS
Comment installer pycrypto sur Windows
Comment installer OpenCV sur Mac
Comment installer PyPy sur CentOS
Comment installer TensorFlow sur CentOS 7
Comment installer Maven sur CentOS
Étapes pour installer python3 sur Mac
Comment installer Music 21 sur Windows
Installez Ubuntu 18.04 sur le modèle de la barre tactile MacBook Pro et connectez-vous au WIFI
Comment installer aws-session-manager-plugin sur Manajro Linux
Comment installer drobertadams / toggl-cli sur Mac
[Kivy] Comment installer Kivy sur Windows [Python]
Démarrage USB sur Raspberry Pi 4 modèle B
Installez le module ROS et ROS pour Roomba sur Raspberry Pi 3 et essayez de l'exécuter
Étapes pour installer l'environnement Python sur Ubuntu
Comment installer des packages sur Alpine Linux
5 raisons d'installer Linux sur votre ordinateur portable.
Erreur lors de la lecture de la valeur de SHT31-D avec RaspberryPi 3B +
Comment installer Richzhang / Colorisation sur Windows 10
Comment installer Apache (httpd) sur CentOS7
Installez python sur xserver pour utiliser pip
Comment installer php7.4 sur Linux (Ubuntu)
Comment installer Eclipse GlassFish 5.1.0 sur CentOS7
Comment installer Apache (httpd) sur CentOS8
Package de notes personnelles à installer sur Anaconda
Comment installer NumPy sur Raspeye
Comment installer cx_Oracle sur macOS Sierra
[Version 2020] Comment installer Python3 sur EC2 d'AWS
Comment installer OpenCV sur Jetson Nano Python
Comment installer rapidement h5py sur Windows 10 [non officiel]
Comment installer OpenGM sur OSX avec macports
Comment installer Camunda Modeler sur Manjaro Linux
[Python] Comment installer OpenCV sur Anaconda [Windows]
Comment installer / vérifier Graphviz sur anaconda / windows10
Installez Debian 10 pour utiliser le développement à distance avec Beagle Bone Black
Étapes pour installer le dernier Python sur votre Mac
Très facile à installer SciPy sur Mac OS X
Comment installer Linux sur un PC UEFI 32 bits
Comment installer Git GUI et Gitk sur CentOS
Comment installer Caffe sur OS X avec macports
[AWS EC2] Comment installer Maven sur Amazon Linux 2
Comment installer git sur Linux tel que EC2
J'ai essayé d'installer scrapy sur Anaconda et je n'ai pas pu