SITRE

Solutions Informatiques pour le Temps Réel et l’Embarqué

Tel : +33 1 57 69 37 50
Email : Info | rssEntries (RSS)

Accueil » QNX » L’offre des produits QNX Software Systems

L’offre des produits QNX Software Systems

par Sitre • mer 08 avr 09 • Catégories : QNX • Liens : , , , , , , , , , , , , ,

Les outils de QNX® Software Systems

La fourniture de QNX® Sofwtare Systems peut se diviser en trois sous-ensembles :

  • La chaine de compilation, basée sur le compilateur gcc version 4.2, avec tous les add-ons type binuntis, make, et qui est accessible soit depuis l’IDE, soit en ligne de commande.
  • L’interface graphic basée sur Eclipse dont QNX® fut l’un des membres créateur, et dont QNX® a développé et re-distribué le plugin C/C++.
  • Et, souvent oubliés, divers utilitaires qui sont disponibles sur la cible, et qui permettent de faire des diagnostiques simples et rapides (pidin, slay, netstat, etc.) ou plus complexes avec l’utilisation du korn shell (ksh).

Les outils sont disponibles pour les stations hôtes de type Windows (2000 SP4-XP SP2/SP3-Vista-Vista 64-bit), Linux (Red Hat Enterprise Linux Workstation 4 or 5 - Red Hat Enterprise Server 5.1 64-bit - Red Hat Fedora Core 6 or 7 - Ubuntu 6.0.6 LTS or 7 - SUSE Linux 10), ou QNX® Real Time Platform (RTP).

Ils intègrent les chaines de compilation croisées pour les architectures ARM, PPC, SH-4, StrongARM, Xscale,  et X86. A noter que la version ligne de commande des outils peut être installée sur QNX® Neutrino® en mode natif (RTP), permettant des compilations / debug de type croisé ou natif.

Enfin, notons que ces outils offrent le même support pour toutes les architectures, et qu’ils intègrent la vision “multicore” (ou hyperthreadé) du processeur.

Les technologies

QNX® Neutrino®

QNX® Neutrino® est un micro-noyau temps réel, POSIX, intégrant le support de la MMU, et est la pierre angulaire de toute la fourniture de QNX® et qui se caractérise par son architecture. En effet, le micro-noyau QNX® Neutrino® n’intègre en son coeur que le strict nécessaire pour gérer le temps réel (dont l’entité est le thread) et la MMU (dont l’enveloppe mémoire est le process). N’ayant ni driver, ni stack (réseau, graphique, système de fichier) en son sein, il en résulte un binaire petit, fiable, et dont les dépendances vis à vis du matériel se résume au stricte minimum : le support du core.

Les pilotes (drivers), piles et applications s’exécutent en dehors de son espace, sont protégées par la MMU, et utilisent les mêmes mécanismes pour communiquer ou… pour être développé.

Piles et technologies de base

De base, QNX® propose les technologies permettant

  • de gérer les stacks USB (OHCI, UHCI, EHCI), et certains périphériques par le biais de class drivers (souris, clavier, Disque Dur, Disk On Key, imprimante)
  • de gérer des disques durs sur bus IDE, SCSI, SATA
  • de gérer les systèmes de fichiers type QNX® (posix), Linux Ext2, et DOS (FAT 16/32)
  • de gérer les systèmes de fichiers sur mémoire flash type NOR et NAND
  • de gérer une pile de communication IPV4 (basée sur NetBSD 4.0)
  • de gérer une interface graphic 2D (Photon) associée aux entrées (clavier, souris, touch screen)

Multicore

Le multicore est géré par QNX® Neutrino® depuis de longues années : en fait, cela à commencé avec QNX® 4 qui le supportait déjà voici plus de 10 ans. Ce qui est réellement nouveau, c’est l’arrivée de ces technologies dans le monde de l’”embarqué”. Fort de ces longues années d’expérience, QNX® Neutrino® supporte les différentes familles de processeurs hyperthreadés ou multicore, et les outils ont une vue complète sur les n cores, et permettent une analyse très fine des exécutions sur la cible.

Haute disponibilité

De part son architecture, QNX® Neutrino® garantie la non prolifération d’une faute en dehors d’un process; en ce sens, lorsqu’un process échoue, vous avez la garantie que les autres parties du système n’ont pas été corrompues. Il devient alors facile de décider si on doit ou non relancer le process fautif, ou continuer à fonctionner. En tout état de cause, un “reboot” système n’est pas nécessaire.

Et c’est ce que met en application le “Hight Avalability Managment” (HAM), une interface simple pour configurer, surveiller, et effectuer une action sur telle ou telle type d’erreur.

Partitionnement dynamique

Comment dans un système temps réels conventionnel être sûr que telle ou telle partie du système ne va pas “prendre la main” et bloquer mon système? C’est ce à quoi va répondre l’”Adaptative Partitionning” en vous proposant une dimension supplémentaire pour segmenter votre ressource “processeur”. Vous allez pouvoir créer des partitions, auxquelles vous allouez un % du temps CPU. Et pourquoi dynamique, et bien parce que une partition pourra utiliser 100% des ressources processeur si elle est seule en compétition. Si d’autres process veulent également le CPU, l’ordonnancement se fera en fonction des % allouer aux différentes partitions.

Et bien sûr, cela fonctionne aussi dans un environnement multicore.

A noter que le même principe est disponible pour la gestion de la mémoire (beta).

Piles réseau IPV4/ IPV6

Besoin de communication ? Les piles réseau basées sur NetBSD 4.0 sont disponibles et mode IPV4 et IPV6, incluant tous les clients / serveurs (ftp, telnet, ntp) classiques ainsi que les technologies de sécurités (VPN, SSL). A noter le support des “jumbo frames”, la ré-utilisation possible de drivers type io-net, ou de tous les drivers venant de NetBSD par le biais de wrappers.

A noter également le support de la technologie WIFI.

Message passing à travers Ethernet : QNET

Le micro noyau QNX® Neutrino® fonctionnant sur le principe de “message passing”, QNX® a étendu ce concept à travers virtuellement n’importe quel média, Ethernet étant disponible par défaut. Cela va vous permettre, et ceci de façon complètement transparente, de faire fonctionner un modèle client/serveur basé sur deux machines différentes, et reliées par Ethernet… Bref, de transformer vos systèmes isolés en machines communicantes : votre driver disque ne fonctionne plus? HAM peut le détecter, et reconfigurer le système fautif pour qu’il utilise le driver disque d’une machine distante! Vous n’avez pas de composant graphique mais vous voulez afficher des informations, utilisez les driver graphique de cette autre machine… Les exemples ne manquent pas, et les domaines d’applications sont sans limite.

Open GL ES

L’implémentation d’Open GL faite par QNX® a été certifié conforme aux standards OpenGL® ES 1.0. Cela vous permet de développer des applications 3D, ou même de porter des applications 2D/3D d’autres environnement vers QNX®. Enfin, l’implémentation faite par QNX® permet de n’avoir soit que des applications type Open GL, ou bien de voir celle-ci s’afficher au sein de Photon, le serveur graphique 2D de QNX®.

Flash Lite

QNX® est le premier éditeur de logiciel embarqué temps réels à proposer un plugin compatible avec les technologies Adobe Flash Lite 3.1.

Ici aussi, le contenu graphique peut être affiché seul, ou bien affiché au sein de Photon, et ou pourquoi pas, avec des parties en 3D.

Les standards

En terme de standards, QNX Software Systems est certifié selon les standards suivants.

ISO 9001:2000

Le système de gestion de QNX est certifié à la norme ISO 9001:2000 internationalement reconnue. Les normes ISO permettent de fournir une assurance quant à la capacité de satisfaire aux exigences des clients et d’en améliorer la satisfaction.

POSIX PSE52 Realtime Controller 1003.13-2003

Le noyau temps réel QNX Neutrino (RTOS) a été certifié conforme à la norme “POSIX PSE52 Realtime Controller 1003.13-2003 System”, dans le cadre du programme “POSIX: Certified by the IEEE and The Open Group”.

En conséquence, les utilisateurs peuvent choisir QNX Neutrino, avec l’assurance qu’il offre à la fois une portabilité et le déterminisme lié aux caractéristique temps réel du noyau. En plus des appels de la norme PSE52, QNX Neutrino supporte des centaines d’autres appels, utilitaires, et interfaces de programmation conforme à la norme POSIX 1003.1.

OpenGL ES

QNX Software Systems est certifié conforme à la norme OpenGL ES. OpenGL ® ES est une API de de programmation graphique 2D et 3D pour les systèmes embarqués.

QNX est également un membre du Khronos Group, consortium de l’industrie axée sur la création et l’ouverture d’API standard. Enfin, QNX est membre actif des projets OpenGL ® ES ™ et OpenVG.

Common Criteria EAL4+

Le noyau temps réel (RTOS) QNX Neutrino Secure est certifié pour répondre aux strictes exigences de la Common Criteria ISO / IEC 15408 Evaluation Assurance Level (EAL) 4 +.

La cible d’évaluation (TOE) comprend non seulement le noyau mature QNX Neutrino, mais aussi le support des technologies “multi-core” et “adaptive partionning” associées.

IEC Safety Integrity Level (SIL)

QNX Software Systems est engagé dans la certification du noyau temps réel (RTOS) QNX Neutrino pour être certifié à la norme IEC 61508, Safety Integrity Level 3 (SIL3).



Related

  • Solution FPGA Virtex-5 : "Connect Tech, dont SITRE distribue les produits en France, introduit la carte FreeForm/PCI-104 à base du processeur Xilinx Virtex-5. Sur...
  • Kit de démarrage iMX31 : "SITRE c'est associé avec la société américaine Icytecture pour fournir des kits de développement à base des processeurs Freescale iMX,...
  • Disponibilité QNX SDP 6.4.1 : "QNX Software Systems annonce la disponibilité de son environnement de développement QNX Software Develoment Platform (SDP) version 6.4.1 pour fin...
  • QNX SDP 6.4.1 : "QNX® Software Development Platform (SDP) 6.4.1 La version pré-release de l'environnement de développement QNX® Software Development Platform, version 6.4.1, est...

Sitre est à votre écoute.
Email this author | All posts by Sitre