- Qu'est-ce que RTOS?
- Pourquoi RTOS ??
- Différence entre le système d'exploitation en temps réel et le système d'exploitation
- Types de RTOS
- Avantages de l'utilisation de RTOS gratuit
- Quelques problèmes majeurs liés au RTOS
- Comment utiliser RTOS
Les systèmes embarqués ont un large éventail d'applications dans tous les appareils électroniques qui nous entourent, un exemple évident est le mini ordinateur portable que nous transportons avec nous tout le temps, oui je fais référence à nos téléphones portables.
Chaque fois qu'un système embarqué entre en scène, il s'agit toujours d'une combinaison de matériel comme des microcontrôleurs ou des microprocesseurs et des logiciels comme un micrologiciel ou un système d'exploitation. Un système d'exploitation constitue la base de tous les appareils électroniques et gère à la fois le matériel et le logiciel de tout appareil électronique. Le terme système d'exploitation n'est pas seulement limité à Unix et Windows pour les ordinateurs, mais peut également s'étendre aux microcontrôleurs. Un tel système d'exploitation qui peut fonctionner sur des microcontrôleurs est appelé système d'exploitation en temps réel. Ici, nous allons en apprendre davantage sur RTOS et les applications du système d'exploitation en temps réel.
Qu'est-ce que RTOS?
Le système d'exploitation en temps réel, communément appelé RTOS, offre au contrôleur la capacité de répondre aux entrées et d'effectuer des tâches dans un délai spécifique en fonction de la priorité. À première vue, un RTOS peut ressembler à n'importe quel autre programme ou micrologiciel intégré, mais il est construit sur l'architecture d'un système d'exploitation. Par conséquent, comme tout système d'exploitation, RTOS peut permettre à plusieurs programmes de s'exécuter en même temps en prenant en charge le multiplexage. Comme nous le savons, le cœur d'un processeur ou d'un contrôleur ne peut exécuter qu'une seule instruction à la fois, mais le RTOS a quelque chose appelé le planificateurqui décide quelle instruction exécuter en premier et exécute ainsi les instructions de plusieurs programmes les unes après les autres. Techniquement, un RTOS ne crée une illusion de prise multiple qu'en exécutant des instructions parallèles une à la fois.
Cela rend RTOS adapté à diverses applications dans le monde réel. Dans RTOS pour toute entrée chaque fois qu'une logique a été évaluée qui donne la sortie correspondante. Cette logique est mesurée sur la base non seulement de la créativité logique, mais également de la durée pendant laquelle la tâche spécifique a été exécutée. Si un système ne parvient pas à exécuter une tâche pendant cette durée spécifique, on parle de défaillance du système.
Pourquoi RTOS ??
- Disponibilité des pilotes: De nombreux pilotes sont disponibles dans RTOS, ce qui nous permet de les utiliser directement pour diverses applications.
- Fichiers planifiés: RTOS s'occupe de la planification, donc au lieu de nous concentrer sur la planification de tout système, nous pouvons simplement nous concentrer sur le développement de l'application. Par exemple, les fichiers de planification de tâches sont utilisés pour définir certaines actions chaque fois qu'un ensemble de conditions est rempli. RTOS utilise certains algorithmes avancés pour la planification des états généralement en cours d'exécution, prêts et bloqués qui, lors de l'exécution de RTOS, se concentrent davantage sur le développement d'applications que sur la planification.
- Flexibilité d'ajout de fonctionnalités: dans RTOS, même si vous souhaitez ajouter de nouvelles fonctionnalités, vous pouvez simplement l'ajouter sans perturber les fonctionnalités existantes
Différence entre le système d'exploitation en temps réel et le système d'exploitation
Il existe diverses différences entre le système d'exploitation en temps réel et les systèmes d'exploitation comme Windows, Linux, etc.
S. Non | Système opérateur | Système en temps réel |
1 | Le partage du temps est la base de l'exécution des processus dans le système d'exploitation | Les processus sont exécutés en fonction de l' ordre de leur priorité |
2 | Le système d'exploitation agit comme une interface entre le matériel et le logiciel d'un système | Le système en temps réel est conçu pour être exécuté pour les problèmes du monde réel |
3 | La gestion de la mémoire n'est pas un problème critique lors de l'exécution du système d'exploitation | La gestion de la mémoire est difficile car basée sur le problème en temps réel, la mémoire est allouée, ce qui est en soi critique |
4 | Applications: bureau, centres de données, système pour la maison, etc. | Applications: Contrôle d'aéronefs ou de réacteurs nucléaires, équipements de recherche scientifique |
5 | Exemples: Microsoft Windows, Linux, OS | Exemples: Vx Works, QNX, Windows CE |
Types de RTOS
Nous pouvons classer le système d'exploitation en temps réel principalement en trois parties, à savoir
- Système d'exploitation en temps réel dur
- Système d'exploitation doux en temps réel
- Système d'exploitation en temps réel ferme
1. Système d'exploitation en temps réel dur
Commençons par comprendre ce type de système d'exploitation à l'aide d'un exemple, l'exemple en direct est le système de contrôle de vol. Dans le système de commande de vol, quelles que soient les tâches confiées par le pilote sous la forme d'une entrée, elles doivent être effectuées à temps. Dans un système d'exploitation en temps réel difficile, les pannes du système peuvent être tolérées. Les caractéristiques du RTOS dur sont:
- Pour effectuer des tâches à temps
- Le non-respect de la date limite est fatal
- Temps de réponse garanti pour les pires cas
- Peut entraîner une défaillance du système
2. Système d'exploitation en temps réel doux
L'exemple le plus simple d'utilisation de Soft RTOS est la base de données en ligne, car dans Soft RTOS, le paramètre qui nous préoccupe le plus est la vitesse. Par conséquent, les fonctionnalités de Soft RTOS sont:
- Les tâches doivent être effectuées le plus rapidement possible
- L'achèvement tardif des tâches n'est pas souhaitable mais pas fatal
- Il existe une possibilité de dégradation des performances
- Ne peut pas conduire à une défaillance du système
3. Système d'exploitation en temps réel ferme
Le bras de robot qui sert à prélever des objets peut être considéré comme l'un des exemples de la firme RTOS. Ici, au sein de cette entreprise RTOS même si le processus est retardé, il est toléré.
Avantages de l'utilisation de RTOS gratuit
Voici les avantages de l'utilisation de RTOS dans vos applications.
- Aucun problème de pare-feu
- Faible bande passante pour des performances améliorées
- Amélioration de la sécurité et de la confidentialité
- Faible coût, en raison de la réduction des composants matériels et logiciels utilisés pour le développement
Quelques problèmes majeurs liés au RTOS
Maintenant, malgré de nombreux avantages pour RTOS dans une application du monde réel, il présente également divers inconvénients. Certaines des questions qui y sont liées sont discutées ici.
- Les interruptions sont normalement utilisées dans les programmes pour arrêter le programme en cours d'exécution afin de détourner le flux vers une autre partie importante du code. Ici, dans RTOS car un temps de réponse rapide est nécessaire; il est recommandé que les interruptions soient désactivées le moins longtemps possible.
- Depuis, le noyau doit également répondre pour divers événements, il est nécessaire d'avoir une taille de noyau inférieure afin qu'il s'intègre correctement dans la ROM
- Les fonctionnalités sophistiquées de RTOS devraient être supprimées car il n'y a pas de concept de mémoire virtuelle en tant que telle.
Comment utiliser RTOS
Maintenant que vous savez ce qu'est RTOS et où vous pouvez l'utiliser, pour démarrer avec RTOS, vous devez normalement utiliser l'environnement de développement Tornado ou FreeRTOS. Jetons un bref regard sur ces deux environnements de développement.
Tornade - VxWorks
Tornado est un environnement intégré pour développer des applications RTOS intégrées en temps réel sur le système cible. Tornado se compose de trois éléments de base qui sont énumérés ci-dessous.
1) VxWorks
2) Outils de création d'applications (compilateur et programmes associés)
3) Environnement de développement intégré, qui peut gérer, déboguer et surveiller l'application VxWorks
VxWorks est un système d'exploitation en temps réel en réseau. Pour commencer avec VxWorks, nous devrions avoir un kit de développement (cible) avec un poste de travail. Ici, le kit de développement n'est rien d'autre que l'hôte ou le composant cible qui communique avec le serveur cible sur le poste de travail. La cible ici connecte les outils de tornade tels que le shell et le débogueur. Par conséquent, en utilisant VxWorks, nous allons configurer et construire les systèmes tandis que Tornado nous fournit une interface utilisateur graphique et des outils de ligne de commande pour la configuration et la construction.
Le point très important qui apparaît ici est que lors de l'installation de tornado dans votre système, le répertoire d'installation doit utiliser les chemins d'accès comme:
installDir / target. Par exemple, si vous souhaitez stocker votre tornade dans C: \ tornado sur un hôte Windows, le chemin complet doit être identifié dans ce cas comme installDir / target / h / vxworks.h.
Ici, nous ne discuterons pas en détail des fonctionnalités des travaux Vx (nous laisserons cela pour le prochain tutoriel) mais nous discuterons comment le développement peut être fait en utilisant C ++ dans Vxworks en utilisant WindRiver GNU. WindRiver GNU nous aide à fournir une analyse graphique concernant l'interruption impliquée pendant l'exécution ainsi que le rapport d'utilisation de la mémoire.
Par exemple, la vue ci-dessus de WindRiver explique le numéro de processeur associé ainsi que la priorité des tâches (tLowPri & tHighPri). L'état inactif, c'est-à-dire la ligne de couleur verte, indiquait la période pendant laquelle le processeur n'est pas dans son état de fonctionnement, ce qui est observé toutes les quelques secondes. t1, t7, t8 et t9 ne sont que les différents processeurs utilisés. Ici, nous sélectionnons uniquement le processeur t7.
Par conséquent, ce Windriver est capable d'appeler à la fois les sous-routines VxWorks et du module d'application. Vous pouvez lancer l'application Windriver soit à partir de la barre d'outils de lancement de la tornade (bouton -> i) plus tard, cliquez sur le menu puis cliquez sur shell. Enfin, à partir de l'invite de commande, tapez «> serveur cible windsh».
Maintenant, pour programmer en utilisant C ++, il est important d'inclure le composant INCLUDE_CPLUS_DEMANGLER, ce composant démangler permet aux symboles du shell cible de renvoyer des formes lisibles par l'homme des noms de symboles C ++. Avant de télécharger le module C ++ sur la cible Vxworks, suivez le processus connu sous le nom de grignotage. Ici, grignoter fait référence à une étape supplémentaire de traitement de l'hôte.
Compilez le programme source de l'application C ++ et obtenez par exemple le fichier hello.cpp. Exécutez-le plus tard pour grignoter le.o et compiler le fichier ctdt.c généré. De plus, liez l'application avec ctdt.o pour générer un module téléchargeable, hello.out dans VxWorks. La sortie après l'exécution de ce VxWorks sera un fichier de création qui sera utilisé sur une cible.
RTOS gratuit
Généralement, chaque fois que nous commençons avec RTOS, nous préférons généralement Vx Works RTOS. Mais voici une discussion en bref concernant le Free RTOS, qui peut également être utilisé par les débutants pour passer par le concept de système d'exploitation en temps réel. Free RTOS est développé par Richard Barry et l'équipe FreeRTOS, il appartient également à Real time ingénieurs ltd mais il est gratuit et peut être simplement téléchargé en cliquant sur le lien ci-dessous
Télécharger Free ROTS
La dernière version de RTOS gratuit utilisée au moment de cet article est la version 10, appelée FreeRTOS V10.
Le plus grand avantage du RTOS gratuit qui le rend supérieur par rapport aux autres RTOS est son comportement indépendant de la plate-forme en termes de matériel, c'est-à-dire que le code c que nous allons utiliser pour exécuter un système d'exploitation peut fonctionner sur diverses plates-formes ayant une architecture différente. Par conséquent, que vous utilisiez le microcontrôleur 8051 ou le dernier microcontrôleur ARM, le code que vous avez écrit avec le processus d'exécution sera similaire pour les deux.
Il existe de nombreux autres avantages à utiliser RTOS gratuit sur des œuvres Vx et d'autres outils d'exploitation RTOS. Certains d'entre eux peuvent être déclarés comme:
- Fournit des tests plus faciles
- Promeut le concept de réutilisabilité du code
- Moins de temps d'inactivité
- Maintenance aisée
- Résumé des informations de synchronisation
De plus, le noyau de base, où le noyau fait référence au composant central d'un système d'exploitation présent dans le RTOS gratuit, le rend accessible à diverses applications. Comme il est facile d'attacher des modules étendus sur les systèmes d'exploitation pour obtenir plus d'applications, le RTOS devient plus puissant.
L'un des exemples d'utilisation de RTOS gratuit peut être expliqué en utilisant le concept de combinaison de Free RTOS avec Nabto. Nabto est un appareil Web gratuit utilisé pour transférer les informations de l'appareil vers le navigateur.
Par conséquent, la combinaison de Free RTOS avec Nabto en fait un petit morceau de code C comme expliqué dans la figure a. Aujourd'hui, l'Internet des objets (IOT) est à la mode et chaque appareil IOT auquel nous accéderons a une URL unique sur Internet et la technologie permet des connexions point à point sécurisées et à très faible bande passante. En l'absence de connexion Internet, cette combinaison peut être utile. Par conséquent, le RTOS gratuit est un choix populaire pour la mise en œuvre de l'IOT.