Course Content
Modern Embedded Systems Programming
0/55
#0 Modern Embedded Systems Programming: Getting Started
11:53
#1 How computers count?
17:06
#2 How to change the flow of control through your code
10:59
#3 Variables and Pointers
12:22
#4 How to control the world outside?
16:44
#5 Preprocessor and the “volatile” keyword in C
14:29
#6 Bit-wise operators in C
17:05
#7 Arrays and Pointer Arithmetic
15:21
#8 Functions in C and the call stack
17:05
#9 Modules, Recursion, ARM Application Procedure Call Standard(AAPCS)
19:07
#10 Stack Overflow and Other Pitfalls of Functions
27:41
#11 Standard integers (stdint.h) and mixing integer types
28:34
#12 Structures in C and Cortex Microcontroller Software Interface Standard (CMSIS)
32:11
#13 Startup Code Part-1: What is startup code and how the CPU gets from reset to main?
23:27
#14 Startup Code Part-2: Replacing the vector-table, embedded software build process
25:44
#15 Startup Code Part-3: Vector table initialization, exception handlers, interrupt handlers
27:35
#16 Interrupts Part-1: What are interrupts, and how they work
15:58
#17 interrupts Part-2: How most CPUs (e.g. MSP430) handle interrupts?
19:52
#18 interrupts Part-3: How interrupts work on ARM Cortex-M?
15:27
#19 GNU-ARM Toolchain and Eclipse IDE
22:18
#20 Race Conditions: What are they and how to avoid them?
16:57
#21 Foreground-Background Architecture (“Superloop”)
18:36
#22 RTOS Part-1: What is a Real-Time Operating System?
23:25
#23 RTOS Part-2: Automating the context switch
37:36
#24 RTOS Part-3: Automating the scheduling with round-robin policy
19:15
#25 RTOS Part-4: Efficient blocking of threads
25:35
#26 RTOS Part-5: What is “real-time”? Preemptive, priority-based scheduling
29:31
#27 RTOS Part-6: Synchronization and communication among concurrent threads
43:03
#28 RTOS Part-7: Mutual exclusion mechanisms
38:02
#29 OOP Part-1: Encapsulation (classes) in C and C++
31:28
#30 OOP Part-2: Inheritance in C and C++
24:01
#31 OOP Part-3: Polymorphism in C++
23:41
#32 OOP Part-4: Polymorphism in C
27:29
#33 Event-Driven Programming Part-1: GUI example, events, event-loop, run-to-completion, no-blocking
29:32
#34 Event-Driven Programming Part-2: Best practices for concurrency & Active Object pattern
39:11
#35 State Machines Part-1: What is a state machine?
24:15
#36 State Machines Part-2: Guard conditions
14:10
#37 State Machines Part-3: Input-Driven State Machines
31:54
#38 State Machines Part-4: State Tables and Entry/Exit Actions
26:35
#39 State Machines Part-5: Optimal Implementation in C
33:09
#40 State Machines Part-6: What is a Hierarchical State Machine?
31:58
#41 State Machines Part-7:Automatic Code Generation
30:55
#42 State Machines Part-8: Semantics of Hierarchical State Machines
23:02
#43 Active Objects in Real-Time Part-1: Run-to-Completion and RMS/RMA
14:10
#44 Active Objects in Real-Time Part-2: Mutable Events
23:31
#45 Software Tracing with printf
27:52
#46 Software Tracing with Binary Protocols
26:36
#47 Assertions and Design by Contract, Part-1
13:35
#48 Assertions and Design by Contract, Part-2
15:56
#49 Embedded Unit Testing
23:45
#50 To block or NOT to block, that is the question! Blocking as technical debt…
11:00
#51 Traceable Documentation with Doxygen & Spexygen
23:38
#52 Using low-power sleep modes in the “superloop” architecture
30:00
#53 Priority-based scheduler for the “superloop” architecture
18:25
#54 Non-preemptive QV Kernel for Active Objects
28:02
Modern Embedded Systems Programming (By: Quantum Leaps, LLC)
0%
Complete
Mark as Complete
Select your currency
USD
United States (US) dollar
EGP
Egyptian pound