Lorsque vous vous inscrivez à ce cours, vous êtes également inscrit(e) à cette Spécialisation.
Apprenez de nouveaux concepts auprès d'experts du secteur
Acquérez une compréhension de base d'un sujet ou d'un outil
Développez des compétences professionnelles avec des projets pratiques
Obtenez un certificat professionnel partageable
Il y a 4 modules dans ce cours
Ce cours peut également être suivi pour l'obtention d'un crédit universitaire en tant que ECEA 5317, dans le cadre du Master of Science in Electrical Engineering de CU Boulder. A l'issue de ce cours, l'apprenant saura faire la différence entre les systèmes sur lesquels vous pouvez parier votre vie (mission critique) et ceux qui fournissent une réponse prévisible et une qualité de service (fiable). Cet objectif sera atteint non seulement par l'étude des méthodes et des patrons de conception pour les systèmes critiques, mais aussi par la mise en œuvre de systèmes en temps réel doux et la comparaison avec le temps réel dur. Les méthodes de vérification pour déterminer la capacité à répondre aux exigences des missions critiques ainsi qu'aux exigences du temps réel souple seront apprises afin que l'apprenant puisse évaluer correctement le risque, la fiabilité et l'impact de la défaillance dans les systèmes en temps réel.
A la fin de ce cours, les apprenants seront capables d'appliquer un style architectural (exécutif cyclique, RTOS, ou Linux embarqué) à une conception plus détaillée d'un système critique, d'un système temps réel souple, ou d'un système temps réel mixte dur et souple, y compris :
● Compréhension approfondie des interfaces matérielles/logicielles et de la vue des ressources pour les couches d'abstraction matérielle (HAL, BSP) ● Compromis de conception avec différentes architectures matérielles en temps réel, y compris les systèmes à cœur unique, multicœur, hybrides-FPGA, GP-GPU et DSP, en mettant l'accent sur le multicœur ● Architecture des systèmes embarqués critiques et éléments de conception clés ● Concepts de traitement, de mémoire et d'E/S tolérants aux erreurs Ce cours comprend des exigences spécifiques en matière de matériel et de logiciel. Veuillez consulter la FAQ ci-dessous pour plus de détails.
Ce module couvre l'interface entre le logiciel et le matériel RTES en utilisant l'abstraction des dispositifs et les interfaces des pilotes, ainsi que la mise à l'échelle du système.
Inclus
11 vidéos13 lectures1 devoir2 évaluations par les pairs1 sujet de discussion
Afficher les informations sur le contenu du module
11 vidéos•Total 224 minutes
Buts du cours et objectifs d'apprentissage•6 minutes
Aperçu détaillé - avec cours Connaissances préalables supposées•39 minutes
Architectures de bus d'E/S embarqués évolutifs•25 minutes
Démonstration : Limitation des E/S, de l'unité centrale ou de la mémoire ?•14 minutes
Pilotes et interfaces de dispositifs•23 minutes
Utilisation du pilote UVC Linux pour acquérir des images vidéo avec OpenCV et V4L2•23 minutes
Approfondissement de l'API V4L2 et du pilote UVC (Camorama, V4L2-Ctl, etc.)•21 minutes
Principales différences entre les pilotes Linux et RTOS•10 minutes
Communication et synchronisation des services RT•28 minutes
Utilisation de la liaison série point à point et de TCP/IP pour les systèmes embarqués•15 minutes
13 lectures•Total 121 minutes
Mises à jour des cours et soutien à l'accessibilité•1 minute
Étudiants sans crédit : Bienvenue et où trouver de l'aide•10 minutes
Exigences matérielles et logicielles•10 minutes
AIDE SUPPLÉMENTAIRE : Installation d'un laboratoire à domicile•10 minutes
Manuel : RTECS avec Linux et RTOS•10 minutes
CODE : CU Boulder Linux Example Code - Public•10 minutes
Lignes directrices pour l'examen par les pairs de la qualité du code•10 minutes
Guide du code pour les Peer-To-Peer•10 minutes
Compétences de base en matière de Makefile à l'aide d'un exemple•10 minutes
Aide pour le pilote Linux du Raspberry Pi•10 minutes
Exemple de pilotes Linux de Jerry Cooperstein•10 minutes
Programmation avancée sous Unix/Linux et en réseau•10 minutes
Vidéo pour Linux 2 (V4L2) API et pilote UVC•10 minutes
1 devoir•Total 30 minutes
Quiz 1 - Interfaces des appareils et pilotes logiciels•30 minutes
2 évaluations par les pairs•Total 600 minutes
Utilisation de files d'attente de messages ou de tampons de sonnerie avec des données vidéo•420 minutes
Acquisition de données par le client hôte à partir d'un serveur TCP/IP intégré•180 minutes
1 sujet de discussion•Total 10 minutes
Présentez-vous•10 minutes
Mémoire et stockage tolérants aux pannes pour les systèmes critiques
Module 2•15 heures à terminer
Détails du module
Ce module couvre l'utilisation d'algorithmes clés tels que les codes correcteurs d'erreurs, les réseaux redondants de dispositifs et l'utilisation de systèmes de fichiers flash avec mémoire persistante.
Inclus
11 vidéos2 lectures1 devoir2 évaluations par les pairs
Afficher les informations sur le contenu du module
11 vidéos•Total 224 minutes
Pourquoi avons-nous besoin de l'ECC ? - Tolérance aux pannes dues à un événement unique•16 minutes
Approche SECDED de la protection de la mémoire•22 minutes
Quiz 2 - Mémoire de travail sûre et mémoire persistante•30 minutes
2 évaluations par les pairs•Total 600 minutes
Test de l'émulateur SECDED ECC•420 minutes
Linux Software RAID for Data Protection - par expérience•180 minutes
Résoudre les problèmes de performance et de fiabilité dans les systèmes en temps réel
Module 3•11 heures à terminer
Détails du module
L'efficacité de la mise en œuvre des logiciels de service et les méthodes d'optimisation sont abordées de manière à ce que les calculs puissent être effectués dans les délais impartis. Les méthodes de profilage et de traçage des applications ainsi que de l'ensemble du système sont abordées.
Inclus
9 vidéos1 lecture1 devoir1 évaluation par les pairs
Afficher les informations sur le contenu du module
9 vidéos•Total 128 minutes
Optimisation du code mono-thread avec le compilateur•9 minutes
Optimisation du code - au niveau des threads (séquentiel et parallèle)•21 minutes
Vue d'ensemble des outils de traçage et de profilage•27 minutes
Traçage et profilage du code applicatif (gcov, syslog et gprof)•13 minutes
Profiler et tracer votre plateforme et votre application avec Sysprof et KernelShark•9 minutes
Traçage des événements du noyau Linux et de la pile réseau•4 minutes
Aperçu des principales erreurs de programmation sous Linux•14 minutes
Note sur les méthodes de synchronisation de Linux par rapport au RTOS•17 minutes
Bonnes pratiques pour la programmation du RTES•14 minutes
1 lecture•Total 10 minutes
Les 30 principales erreurs de Linux et du RTES - Comment les corriger•10 minutes
1 devoir•Total 30 minutes
Quiz 3 - Méthodes de traçage et de débogage•30 minutes
1 évaluation par les pairs•Total 480 minutes
Optimisation et co-traitement du RAID basé sur des fichiers embarqués•480 minutes
Différence entre la haute disponibilité et la haute fiabilité pour les systèmes en temps réel durs et souples
Module 4•11 heures à terminer
Détails du module
Ce module intègre les méthodes de tolérance aux pannes et de récupération avec des stratégies globales pour la détection, l'isolation et la récupération des pannes au niveau du système. La conception en tenant compte des modes de défaillance et de l'analyse des effets est couverte ainsi que la gestion de la redondance pour une haute disponibilité.
Inclus
5 vidéos1 devoir1 évaluation par les pairs
Afficher les informations sur le contenu du module
5 vidéos•Total 121 minutes
FDIR - Détection, isolation et récupération des défauts - Théorie•32 minutes
Haute disponibilité : Définition en termes de temps de disponibilité (Five Nine's Uptime) ou mieux•35 minutes
Tests d'intégration des systèmes (matériel, microprogrammes et logiciels)•21 minutes
Rendre les logiciels fiables grâce à l'AQS•19 minutes
Défaillances de systèmes critiques de mission tristement célèbres - Analyse des causes profondes•14 minutes
1 devoir•Total 30 minutes
Quiz 4 - Haute disponibilité et haute fiabilité•30 minutes
1 évaluation par les pairs•Total 480 minutes
Choisissez la pire défaillance de conception en temps réel, étudiez-en la cause profonde et présentez-la•480 minutes
Obtenez un certificat professionnel
Ajoutez ce titre à votre profil LinkedIn, à votre curriculum vitae ou à votre CV. Partagez-le sur les médias sociaux et dans votre évaluation des performances.
Préparer un diplôme
Ce site cours fait partie du (des) programme(s) diplômant(s) suivant(s) proposé(s) par University of Colorado Boulder. Si vous êtes admis et que vous vous inscrivez, les cours que vous avez suivis peuvent compter pour l'apprentissage de votre diplôme et vos progrès peuvent être transférés avec vous.¹
Consulter les diplômes éligibles
Préparer un diplôme
Ce site cours fait partie du (des) programme(s) diplômant(s) suivant(s) proposé(s) par University of Colorado Boulder. Si vous êtes admis et que vous vous inscrivez, les cours que vous avez suivis peuvent compter pour l'apprentissage de votre diplôme et vos progrès peuvent être transférés avec vous.¹
¹La réussite de la candidature et de l'inscription est requise. Les conditions d'admissibilité s'appliquent. Chaque établissement détermine le nombre de crédits reconnus en complétant ce contenu qui peut compter pour les exigences du diplôme, en tenant compte de tout crédit existant que vous pourriez avoir. Cliquez sur un cours spécifique pour plus d'informations.
OK
Instructeur
Évaluations de l’enseignant
Évaluations de l’enseignant
Nous avons demandé à tous les étudiants de fournir des commentaires sur nos enseignants au sujet de la qualité de leur pédagogie.
CU Boulder est une communauté dynamique de chercheurs et d'apprenants sur l'un des campus universitaires les plus spectaculaires du pays. En tant que l'un des 34 établissements publics américains membres de la prestigieuse Association des universités américaines (AAU), nous sommes fiers de notre tradition d'excellence universitaire, avec cinq lauréats du prix Nobel et plus de 50 membres d'académies académiques prestigieuses.
Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?
Felipe M.
Étudiant(e) depuis 2018
’Pouvoir suivre des cours à mon rythme à été une expérience extraordinaire. Je peux apprendre chaque fois que mon emploi du temps me le permet et en fonction de mon humeur.’
Jennifer J.
Étudiant(e) depuis 2020
’J'ai directement appliqué les concepts et les compétences que j'ai appris de mes cours à un nouveau projet passionnant au travail.’
Larry W.
Étudiant(e) depuis 2021
’Lorsque j'ai besoin de cours sur des sujets que mon université ne propose pas, Coursera est l'un des meilleurs endroits où se rendre.’
Chaitanya A.
’Apprendre, ce n'est pas seulement s'améliorer dans son travail : c'est bien plus que cela. Coursera me permet d'apprendre sans limites.’
Quelles sont les exigences matérielles et logicielles pour ce cours ?
Configuration requise
● Un ordinateur Windows ou MAC pour l'accès à distance au Raspberry Pi
● Un réseau domestique avec accès à Internet et un routeur permettant d'atteindre le Raspberry Pi sur le réseau local (Wi-Fi ou Ethernet)
● SSH activé sur le Raspberry Pi (obligatoire)
● VNC activé sur le Raspberry Pi (facultatif, pour l'accès au bureau à distance)
Exigences matérielles
Pour compléter cette spécialisation, vous aurez besoin d'une configuration de laboratoire à domicile basée sur une plate-forme Linux embarquée prise en charge. La configuration suivante est requise et testée pour toutes les activités du cours.
Matériel requis
● Plate-forme matérielle Linux embarquée - Recommandée : Raspberry Pi 3B+ (famille Raspberry Pi ou équivalent)
● Carte MicroSD (16 Go minimum ; 32 Go recommandés)
● Alimentation [context sensitive] de 5V / 2,5A avec interrupteur
● Caméra USB compatible UVC (USB 2.0 ou supérieur)
● Carte microSD (préchargée avec NOOBS ou Raspberry Pi OS)
● Dissipateurs thermiques
● Boîtier
● Alimentation [context sensitive] 5V / 2,5A avec interrupteur
● Câble HDMI
● Caméra USB compatible UVC (USB 2.0 ou mieux)
Configurations matérielles alternatives
Bien que le Raspberry Pi 3B+ soit la plateforme officiellement prise en charge, vous pouvez utiliser d'autres plateformes embarquées compatibles avec Linux à vos propres risques :
● Raspberry Pi 4 (offre USB 3.0, 2+ Go de RAM et Gigabit Ethernet)
Remarque : tout le code de démarrage fourni dans cette spécialisation est testé et vérifié sur le Raspberry Pi 3B+ avec Raspberry Pi OS (anciennement Raspbian).
Exigences logicielles
Capacité à installer et à utiliser l'un des outils d'accès à distance suivants sur votre ordinateur :
● MobaXterm (recommandé pour Windows)
● PuTTY
● VNC Viewer
Quand aurai-je accès aux cours et aux devoirs ?
Pour accéder aux supports de cours, aux devoirs et pour obtenir un certificat, vous devez acheter l'expérience de certificat lorsque vous vous inscrivez à un cours. Vous pouvez essayer un essai gratuit ou demander une aide financière. Le cours peut proposer l'option "Cours complet, pas de certificat". Cette option vous permet de consulter tous les supports de cours, de soumettre les évaluations requises et d'obtenir une note finale. Cela signifie également que vous ne pourrez pas acheter un certificat d'expérience.
Qu'est-ce que je recevrai si je souscris à cette Specializations ?
Lorsque vous vous inscrivez au cours, vous avez accès à tous les cours de la spécialisation et vous obtenez un certificat lorsque vous terminez le travail. Votre certificat électronique sera ajouté à votre page Réalisations - de là, vous pouvez imprimer votre certificat ou l'ajouter à votre profil LinkedIn.
Une aide financière est-elle disponible ?
Oui, pour certains programmes de formation, vous pouvez demander une aide financière ou une bourse si vous n'avez pas les moyens de payer les frais d'inscription. Si une aide financière ou une bourse est disponible pour votre programme de formation, vous trouverez un lien pour postuler sur la page de description.