ac6-training, un département d'Ac6 SAS
FR
FrançaisEnglish
 
go-up

ac6 ac6-training Programmation

Programmation


Safety and security

What are Safety & Security in Embedded Systems?

Cybersecurity and functional safety work together for connected products and industrial IoT. Anchored in the EU Cyber Resilience Act (CRA) and standards like IEC 62443, IEC 61508, and ISO 26262 (plus ETSI EN 303 645 and NIS2), the goal is to prevent hazards, withstand attacks, and keep devices dependable throughout their lifetime—from concept and development to updates in the field.

Modern platforms provide strong building blocks out of the box: secure boot chains (TF-A/U-Boot, HAB/AHAB, SBSFU/TF-M), isolation with TrustZone-M and OP-TEE, and Linux hardening features (SELinux/AppArmor, dm-verity/IMA, namespaces, seccomp). On the safety side, practices like MISRA/CERT coding, static analysis, FMEA/FTA, watchdogs, and CRC/ECC reduce faults without slowing development.

Our ac6 training courses help you master this ecosystem—covering risk and threat analysis, SBOM/VEX and vulnerability handling, key management and secure update/rollback, Linux/MCU hardening and TrustZone partitioning, and the safety lifecycle with evidence (plans, traceability, safety case). The outcome: products that are both secure and safe, ready for real-world assessments.


Langages

ac6-formation propose de vous former aux différents langages utilisés en informatique industrielle et embarquée. Nous vous proposons des cours sur les langages de développement C, C++ et Java. Contrairement aux cours génériques, tous nos cours sont adaptés à la programmation en environnement industriel et embarqué, avec des exercices sur des environnements embarqués.

Méthodes

La complexité des systèmes informatiques conduit de plus en plus à l'utilisation d'outils standard d'aide à la spécification, à la conception et au développement. Ces outils sont basés, si possible, sur des méthodes et des langages standard.

ac6-formation vous propose des formations sur l'utilisation du langage de modélisation le plus répandu , UML (Unified Modeling Language); ces formations sont adaptées au domaine de l'informatique industrielle et embarquée et aux besoins spécifiques des applications temps réel.

Nous vous proposons également des formations aux outils de gestion du process de développement logiciel, comme Eclipse.


Temps réel

Créer des systèmes fonctionnant en temps réel pose de nombreux problèmes spécifiques. C'est pourquoi ac6-formation propose toute une gamme de cours permettant de se former aux différents outils et techniques à utiliser dans ce contexte.

FPGA

Un microcontrôleur exécute des instructions les unes après les autres. Un FPGA ne fait pas ça : il devient le circuit qu'on lui décrit. Mille traitements peuvent y avancer en même temps, parce qu'ils occupent mille zones de silicium distinctes.

Toute la difficulté de l'apprentissage tient là. On n'écrit pas un programme, on décrit un matériel. VHDL et SystemVerilog ressemblent à des langages de programmation et n'en sont pas : une boucle n'y est pas une répétition dans le temps mais une réplication dans l'espace, et un signal n'est pas une variable. Les débutants qui abordent le VHDL comme du C produisent des circuits qui simulent correctement et ne tiennent pas en timing.

Quand un FPGA se justifie

Trois cas reviennent : le parallélisme réel, quand des dizaines de canaux doivent être traités simultanément ; la latence déterministe, quand une réponse doit tomber en quelques dizaines de nanosecondes, ce qu'aucune interruption logicielle ne garantit ; et les interfaces que le commerce ne propose pas, un protocole propriétaire ou un capteur au format inhabituel.

Hors de ces cas, un microcontrôleur reste plus simple, moins cher et plus rapide à mettre au point. Le FPGA se paie en temps de conception et en consommation.

Décrire, vérifier, intégrer

La conception se fait en VHDL ou en SystemVerilog. SystemC intervient plus haut, pour explorer une architecture avant de figer le RTL.

La vérification pèse souvent plus lourd que la conception elle-même. UVM est la méthodologie standard de l'industrie pour construire des bancs de test réutilisables : un circuit non vérifié n'est pas un circuit terminé.

Enfin la plupart des FPGA actuels embarquent un processeur, soit gravé dans le silicium comme le Cortex-A9 des Zynq et des Cyclone V, soit synthétisé dans la logique comme MicroBlaze, Nios, Mico32 ou un cœur RISC-V. Concevoir pour ces composants, c'est répartir une fonction entre le logiciel et le matériel, et faire dialoguer les deux.

Nos formations

Les bases du langage VHDL (V1) et VHDL avancé pour les FPGA (V2) forment le parcours principal, de la syntaxe à la méthodologie de conception. SystemVerilog (U1) et UVM (U2) couvrent le versant vérification, SystemC (V3) la modélisation de haut niveau, et FPGA Optimization (V4) le travail sur les performances et la surface.

Côté composants, les formations suivent les principaux fondeurs : AMD Zynq (HX5) et MicroBlaze (HX4), Cyclone V Cortex-A9 (ALT1) et Nios (ALT2), Lattice Mico32 (H1) et Diamond (H2), Microchip SmartFusion2 (MSP). Architecture RISC-V (RV1) traite le jeu d'instructions devenu incontournable pour les cœurs synthétisés.

Les travaux pratiques se font sur cartes réelles en présentiel, et à distance sur du matériel accessible à distance ou sur nos outils de simulation. Un problème de timing ne se comprend qu'en le voyant se produire.