mercredi 9 octobre 2019

Ingénieur en informatique industrielle

Voilà un beau métier mais qu'elle structure choisir pour l'apprendre, pour se former ? Une bonne école d'ingénieur en électronique ? Certainement mais vous allez faire "du Hard" concevoir des cartes électroniques à base de Microprocesseurs ou de Microcontrôleurs (Microchip) c'est la base. 

Et pour le logiciel ... et bien vous ferez une école d'informatique.

Microchip - Motorola - STMicroelectronics
Microchip - Motorola - STMicroelectronics

Apprenons à décoder une annonce d'emploi comme : Ingénieur en informatique industrielle

Je vous propose l'exemple d'annonce suivant :

Descriptif du poste :
Dans le cadre de son développement, le Groupe "Bip" Développement, recherche, un Electronicien et informaticien industriel (H/F) en vue d’intégrer à la gamme de produit la notion d’objets connectés.

Sous la responsabilité de la Direction R&D, vous aurez pour missions principales :
- Concevoir et tester des petits appareils mécatroniques connectés pour le domaine domestique et médical.
- Réaliser les schémas électroniques, routage et logiciels embarqués (langage C)
- Développer des logiciels d’interfaces de tests sur PC
- Réaliser des prototypes et des maquettes
- Rédiger des dossiers techniques
- Respecter avec rigueur normes, procédures et données d’entrées (ISO13485 et IEC 62304)
La liste des tâches n’est pas limitative.

Profil recherché :
Ingénieur ou BAC+5 en Electronique ou Informatique Industrielle, Systèmes Embarqués vous avez une expérience significative sur des missions similaires. Vous avez une bonne maitrise des microcontrôleurs (Microchip, STM32, …) et leurs plateformes de développement, des bonnes connaissances du langage « C » et méthode de développement.

Et je vais vous aider à la décoder, à mon niveau. Déjà une question pas si facile à laquelle je ne trouve pas de réponse rapidement : 

C'est quoi un Microchip ?

Avant de chercher, pour moi un chip c'est une puce alors un microchip c'est une petite puce, un terme générique. Malheureusement Wikipédia nous laisse avec une société, un microchip est alors un semi-conducteur créé par la société Microchip Technology issue d'une division de General Instrument (rachetée à Motorola).

Il y a deux grandes familles de puces, les microprocesseurs et les microcontrôleurs, un microchip est de la famille des microcontrôleurs.

Pour en terminer avec la découverte de Microcontrôleurs PIC, une autre page sur la série des PICs.

PIC10, PIC12, PIC18 ... PIC32MZ.

Une chose me chagrine finalement dans cette annonce, c'est la partie "recherche, un Electronicien et informaticien industriel (H/F)" puis plus loin dans l'annonce on insiste : "Ingénieur ou BAC+5 en Electronique ou Informatique Industrielle, Systèmes Embarqués".

C'est un peu comme si vous cherchiez quelqu'un qui est capable de courir à gauche et de courir à droite en même temps ! Cela relève de la mécanique quantique ;-)

Personnellement, j'étais plus à l'écoute de ces processeurs ARM et des noyaux temps réels comme FreeRTOS donc ce "microchip" ne m'arrange pas trop mais essayons d'aller un peu plus loin.

C'est quoi un STM32 ?

Alors cette fois, on est avec STMicroelectronics avec un microcontrôleur de la famille 32-bits ARM Cortex MCUs.

Mais au fait 32 bits, cela signifie 32 bits d'adresses, ou 32 bits de données ? Je vous laisse avec cette question, demandez moi ;) je connais la réponse.

Que nous reste t-il pour finir de décoder cette annonce à notre niveau ? Les normes que signifie la norme ISO13485 ?

C'est quoi la norme ISO 13485 ?

Des chiffres me direz-vous des chiffres, 485 me fait penser à RS 485 (une liaison série ? pas du tout !), la norme ISO 13485 précise les exigences des systèmes de management de la qualité (SMQ) pour l'industrie des dispositifs médicaux.

Il s'agit de garantir la qualité des dispositifs médicaux ...

Ici : France Certification - ISO 13485

On vous propose d'obtenir votre certification ISO 13485
Mettre en place les outils de la norme ISO 9001
Analyse du risque

C'est quoi la norme IEC 62304 ?

bsi- IEC62304 Norme pour les logiciels de dispositifs médicaux

C'est une certifications pour les logiciels des dispositifs médicaux.

Voilà vous remarquez qu'une annonce d'ingénieur en informatique industrielle touche une palette de métiers divers.

Par la suite, je creuserai une partie qui m'intéresse les STM32 et surtout quel noyau temps réel peut-on y implanter ?

Avec un début de piste Ici : AxiomCafe - Implémentation d'un noyau temps réel (chibiOS sur STM32-PIO3)

Et la suite de la piste avec le "site sérieux" de STMicroelectronics :

STM32 step-by-step

C'est passionnant !

lundi 8 avril 2019

C'est quoi FreeRTOS ?

Nous sommes dans les noyaux temps réels et la mise en œuvre des meilleures technologies, alors FreeRTOS est un système d'exploitation temps réel, faible empreinte, portable préemptif et Open Source pour microcontrôleurs, il a été porté sur 33 architectures différentes ce qui en fait sa force.

JDN - FreeRTOS, l'ancêtre des OS temps réel

Alors quand on lit cela, on pourrait penser que c'est un vieux truc déjà remplacé mais je ne crois pas. FreeRTOS est très léger, il ne pèse que 6 Ko à 12 Ko. Il est composé de trois fichiers écrits en langage C.

Un point faible : une prise en main qui peut s'avérer complexe.

FreeRTOS - Noyau Temps Réel

Je trouve la page Wikipédia de FreeRTOS bien faite on va assez loin dans la compréhension du noyau temps réel et de sa description. Avec une description de l'ordonnanceur des tâches et de on mode de fonctionnement.

Wikipédia - FreeRTOS

On peut y voir le diagramme d'états d'une tâche.

SourceForge - FreeRTOS - Real Time Kernel Download

FreeRTOS - Queues, Mutexes, Sémaphores

Les Queues de messages sont des formes primaires de communications inter-tâches du noyau temps réel.

FreeRTOS - Documentation

FreeRTOS - Supported Plateformes

ARMv8-M

Pour ma part, je préférerai la plateforme Windows :

Windows Simulator for Visual Studio Express and Eclipse with MingW (GCC)

FreeRTOS - Windows Port

FreeRTOS - Getting Started with Simple FreeRTOS Projects

Voilà ici, il y a tout pour bien démarrer et prendre en main FreeRTOS afin de développer vos propres applications pour systèmes embarqués. Ce noyau temps réel est écrit en langage C donc il suffit d'un bon compilateur et on peut démarrer son exécution.

Pour des informations concernant le développement en Langage C avec Eclipse et MinGW, je vous laisse avec les articles suivants :

Développer en Langage C avec Eclipse et MinGW

Have fun! No paine!

Comment développer pour FreeRTOS avec Windows

J'ai compris que développer en C pour FreeRTOS n'est pas forcément une évidence sous windows, je fais donc quelques recherches récentes et je trouve AWS :

AWS - Mise en route avec le simulateur d'appareils Windows

Il faut ouvrir un compte AWS. Et cela va commencer à vous coûter de l'argent. Mais c'est une porte d'entrée pour comprendre comment on peut faire du développement sous Windows avec FreeRTOS.

On peut trouver de la même manière : 

Azure RTOS

Le tout pour l'IoT...

Autre sujet : 

FreeRTOS dans l'Azure

Pour l'instant, that's all Folks!

Vous avez des idées, des conseils n'hésitez pas commentez.

jeudi 28 mars 2019

Architecture du processeur ARM

Je voudrais en quelques mots rapides avoir une idée de ce que je peux dire de "L'architecture ARM". Dont voici le bloc diagramme que je trouve rapidement sur Internet.

ARM
Architecture ARM en SoC

On parle de SoC ou System On Chip avec ces composants autour du processeur ARM (de la société Acorn Computer) ARM signifie Acorn Risc Machine.

Ce processeur Risc supplante les processeurs à architecture Misc dont le MC68020 de Motorolla sur lequel j'ai travaillé, snif.

Architecture Misc Motorolla MC 68020

Risc signifie : Reduce Instruction Set Computing - processeur à jeu d'instructions réduit.
De mémoire je vous cite ce que je reconnais sur ce Chip :
JTAG : sonde on s'en sert pour le debug connaitre l'état du processeur
PIO : Programmable Input Output
Mémoire SRAM, Flash
CAN : Convertisseur Analogique Numérique permet de connecter des signaux, de faire du Traitement de Signaux
USART : Liaison Série
...

Voilà je reviendrai quand j'aurais d'autre demande sur l'informatique embarquée.