• S'authentifier
  • Imprimer
  • Dernière modification le 3 May 2013

APOS tronik : APOS Version électronique

Présentation

Dans le soucis de vous faciliter la vie, le groupe d'AP²C a développé, conjointement avec notre système d'exploitation UNIX nommé APOS, une version d'APOS spécifiquement prévue pour être utilisée sur n'importe quel montage possédant des processeurs, contrôleurs, microprocesseurs ou micro-contrôleurs, supporté par APOS tronik. Le but de ce système d'exploitation est identique au but des systèmes d'exploitations présents sur vos ordinateurs, soit : couper tout lien direct entre le matériel et le « logiciel » qui contiendra le code des tâches que devra effectuer votre unité logique programmable.

Fonctionnement

Le fonctionnement est très simple : le système d'exploitation sera exécuté en premier sur l'unité logique programmable (ULP) et initialisera comme il le faut et comme vous le souhaiter celle-ci. Une fois cette tâche accomplie, votre code sera exécuté. Pour utiliser pleinement la puissance d'APOS tronik, vous ne devrez vous servir que des fonctions que le système d'exploitation vous offre. Ceci est pour deux raisons majoritaires : la première est que le système d'exploitation utilise d'une manière très précise et tente de contrôler au mieux l'ULP. Le fait de vous servir, par vous-même, des fonctions de l'ULP et non du système d'exploitation risquent de générer un dysfonctionnement de ce dernier. La seconde raison est ce que l'on appelle la portabilité. En effet, dans un cas où vous développer intégralement par vous même le code exécuté par l'ULP, vous le coderez pour une ULP spécifique. Dès lors que vous utilisez un système d'exploitation tel que APOS tronik, votre code n'utilisera que les fonctions du système d'exploitation et c'est le système d'exploitation uniquement qui se charge d'utiliser tel ou tel code en fonction du processeur sur lequel il est exécuté. En d'autre termes, si vous avez développé un programme pour une ULP et que vous voulez utiliser ce même programme pour une autre ULP, il vous suffira de reconfigurer APOS tronik, recompiler votre code, le charger dans la nouvelle ULP et tout fonctionnera comme vous l'avez décidé.

Par analogie, nous pouvons donc conclure cette partie sur le fait que notre système d'exploitation APOS tronik n'est rien d'autre qu'un système d'exploitation temps réel comme nous le trouvions sur nos ordinateurs auparavant (Ex: DOS).

Intérêt d'un système d'exploitation

Certains intérêts peuvent déjà se faire sentir. A commencer par le dernier fait évoqué dans la partie précédente qui consiste en la portabilité de votre code exécuté par l'ULP. Pour mieux comprendre l'utilité, j'illustrerai mes explications d'exemples précis. Et pour commencer, nous allons nous imaginer un montage comprenant une ULP reliée à une autre ULP (ou autre) via un BUS série asynchrone (Ex: ports série de votre PC). Il y a alors deux possibilités : la première est que cette ULP possède ce que l'on appelle un UART ce qui permet de décharger totalement la gestion de la communication série asynchrone du code et sera géré directement en hardware par l'ULP elle-même et la seconde possibilité est qu'il n'y a pas d'UART de disponible et alors là, vous aller devoir coder votre propre gestionnaire de communication. Maintenant, si votre projet utilise dans un premier temps une ULP avec UART, votre code sera très simple. Maintenant, vous décidez de modifier le montage pour le simplifier et décidez de changer d'ULP, votre code sera à reprendre complètement pour gérer la communication en software. Dans le cas de l'utilisation d'APOS tronik, le système d'exploitation mettra à disposition des fonctions de communications pour gérer un maximum de protocoles et cela indifféremment du processeur utilisé. Cela signifie que dans le cas précédent, il vous suffira de configurer APOS tronik pour la nouvelle ULP, de le recompiler et de le charger dans cette dernière et votre code n'aura en aucun cas besoin d'être reprogrammée. J'ai traité ici de la communication série asynchrone, mais ceci peut valoir pour beaucoup d'autres choses, comme le types de ports présent sur le processeur, leur nombre, leur utilité, la gestion de l'heure et de la date, les différentes facilités d'utilisation du à un système hardware plus complet, etc...

Nous pouvons dores et déjà faire remarquer la formidable faciliter à porter un projet sur n'importe quelle ULP gérée par notre système d'exploitation. Ceci est d'autant plus important que, en grande majorité, les projets d'électronique sont créé dans une attente personnelle des caractéristiques du projet. Cependant, ces caractéristiques ne sont pas forcément celles que désirent d'autres personnes à qui votre projet via quelques modifications seraient beaucoup plus adaptées. Grâce à l'utilisation de notre système d'exploitation dans votre projet, vous pourrez sans grande difficulté, retracer un nouveau schéma avec pourquoi pas, une autre ULP ; pourvu que toute les fonctionnalités codée dans votre montage précédent soient toujours supportées et que d'autres ne soient pas ajoutées, vous n'aurez aucunement besoin de modifier votre code précédent : vous n'aurez plus qu'a reconfigurer APOS tronik, le recompiler et intégrer le binaire dans l'ULP, et s'il a été correctement configuré, vous pourrez jouir pleinement de la nouvelle version de votre projet.

Pour conclure sur ce second point important, APOS tronik peut vous permettre de développer plus simplement des nouvelles version de vos projets pour l'adapter à une plus grande quantité de personnes.

Enfin, le troisième grand intérêt est la simplicité qu'il apporte au programmeur. Et pour comprendre ce point, nous allons de suite analyser le schéma de la structures de vos nouveaux montages :

Schéma fonctionnel d'APOS Tronik

Comme vous pouvez le voir sur la figure ci-dessus, APOS tronik est doté d'un grand nombre de fonctionnalités. En particulier, ce système d'exploitation intègre la gestion de différents BUS de communications comme les BUS parallèles, série ou en mode dit « Raw » (c'est à dire que l'on manipule directement les bits des ports sans décrire un protocole générique). A ces BUS, nous devons y placer un protocole de communication, ce qui est aussi fourni par APOS tronik qui gère l'I²C (communication série asynchrone), le RS232 (communication série synchrone (utilisée par les ports série des ordinateurs (mais avec les tensions 0 / +5V et non -12V / +12V)) et sûrement bientôt l'USB. Par l'intermédiaire de la gestion des interruptions qui est faite, vous pourrez utilises les interruptions matérielles mais ceci sous réserve que l'interruption puisse être générée par le matériel avec l'ULP (APOS tronik n'est pas en mesure de générer des interruptions matérielles). Si l'on continue à analyser le schéma, nous pouvons voir la gestion des ports (qui est absolument nécessaire pour les BUS de communication), et la gestion dite « du processeur ». Il est entendu par là, la gestion de tout ce que l'ULP met à notre disposition comme par exemple, la gestion d'une hypothétique UART interne (suivant les ULP), etc. Enfin, les deux autres grandes parties restantes sont surtout des « gadgets » qui peuvent se révéler bien utile. En effet, si cette option est activée, votre ULP peut garder en mémoire l'heure et la date (selon certaines conditions de fréquence d'utilisation) et vous offre d'autres fonctionnalités multiples et variés comme par exemple, le chiffrement de message, le hashage de données pour obtenir des clefs de validité, etc... Tout ceci est mis à votre disposition via des fonctions qui sont listées dans le « APOS tronik' Hand-Book » que vous trouverez sur le site officiels d'APOS tronik.

Comment utiliser APOS tronik ?

Si vous avez été séduit par le gain de temps et la puissance que peut apporter notre OS pour toutes vos futures réalisations électroniques possédant des ULP, vous vous demandez sûrement comment faire pour utiliser notre système d'exploitation. En effet, nous ne sommes pas sur un ordinateur de bureau : il n'y a en général : ni RAM, ni disque dur, mais que très souvent, une simple ROM (ou EEPROM pour les plus chanceux d'entre nous ☺, il est donc rarement possible de charger au fil du temps, plusieurs code en mémoire. Le problème se résout très simplement par la méthode de compilation utilisée. En effet, nous n'avons nullement besoin de quelque chose de dynamique puisque normalement, le tout reste très statique. Étant donné qu'APOS tronik est écrit en C, vous devrez aussi écrire votre code en C (ce qui permet une grande partie de la portabilité du code). Une fois APOS tronik compilé, votre code sera "linké" à lui et vous n'obtiendrez qu'un unique binaire à enregistrer dans votre ROM (ou autre type de mémoire suivant l'ULP et le schéma d'utilisation utilisé naturellement). Ce binaire contiendra donc APOS tronik qui sera exécuté dès la mise sous tension de l'ULP et qui une fois l'initialisation finie, exécutera votre code. Le code du système d'exploitation ne sera alors exécuté que lorsque vous utiliserez l'une de ses fonctions (ou cycliquement via l'interruption hardware du "timer" si vous avez activé la gestion de l'heure et de la date).

Quelles sont les utilisations possible ?

Il est assez difficile de répondre à cette question vu qu'APOS tronik a été réalisé dans le but d'être le plus générique possible pour être utilisé dans le plus de cas possible pour alléger le travail du programmeur. Normalement, ce système d'exploitation peut être utilisé dans n'importe quel projet électronique mettant en jeu des ULP gérées par APOS tronik ! En effet, APOS tronik ne gère qu'un nombre réduit de ULP, bien que cette liste tende à s'allonger avec le temps. Il est à savoir que nous ne pourrons un jour couvrir l'intégralité des ULP. Toutefois, sachant que notre système d'exploitation est sous la licence GPL, il vous est tout à faire autorisé de modifier les sources pour ajouter une nouvelle fonctionnalité ou pour gérer une nouvelle ULP. Dans ce cas, nous vous invitons fortement à nous envoyer vos modifications pour qu'elles puissent, si elles sont jugées bénéfique pour le système d'exploitation, être intégrées au code source officiel et utilisable par d'autres personnes.

En ce qui concerne des projets du groupe AP²C, APOS tronik sera utilisé dorénavant dans tous les projets utilisant des ULP comme par exemple, notre centrale d'alarme à détection d'incendie, notre centrale domotique, notre standard téléphonique et encore bien d'autres choses que nous vous laisserons découvrir avec le temps.

Où trouver APOS tronik ?

Un site entier sera consacré au développement de ce système d'exploitation. Vous y trouverez en particulier les dernières nouvelles, les informations à son propos, les documentations pour l'utiliser au mieux et enfin, les paquetages de sources. Malheureusement par manque de temps, il n'est pas encore fini. Revenez ultérieurement et nous vous communiquerons son adresse.

À Propos des ULP

Pour clôturer cette page d'information sur notre système d'exploitation pour projet d'électronique, je me dois de vous donner une petite explication claire et précise de ce que j'entends par ULP. Tout d'abord, comme énoncé au début de cette page, ULP est l'abréviation de « Unité Logique Programmable ». Cela désigne dans le cas de ce document ci, toute la famille de circuit intégrés pouvant réaliser des tâches par l'intermédiaire d'un programme qui est exécuté se trouvant dans une mémoire. Cela désigne en particulier les processeurs, les contrôleurs, les microprocesseurs et les micro-contrôleurs. Par exemple : la famille des MCS51 d'Intel, des MC68HC11 de Motorola, des PIC de Microchip, etc...