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 de crédits universitaires en tant que ECEA 5315, dans le cadre du Master of Science in Electrical Engineering de CU Boulder. Description du cours : Dans ce cours, les étudiants concevront et réaliseront une application de système embarqué à base de microprocesseur en utilisant un système d'exploitation en temps réel ou des extensions RT POSIX avec Embedded Linux. Le cours se concentre sur le processus ainsi que sur les principes fondamentaux de l'intégration des éléments d'un système embarqué basé sur un microprocesseur pour la commande et le contrôle numériques des systèmes matériels embarqués typiques. Description du laboratoire : Le cours exige que l'étudiant installe Linux embarqué sur le processeur système sur puce Raspberry Pi ARM série A. Ce cours doit être suivi à l'aide d'un Raspberry Pi ARM série A. Ce cours doit être suivi à l'aide d'un Raspberry Pi ARM série A. Ce cours doit être réalisé en utilisant un Raspberry Pi comme système embarqué (headless) et non un PC sous Linux. Vous trouverez cependant Linux comme système de développement hôte utile ou Windows avec un outil d'accès au terminal SSH tel que Putty, MobaXterm, ou équivalent. Ce cours comprend des exigences matérielles et logicielles spécifiques. Veuillez consulter la FAQ ci-dessous pour plus de détails.
Ce module présente une introduction à la théorie du temps réel, les défis rencontrés dans la conception de systèmes en temps réel et les politiques d'ordonnancement mises en œuvre, tout en comparant les threads en temps réel de Linux POSIX aux systèmes RTOS et MFE.
Inclus
8 vidéos15 lectures4 devoirs2 devoirs de programmation1 évaluation par les pairs1 sujet de discussion
Afficher les informations sur le contenu du module
8 vidéos•Total 199 minutes
Introduction au cours•13 minutes
Logiciel de réponse prévisible•37 minutes
Services temps réel simples de Linux comparés aux services non temps réel - Introduction•18 minutes
Comparaison des services temps réel simples de Linux et des services non temps réel - Conclusion•37 minutes
Introduction à la théorie de l'ordonnancement pour les systèmes en temps réel•30 minutes
Politique de priorité optimale de la RM et délai de demande de service et de réponse•10 minutes
Analyse du timing - Politique d'attribution de priorité monotone par exemple•8 minutes
Défis posés par les applications en temps réel de l'espace utilisateur et du noyau de Linux•46 minutes
15 lectures•Total 141 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
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
Ressources pour la programmation POSIX Pthread•10 minutes
Compétences de base en matière de Makefile à l'aide d'un exemple•10 minutes
AIDE SUPPLÉMENTAIRE : Installation d'un laboratoire à domicile•10 minutes
AIDE SUPPLÉMENTAIRE : Procédures et démonstrations de code•10 minutes
Terminologie du RTES pour le balayage et les questions•10 minutes
AIDE SUPPLÉMENTAIRE : Procédures et démonstrations de code•10 minutes
AIDE SUPPLÉMENTAIRE : Procédures et démonstrations de code•10 minutes
Relire, réciter et revoir la terminologie du RTES que nous avons utilisée•10 minutes
4 devoirs•Total 60 minutes
Concepts de base et terminologie•15 minutes
Politiques de programmation•15 minutes
Services•15 minutes
Module 1 - Threads POSIX et systèmes Linux•15 minutes
2 devoirs de programmation•Total 360 minutes
Devoir 1 : Hello World ! - Création d'une thread simple•180 minutes
Affectation 2 : Fils multiples•180 minutes
1 évaluation par les pairs•Total 60 minutes
Examen du code de base et du code multithread•60 minutes
1 sujet de discussion•Total 10 minutes
Présentez-vous•10 minutes
Théorie de la qualité de service : du meilleur effort au temps réel difficile
Module 2•14 heures à terminer
Détails du module
Ce module décrit les courbes d'utilité utilisées pour l'analyse des systèmes en temps réel ainsi que la politique d'ordonnancement monotone et sa condition de moindre limite supérieure. Il décrit également les normes de temps et de date absolues qui sont des paramètres critiques pour les services en temps réel.
Inclus
7 vidéos3 lectures3 devoirs1 devoir de programmation2 évaluations par les pairs
Afficher les informations sur le contenu du module
7 vidéos•Total 124 minutes
Démonstration de code : SMP comparé à AMP•6 minutes
Code Walkthrough : Code de démarrage pour AMP utilisant Thread Affinity•7 minutes
Courbes d'utilité de l'ordonnancement en temps réel•18 minutes
Code Walkthrough : Horloge RT•15 minutes
Révision des normes et ressources relatives à l'heure et à la date absolues•35 minutes
Analyse de l'ordonnancement monotone des taux par inspection du pire des cas•16 minutes
Ordonnancement monotone - Faisabilité vs. sécurité et dépassement du RM LUB•27 minutes
3 lectures•Total 320 minutes
Analyse et interrogation d'un document original sur la théorie de la monotonie des taux (Liu & Layland)•180 minutes
Lecture optionnelle sur Linux NPTL et SCHED_DEADLINE•120 minutes
Relire, réciter et revoir la terminologie du RTES que nous avons utilisée•20 minutes
3 devoirs•Total 90 minutes
Courbes d'utilité en temps réel•30 minutes
Ordonnancement monotone des taux•30 minutes
Module 2 : Analyse des systèmes en temps réel, services harmoniques et politique de programmation RMA•30 minutes
1 devoir de programmation•Total 180 minutes
Affectation 3 : Mise en œuvre des threads en temps réel sous Linux•180 minutes
2 évaluations par les pairs•Total 120 minutes
Affectation 3 : Mise en œuvre des threads en temps réel sous Linux•60 minutes
Examen du code d'affinité et d'horloge RT des cœurs de processeurs•60 minutes
Ordonnancement et concept de services en temps réel
Module 3•10 heures à terminer
Détails du module
Ce module couvre les méthodes de séquençage des demandes de service ainsi que les politiques d'ordonnancement logiciel et d'ordonnancement en temps réel.
Inclus
13 vidéos1 lecture2 devoirs2 évaluations par les pairs
Afficher les informations sur le contenu du module
13 vidéos•Total 187 minutes
Machine d'état de l'ordonnanceur prioritaire préemptif pour Linux et VxWorks•22 minutes
Structure du code de service pilotée par les interruptions•15 minutes
Résumé des points clés et des utilisations et limites de la RMA Liu & Layland•31 minutes
Plus de détails sur les limitations et les solutions de contournement du RMA de Liu et Layland•28 minutes
Code Walkthrough : Exemple de minuteur d'intervalle logiciel POSIX•8 minutes
Code Walkthrough : Séquencement générique à l'aide d'un minuteur d'intervalle•10 minutes
Comparaison de l'exécution cyclique, du RTOS et de la mise en œuvre du service RT de Linux•30 minutes
Introduction à l'analyse du pire des cas : diagramme manuel des calendriers de gestion des risques•9 minutes
Analyse du pire cas : Calendrier en cas d'échec de la gestion des ressources naturelles (au-dessus de la limite inférieure de la fourchette)•6 minutes
Exemple WHERE où le RM dépasse le LUB pour un ensemble de services harmonieux•7 minutes
Exemple de programmation au-dessus du LUB à 100 % d'utilisation et faisable•6 minutes
Analyse d'un horaire de service harmonique par diagramme manuel pour RM et RR•7 minutes
Introduction à l'outil Cheddar RMA•8 minutes
1 lecture•Total 10 minutes
Relire, réciter et revoir la terminologie du RTES que nous avons utilisée•10 minutes
2 devoirs•Total 30 minutes
Programmation en temps réel et demandes de service•15 minutes
Module 3 - Révision et analyse de base du chronométrage à la main et au cheddar•15 minutes
2 évaluations par les pairs•Total 390 minutes
Entraînement à l'utilisation du séquenceur générique pour créer un scénario•240 minutes
Utilisation de Cheddar pour vérifier l'analyse manuelle des calendriers•150 minutes
Aperçu des architectures matérielles et des piles logicielles en temps réel
Module 4•14 heures à terminer
Détails du module
Ce module traite de l'utilisation des microprocesseurs multi-cœurs pour les applications en temps réel et donne un aperçu des options RTOS (ouvertes et propriétaires) et du système d'exploitation avec les extensions POSIX en temps réel pour les systèmes en temps réel.
Inclus
4 vidéos2 lectures2 devoirs1 devoir de programmation3 évaluations par les pairs
Afficher les informations sur le contenu du module
4 vidéos•Total 46 minutes
Introduction - Série ARM M, série R et série A•8 minutes
Aperçu des ordinateurs monocartes utilisés pour l'enseignement en temps réel•15 minutes
Utilisation de Linux pour ce cours - Raison d'être et observations•11 minutes
Démonstration de code : Concepts de grille de threads pour le multi-cœur•11 minutes
2 lectures•Total 130 minutes
Architecture exécutive multifréquence de la navette spatiale•120 minutes
Relire, réciter et revoir la terminologie du RTES que nous avons utilisée•10 minutes
2 devoirs•Total 45 minutes
AMP/SMP et co-processeurs•30 minutes
Module 4 - Préparez-vous à l'examen final !•15 minutes
1 devoir de programmation•Total 180 minutes
Affectation 4 : Pthreads avec affinité de cœur de CPU dans Linux pour émuler AMP•180 minutes
3 évaluations par les pairs•Total 450 minutes
Architecture et configuration des applications en temps réel•270 minutes
Affectation 4 : Pthreads avec affinité des cœurs de CPU dans Linux pour émuler AMP•60 minutes
Utiliser des cœurs multiples avec des threads pour accélérer le traitement•120 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.’
Avis des étudiants
3.9
98 avis
5 stars
53,06 %
4 stars
20,40 %
3 stars
6,12 %
2 stars
7,14 %
1 star
13,26 %
Affichage de 3 sur 98
Y
YS
5·
Révisé le 30 oct. 2022
Very informative, it might need some code updates but everything is alright.
T
TT
5·
Révisé le 6 mars 2025
this course is very helpful to increase my skills and knowledge.
W
WS
5·
Révisé le 18 nov. 2022
An excellent course,very practical, rigorous and very well explained. 
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.