C Programming for Embedded Systems lehrt die C-Programmiersprache in Bezug auf Embedded-Systems. Die Teilnehmer lernen in diesem Kurs sowohl das gesamte Basiswissen der C-Programmiersprache, als auch wie man einen modernen Embedded-Microcontroller mit Real-Time-Entwicklungstools programmiert. Der Lehrinhalt, die verwendeten Beispiele und die Übungen sind an die praktischen Anforderungen von Embedded-Microcontroller-Programming angepasst.
C Programming for Embedded Systems stellt einen hervorragenden Kompletteinstieg in jeden der Doulos' Embedded-System-Kurse dar, oder für jeden der C im Bezug auf Embedded-Programmierung oder Hardware-Software-Integration lernen möchte.
Praktische Übungen umfassen etwa 50% der Unterrichtszeit und sind sorgfältig auf den Inhalt abgestimmt, um diesen zu vertiefen und die Lernerfahrung zu optimieren. Doulos ist eine herstellerunabhängige Firma, was den Teilnehmern den Vorteil eines objektiven Unterrichts bietet, während sie im Umfeld der von ihnen gewählten Tool-Chain lernen. Öffentliche Kurse nutzen derzeit NXP Kinetis® Design Studio IDE und das FRDM-KL46Z NXP Freedom Development Board. Jeder Teilnehmer wird ein eigenes Entwicklungsboard erhalten, welches er nach dem Kurs auch behalten kann. Weitere Tool-Chains und Entwicklungsboards sind auf Anfrage eventuell für Vor-Ort-Trainings verfügbar. Bitte kontaktieren Sie Doulos für weitere Informationen.
C Programming for Embedded Systems ist ein praxisbezogener Kurs, welcher sich an Software-, Firmware- und Hardware-Ingenieure richtet, welche die praktischen Fähigkeiten lernen möchten, die nötig sind, um Embedded-Microcontroller in C zu programmieren. Der Kurs richtet sich an Interessenten, welche keine C-Kenntnisse haben und an Interessenten, welche C bereits in anderem Zusammenhang genutzt haben, aber noch keine oder kaum Erfahrung mit Embedded-Programmierung in C haben.
Teilnehmer sollten mit grundsätzlichen Konzepten und allgemeiner Syntax von Programmiersprachen vertraut sein und sollten etwas Erfahrung mit der Programmierung in einer Hochsprache (oder HDL) haben. Im Speziellen sollten Teilnehmer mit Funktionen, Variablen, Datentypen, Operatoren und Statements vertraut sein. Dieser Kurs eignet sich nicht als erster Kontakt mit der Computer-Programmierung. Vorangegangene Erfahrung speziell mit C ist vorteilhaft, aber nicht essentiell. Erfahrung mit Embedded-Programmierung ist nicht erforderlich.
Bitte kontaktieren Sie direkt Doulos, um Ihre spezifischen Erfahrung in Bezug auf diese Voraussetzungen zu diskutieren und abzugleichen.
Doulos' Kursunterlagen haben sich einen Namen als die umfangreichsten und anwenderfreundlichsten Materialien gemacht. Ihr Stil, Inhalt und Umfang sind einzigartig in der Embedded-Systems-Trainingswelt und haben Sie zu wertvollen Resourcen werden lassen. Die Materialien beinhalten:
Characteristics of Embedded Systems • C Language Overview • Structure of a C Program • Identifiers • Name Spaces and Scope • Compilation & Linking • MCU Boot Process • C Best Practices for Embedded Systems
MCU Architecture • Program Execution • Variables • Representing Numbers • Types • Casting • Debugging Embedded Systems
Understanding Register Maps • Operators • Bit Manipulation • Modulus and Shifting • Memory Addressing • Sizeof • Ternary Operator • Precedence Rules • Best Practices for Embedded Systems
Software Design Cycle • Software Architecture • UML • Flowcharts • Round Robin Scheduling • Statements • For and While Loops • If and Switch statements • Infinite Loops • Best Practices for Embedded Systems
Introduction to Real-time Concepts • Interrupt Basics • Interrupt Vector Tables • Nesting and Priorities • Software Interrupts • Volatile keyword • Shared Data Problems and Solutions • RMA Analysis • Interrupts Best Practice
Enumerations • Derived Types • Literals • Expressions and Evaluation • State Machines • State Charts • Software Architecture Concepts
Arrays • Multidimensional Arrays • Strings • String Conversion • Pointer Types • Pointers and Arrays • Pointers Operations • Best Practices for Embedded Systems
Pointers to Pointers • Pointers to Constants • Constant Pointers • String Libraries • Manipulating Memory • Best Practices for Embedded Systems
Syntax • Variable Scope • Recursion • Inline Functions • Software Metrics • Static Code Analysis • Testing Techniques • Best Practices for Embedded Systems
Overview of Structures • Unions • Driver Design • Defining APIs • Driver Models • GPIO Driver Example
Arrays of Pointers to Functions • Function Queue Scheduling • Cooperative Scheduling • Scheduler Design • Energy Profiling • Low Power Software Design
Syntax • Storage Class Specifiers • Global Variables • Type Qualifiers • Linkage Identifiers • Best Practice for Embedded Systems
#define • Macros • Precedence • Conditional Compilation • Warnings • #pragma • Predefined Macros
Software Concurrency • Tasks and States • Task Synchronization • Mutexes Semaphores & Queues • GPOS vs RTOS
We can also present supplemental content to address the specific requirements of your team, including extended discussion of topics such as low-power design, software robustness, and avoiding common pitfalls. Please contact Doulos to discuss your specific requirements.
Course Dates: | |||
---|---|---|---|
May 21st, 2019 | Munich, DE | Enquire | |
May 28th, 2019 | Copenhagen, DK | Enquire | |
June 3rd, 2019 | Oslo, NO | Enquire | |
June 11th, 2019 | San Jose, CA | Enquire | |
June 18th, 2019 | Boston, MA | Enquire | |
June 24th, 2019 | Ringwood, UK | Enquire | |
August 13th, 2019 | Woodland Hills, CA | Enquire | |
August 13th, 2019 | San Diego, CA | Enquire | |
September 2nd, 2019 | Munich, DE | Enquire | |
September 23rd, 2019 | Ankara, TR | Enquire | |
September 30th, 2019 | Ringwood, UK | Enquire | |
September 30th, 2019 | Denver, CO | Enquire | |
October 7th, 2019 | Stockholm, SE | Enquire | |
October 14th, 2019 | Copenhagen, DK | Enquire | |
October 22nd, 2019 | Austin, TX | Enquire | |
October 28th, 2019 | Oslo, NO | Enquire | |
November 19th, 2019 | Milwaukee, WI | Enquire | |
December 3rd, 2019 | Woodland Hills, CA | Enquire | |
December 3rd, 2019 | Columbia, MD | Enquire | |
indicates CONFIRMED TO RUN courses. |