Panier d'achat :
0 article / 0.00 €

[s'identifier]


Modules ROVIN

  Outils de développements    Starter-kits (8 à 32 bits)    Modules ROVIN
       
Le multitâches ... avant le "ROVIN™"
Développer des applications multitâches professionnelles requérait jusqu'alors de très grandes compétences techniques associées à un investissement en durée de développement et en matériel plus où moins important. Outre une parfaite maîtrise de la structure interne du microcontrôleur utilisé, il vous fallait prévoir l'acquisition d'un compilateur "C", d'un programmateur, d'un émulateur et bien sûr d'un système d'exploitation temps réel (pouvant être soumis suivant les cas au versement de royalties) qui s'avéraient être autant de contraintes sérieuses qui réservaient ce type de réalisations à un nombre limité de personnes. Quand bien même il vous était possible d'acquérir l'ensemble de la chaîne de développement, la maîtrise parfaite du mécanisme de gestion des tâches n'etaient pas chose facile à assimiler car l'écriture de votre code était fortement liée et tributaire aux spécifications du noyau temps réel de gestion multitâches (RTOS), rendant ainsi sa relecture et sa maintenance quasiment impossible par une personne non initiée.
   
  
Le multitâches ... APRES le "ROVIN™"
Enfin tout ceci était vrai jusqu'à l'arrivée du ROVIN™ qui de part son concept novateur change radicalement la "donne" dans le petit monde des systèmes temps réel embarqués en donnant un  "grand coup de pied" aux idées reçues sur ce sujet.
 
- Si l'on compare en premier lieu les possibilités de développement apportées par le ROVIN™
   vis-à-vis de systèmes similaires, on se rend très rapidement compte que vous pouvez acquérir:
   Le module ROVIN™ (avec son système d'exploitation temps réel prêt à l'emploi ne nécessitant
   aucun royaltie supplémentaire) + son câble de téléchargement + une offre logiciel complète
   intégrant: un éditeur, un compilateur "C", un linker, un module de téléchargement et de Débug   
   (émulateur) vous permettant d'exploiter instantanément l'ensemble pour moins de 140 € HT !
 
   Faites vos comptes, à possibilités similaires, cela revient déjà près de 4 à 10 fois moins chers que
   la plupart des solutions concurrentes... 
    
- Pourtant la grande supériorité du ROVIN™ ne se limite pas à son tarif extrêmement compétitif
  mais surtout à sa pholosophie de développement et à sa gestion du "multitâches". 
 
Spécialement adapté à son système d’exploitation interne, le langage de programmation du ROVIN™ est un dérivé du langage "C". Toutefois, le système d’exploitation du ROVIN™ (le "ROVIN-VMS") reste différent des machines virtuelles telles que le Java™ et autres RTOS embarqués.
 
Ainsi sa gestion multitâches peut être à titre d’image comparée au fonctionnement de Linux en ce sens que le "ROVIN-VMS" est capable de traiter des programmes exécutables en même temps. Dès lors, au même titre qu'un PC qui vous permettra par exemple d'exécuter en même temps un logiciel de traitement de texte, un logiciel de dessin et un programme de navigation Internet ou tout aussi bien exécuter qu’un seul de ces programmes à la fois (chacun d’entre eux étant supporté par le système d’exploitation), le ROVIN™ pourra exécuter un seul et unique programme ou plusieurs programmes à la fois de façon totalement indépendants. La seule différence est que le ROVIN™ executera tous les programmes depuis leur début.
 
Dès lors, l’utilisateur n’aura pas à se soucier de la façon dont fonctionne le mode multitâches. La seule chose dont il aura à s’assurer sera que chaque programme exécuté n’utilise pas plus que la mémoire autorisée par le système d’exploitation "ROVIN-VMS".

D’un point de vue utilisateur, vous ne verrez pas de différence technique entre l’exécution d’un seul programme ou de plusieurs programmes à la fois. Chaque programme sera exécuté indépendamment les uns des autres et la fonctionnalité multitâches sera automatiquement gérée et prise en charge par le ROVIN™. Dès lors même si vos connaissances en ce qui concerne les systèmes multitâches sont inexistantes, il vous sera tout de même possible de développer des applications professionnelles qui pourront soutenir la comparaison avec bon nombre d’autres systèmes beaucoup plus complexes à maîtriser. 
      
  
Accès à des ports d'E/S communs dans différentes tâches
Le seul cas de figure à traiter concerne celui ou plusieurs tâches sont susceptibles d'accéder aux mêmes ports d'E/S du module ROVIN™ (par exemple si plusieurs tâches veulent envoyer des données en même temps vers un des ports série du module ROVIN™). Du fait de leur totale indépendance, chacune des tâches ne sait pas ce que fait l'autre et à ce moment un "conflit" matériel peut intervenir. Une solution rudimentaire mais très simple à implémenter pour régler ce cas de figure consiste à stocker une donnée particulière à un emplacement de la mémoire SRAM lorsqu'une tâche se sert d'un port d'E/S commun aux autres tâches (et à initialiser cette données après l'utilisation du port E/S). Dès lors à vous vérifier dans chaque autres tâches que la donnée vous indique (ou non) que le port commun à toutes les tâches est libre d'utilisation. Toutefois dans la majorité des cas, vous n'aurez pas à vous soucier de ce cas de figure si vos différentes tâches exploitent des ports d'E/S distincts les unes des autres.
   
   
La notion de "VPU" (Virtual Process Unit)
 

 
Pour les personnes désirant en savoir un peu plus sur la façon dont tout celà fonction, si vous écrivez 10 tâches (programmes) qui s’exécutent en même temps sur le ROVIN™, son système d'exploitation créera 10 unités processeurs virtuels (VPU). Chaque VPU exécutera indépendamment son OPCODE qui n’affectera pas les autres. Le ROVIN™ utilise des "CYCLES MACHINES" plutôt que des "TOURS D’HORLOGES" généralement utilisés dans la plupart des autres systèmes d’exploitation embarqués. 1 OPCODE monopolise 1 CYCLE MACHINE au processeur. A ce jour, le ROVIN est à même d'exécuter jusqu'à 100.000 OPCODE par seconde !
   
Les possibilités multitâches du ROVIN™ sont effectuées par chaque VPU qui exécute à son tour un OPCODE. Le VPU est sélectionné par le MANAGEUR DE TACHES pour prendre en charge un certain OPCODE. Chaque VPU dispose d’un code identification (ID) unique. Le MANAGEUR DE TACHE appel un VPU spécifique par ordre de son numéro d’ID. Toutes les TACHES disposent de leur propre SET DE REGISTRES et MEMOIRE DE DONNEES qui sont utilisés indépendamment les uns des autres. Contrairement à la plupart des autres RTOS embarqués, les opérations s’exécutent de la même façon que s’il y avait plusieurs processeurs en même temps comme sur la représentation ci-dessus.
   
A ce jour, le module ROVIN™ peut supporter jusqu’à 10 tâches simultanément (la limitation venant de sa capacité mémoire et de sa vitesse d’exécution).