
Willkommen auf dem Videokurs "Modern Embedded Systems Programming".
In diesem Kurs lernen Sie, wie man eingebettete Mikrocontroller auf moderne Weise programmiert, von den Grundlagen bis zur zeitgenössischen modernen eingebetteten Programmierungspraxis.
Der einzigartige Ansatz dieses Kurses besteht darin, häufig auf die Maschinenebene zurückzuführen und Ihnen genau zu zeigen, was in Ihrem eingebetteten Mikrocontroller passiert. Mit diesem tieferen Verständnis können Sie die Konzepte effizienter und mit größerem Vertrauen anwenden.
Wenn Sie nach einem praktischen, praktischen, gut strukturierten und ausführlichen Kurs suchen, in dem die wesentlichen Konzepte in der eingebetteten Programmierung erklärt werden, ist dieser kostenlose Kurs für Sie geeignet.
Der Kurs begann bereits im Jahr 2013, so dass eine legitime Quension: "Ist er noch relevant?" Die Antwort lautet Ja, vielleicht sogar noch mehr als 2013 aus zwei Hauptgründen:
Dieser Kurs konzentriert sich auf die wesentlichen und grundlegenden Konzepte in der eingebetteten Programmierung, die niemals aus der Mode gehen. Alle vorbereiteten Konzepte werden ausführlich behandelt und umfassen:
Dieser Kurs konzentriert sich auf die vorherrschende Arm-Cortex-M- Architektur, die im letzten Jahrzehnt auf dem eingebetteten MCU-Markt zweifellos dominierte. Die Vertrautheit mit Arm Cortex-M ist die gefragteste Fähigkeiten, nach denen Arbeitgeber suchen.

Armprozessoren, einschließlich der Cortex-M-Familie
Der Kurs wurde von Miro Samek entworfen und unterrichtet - einem eingebetteten Softwareexperten mit über 30 Jahren Erfahrung. Miro unterrichtet gerne, und dieser Videokurs, seine Bücher, Artikel und Konferenzgespräche haben vielen Entwicklern geholfen, ihre Fähigkeiten zu verbessern, schwierige Vorstellungsgespräche zu verabschieden und für eingebettete Programmierpositionen einzustellen.

Miro Samek
Der Kurs beginnt mit den Grundlagen, aber dieser Teil ist kurz und konzentriert sich auf die eingebetteten Aspekte der Programmierung in C. Daher müssen Sie diesen Kurs möglicherweise mit einer allgemeinen Studie der C -Programmiersprache ergänzen. Vielleicht möchten Sie auch etwas darüber lernen, wie eine CPU funktioniert.
Außerdem ist dieser Kurs praktisch, was bedeutet, dass Sie die besprochenen Projekte auf Ihrem PC folgen und durchführen sollten, um das Beste aus diesem Kurs herauszuholen. Dazu benötigen Sie eine Hardware (eine eingebettete Karte) und eine Software (ein eingebettetes Entwicklungs -Toolset).
NOTIZ
Mehrere frühe Lektionen verwenden einen Simulator , und daher benötigen Sie das eingebettete Board nicht sofort. Fortgeschrittene Lektionen, bei denen Sie mit den MCU -Peripheriegeräten (wie GPIO usw.) interagieren, erfordern eine eingebettete Karte.
Das im gesamten Kurs verwendete wichtigste eingebettete Board ist das Tivac LaunchPad Board (auch bekannt als EK-TM4C123GXL), das auf dem ARM Cortex-M4F -Mikrocontroller aus Texas Instruments basiert. Das Board ist kostengünstig und kann weiterhin bei mehreren elektronischen Distributoren gekauft werden. Es ist in sich geschlossen und bietet einen integrierten Hardware-Debugger/-programmierer (Stellaris ICDI), mit dem einstufiges Debuggen und Inspektion des internen Zustands ermöglicht werden kann.

TIVAC LOUNDPAD (EK-TM4C123GXL)
Der Kursdownload enthält jetzt auch Projektversionen für den STM32 Nucleo-C031C6, basierend auf der ARM Cortex-M0+ MCU. Das Board ist auch kostengünstig, in sich geschlossen und enthält einen noch vielseitigeren integrierten Hardware-Debugger (ST-Link), mit dem einstufiges Debuggen und Inspektion des internen Zustands ermöglicht werden kann.

STM32 Nucleo-C031C6
NOTIZ
Kursprojekte für andere kostengünstige eingebettete Boards werden in Zukunft hinzugefügt.
Um den in diesem Kurs dargestellten Code zu erstellen und auszuführen, benötigen Sie eines der folgenden eingebetteten Toolsets:
Der Kurs begann mit der IAR eingebetteten Workbench für Arm (Ewarm), die in den Lektionen 1-19 verwendet wird. Iar Ewarm ist ein professionelles Toolset mit einem guten Compiler und einem stabilen Debugger.

Iar ewarm mit einem der Projekte
NOTIZ
IAR Ewarm war früher unter einer kostenlosen, von Größenbegrenzung begrenzten Kickstart-Lizenzierung erhältlich, aber in letzter Zeit haben IAR-Systeme keine kostenlosen Lizenzen eingestellt. Die einzige kostenlose Option ist eine 2-wöchige Bewertungslizenz. Projekte für IAR Ewarm wurden auf die neueren Versionen des Toolset aktualisiert und werden für den Unterricht 1-19 bereitgestellt.
Keil MDK (Microcontroller Development Kit) ist ein weiteres Toolset für berufliche Entwicklung, das in diesem Videokurs verwendet wird. Im Gegensatz zu IAR Ewar wird Keil MDK unter zunehmend zulässiger Lizenz angeboten, einschließlich kostenloser Keil MDK V6 Community Edition.

Keil uvision ide mit einem der projecs
NOTIZ
Keil MDK -Projekte sind ab sofort für alle Lektionen dieses Kurses verfügbar. Dies schließt die Lektionen 1-21 ein, die ursprünglich für IAR Ewarm oder Ti Ccs vorgestellt wurden.
Aufgrund der populären Nachfrage zeigen zwei Lektionen des Kurses (19 und 20) die IDE -IDE -IDE -IDE -IDE in Texas Instruments. Der einzige wertvolle Aspekt ist die Verwendung des Open-Source -Gnu-Arm- Compilers und -Linker.
NOTIZ
Code Composer Studio (CCS) 11 verwendet standardmäßig den Ti-Compiler und wird nicht mehr mit dem installierten Gnu-Arm-Compiler geliefert. Die Gnu-Arm-Toolchain kann jedoch über das Menü installiert werden: "Hilf | Installieren von GCC-Arm-Compiler-Tools ..."

Eclipse-basierter Codekomponisten Studio IDE mit einem der Projekte
Die CCS -IDE basiert auf Sonnenfinsternis und aus diesem Grund ist es schmerzlich langsam zu starten und zu verwenden. Die Eclipse -Projekte sind nicht schwer zu teilen, da sie aus mehreren Dateien und Verzeichnissen bestehen. Außerdem können Projekte nicht einfach in der IDE geöffnet werden, sondern müssen stattdessen "importiert" werden. Die generierten Fehlermeldungen sind häufig verwirrend. Schließlich ist das Debuggen langsam und instabil.
Dieses Repository enthält die Projekt -Downloads, die Sie in einem bestimmten eingebetteten Toolset öffnen und zu Hause auf Ihrem PC ausführen können. Die Projekte sind wie im folgenden kommentierten Verzeichnisbaum organisiert:
modern-embedded-programming-course/
+---lesson-01/ // lesson number
| +---simulator-iar/ // simulator with IAR EWARM
| | workspace.eww // IAR workspace
| |
| ---simulator-keil/ // simulator with KEIL MDK
| ---RTE/ // Run Time Environment for KEIL MDK
| lesson.uvprojx // uVision project
|
+---lesson-.../
|
+---lesson-04/
| +---stm32c031-keil/ // STM32C031 board with KEIL-MDK
| | ---RTE/ // Run Time Environment for KEIL MDK
| +---tm4c123-iar/ // TM4C123 board with IAR EWARM
| | workspace.eww // IAR workspace
| |
| ---tm4c123-keil/ // TM4C123 board with KEIL MDK
| ---RTE/ // Run Time Environment for KEIL MDK
| lesson.uvprojx // uVision project
|
+---lesson-...
|
+---lesson-19
| ---tm4c123-ccs // TM4C123 board with CCS
| +---ek-tm4c123gxl/ // board-specific code
| ---targetConfigs/ // CCS project directory
| .ccsproject // CCS project file
| .csproject // Eclispe project file
| .project // Eclipse project file
Alle Projekte für ARM/Keil Uvision wurden vom veralteten Compiler-5 bis zum neueren Compiler-6 aktualisiert.
Wenn Sie diesen Kurs oder verwandte Themen diskutieren möchten, veröffentlichen Sie bitte Ihre Fragen oder Kommentare auf YouTube im Hilfsabschnitt unter jeder Videostunde.
Zahlreiche Ressourcen für den Videokurs sind über die Companion -Webseite unter:
www.state-machine.com/video-cours
Unter anderem können Sie dort finden:
Wenn Ihnen dieses Projekt gefällt, bitte:

Verbreiten Sie das Wort über die Videos, die Sie mögen (z. B. durch das Posten auf anderen Websites, die von eingebetteten Leuten frequentiert werden)
Geben Sie diesem Github-Repository einen Stern (in der oberen rechten Ecke Ihres Browserfensters):
