SEGGER : RTOS embOS pour MCU

SEGGER : embOS
embOS est un système d’exploitation temps réel (RTOS) pour applications embarquées. Il a été étudié pour offrir tous les bénéfices d’un système multi-tâches pour un coût minimum. Le cœur est entièrement interruptible et peut être très efficace pour les situations de temps réel dur. L’espace mémoire utilisé en RAM et en ROM est très faible. Cela permet de considérer embOS dans les applications avec peu de ressources en mémoire afin de laisser le maximum de place pour le programme applicatif. En plus de sa taille et de son efficacité, il possède une palette de mécanismes de communication tels que les mailboxes, les événements, ou encore les sémaphores. Toutes les tâches et systèmes de communication peuvent être dynamiquement créés, effacés ou re-configurés. embOS est géré par un contrôleur de priorité : la tâche de plus forte priorité est active. Les tâches de priorité identique sont exécutées « quasi-simultanément » en round-robin. Si aucune tâche n’est prête, embOS peut mettre le CPU en mode économie d’énergie automatiquement.

Caractéristiques générales :

  • Simple d’utilisation et bien documenté
  • Pas de royalties
  • Rapide et efficace
  • Faible encombrement mémoire
  • Cœur interruptible
  • Entièrement préemptif
  • Support technique de qualité

Caractéristiques techniques :

  • Taille du cœur : 1100-1600 octets
  • Utilisation de la RAM par le cœur : 18-25 octets
  • Charge du CPU pour un M16C à 10MHz et une interruption toutes les 1ms : 3%
  • Utilisation de la RAM pour les mailboxes : 9-15 octets
  • Utilisation de la RAM pour les sémaphores : 3 octets
  • Utilisation de la RAM pour les ressources des sémaphores : 4-5 octets
  • Utilisation de la RAM pour les timers : 9-11 octets
  • Utilisation de la RAM pour les événement : 0 octets
  • Unité de temps (1 tick) : 1 ms par défaut
  • Nombre de tâches : illimité (sinon par la RAM disponible)
  • Nombre de mailboxes : illimité (sinon par la RAM disponible)
  • Nombre de sémaphores : illimité (sinon par la RAM disponible)
  • Nombre de timers s/w : illimité (sinon par la RAM disponible)
  • Nombre de niveaux de priorité : 255
  • Nombre maximal de tâches avec la même priorité : illimité (sinon par la RAM disponible)

Architectures supportées :

  • ARM Cortex-M0/M3/M4/M7, Cortex-A/R, ARM7/9, AVR, MSP430, C166, M16C/M32C, NIOS, ST7, V850…

SEGGER : Bibliothèque Graphique Embarquée – emWin

emWin est un libraire graphique embarqué de référence sur le marché de l’embarqué MCU visant toute les applications à base d’écran LCD avec un besoin poussé d’interface utilisateur (IHM) 

emWin fonctionne avec ou sans RTOS et est compatible avec tous les RTOS du marché (propriétaire ou open source). Il est fourni avec son code source en C et peut être adapté aux écrans de toute taille.

Caractéristiques générales :

  • Fonctionne sur toute architecture 8/16/32 bits; seul un compilateur ANSI est nécessaire
  • Tout écran LCD est supporté (monochrome, niveaux de gris, couleur), dépendant du drivers supporté
  • Peut fonctionner sans controller LCD sur de petits écrans
  • Toutes interfaces supportées, utilisation de macros de configuration
  • Taille écran paramétrable
  • Caractères et images bitmap peuvent être écrite à n’importe quel endroit de l’écran
  • Les routines sont optimisés pour la taille et pour la rapidité
  • Structure claire
  • Support des écran virtuels, pouvant être plus grand que l’écran embarqué

Caractéristiques de la librairie graphique (GUI) :

  • Support des images bitmap possédant différentes profondeurs de couleurs
  • Convertisseur d’image bitmap inclus
  • Aucun calcul flottant utilisé
  • Tracé de point et ligne rapide (non utilisation d’unité de calcul flottant)
  • Tracé rapide de cercles et polygones
  • Différent mode de tracé
  • Lot de police de caractère inclus
  • Support des écran tactile et de la souris.

Polices de caractères :

  • Un large lot de polices de caractère différentes est fourni avec la version basic du logiciel
  • De nouvelles police peuvent être définies et simplement liées au projet
  • Les polices sont redimensionnables en X comme en Y (séparément)
  • Possibilité d’utiliser le logiciel « Font Converter » permettant de transformer toute police de caractère de votre système

Window manager :

  • Possibilité de créer un environnement type Windows
  • Incluant la commutation de fenêtre, empêchement d’écrire en dehors des fenêtres, …
  • Déplacement de fenêtre, réajustement des tailles des fenêtres
  • Utilisation de la RAM au minimum (20 bytes par fenêtre)
  • Support des routines de callback

Outils :

  • Simulation plus viewer
  • Bitmap converter
  • Font converter

SEGGER : Gestionnaire de Fichiers FAT – emFile

emFile est un gestionnaire de fichiers de type FAT12/16/32 dédié aux applications embarquées.

Se présentant sous la forme d’une librairie source ANSI-C, il peut être utilisé sur de nombreuses cibles MCUs. Il est optimisé pour une consommation minimale de mémoire RAM et ROM et offre vitesse et polyvalence.

SEGGER : Pile TCP/IP – embOS/IP

embOS/IP est une pile TCP/IPv4 et/ou IPv6 hautes performances dédiée aux applications embarquées.

Se présentant sous la forme d’une librairie source ANSI-C, elle peut être utilisée sur de nombreuses cibles CPUs et est optimisé pour une consommation minimale de mémoire RAM et ROM.

  • ANSI C socket.h like API (une application utilisant la librairie standard socket en C pourra facilement être portée sur embOS/IP)
  • Démarrage « out of the box » avec une intégration aisée dans tout projet multi-tâches à base du RTOS embOS

SEGGER : Bibliotèque SSL/TLS  embarquée – emSSL

emSSL est une bibliotèque SSL/TLS vous permettant de sécuriser vos connections à travers Internet. emSSL couvre aussi bien le côté client que serveur.

  • Implémentation très compacte visant le marché des MCUs
  • Configuration aisée et API simple à utiliser pour un démarrage rapide de votre projet
  • Intégration aisée avec la pile embOS/IP ou toute autre pile TCP/IP proposant une interface Socket

SEGGER : Pile USB Device – emUSB/Device

emUSB/Device est une pile USB Device pour systèmes embarqués pouvant s’interfacer avec tous les RTOS du marché. Fournie avec de nombreux class drivers (Bulk, HID, Printer, MSD, CDC, MTP, RNDIS…) elle se positionne comme l’une des plus complète du marché.

  • Portable sur de nombreux MCUs grâce à une couche d’abstraction hardware facilitant un support rapide de nouveaux composants
  • Intégration aisée avec le RTOS embOS ou toute autre RTOS du marché (comme FreeRTOS)

SEGGER : Pile USB Host – emUSB/Host

emUSB/Host est une pile USB Host pour systèmes embarqués pouvant s’interfacer avec tous les RTOS du marché. Fournie avec de nombreux class drivers (HID, Printer, MSD, CDC…) elle se positionne comme l’une des plus complète du marché.

  • Portable sur de nombreux MCUs grâce à une couche d’abstraction hardware facilitant un support rapide de nouveaux composants
  • Intégration aisée avec le RTOS embOS ou toute autre RTOS du marché (comme FreeRTOS)

SEGGER : Digital Signature Suite – emSecure

emSecure est ensemble logiciel pour créer et vérifier des signatures numériques hautement sécurisées. Ces signatures peuvent être utilisées pour prévenir des copies illégales des firmwares embarqués sur vos produits électroniques. C’est une solution indispensable pour les produits électroniques grand public avec une large diffusion ou les applications sensibles (paiement, vote électronique…)

  • Basé sur l’encryption asymétrique RSA avec 2 clés, sans possibilité de reverse engineering
  • Portable sur toutes les plateformes, sans besoin de composant hardware complémentaire
  • Conforme à la spécification NIST FIPS 186-4
  • Haute performance et faible empreinte mémoire