Modern Embedded Systems Programming Course
FreeLearn from the basics to modern embedded programming practice.
About Modern Embedded Systems Programming Course
Companion repository to the 'Modern Embedded Systems Programming' video course. This free, open-source course teaches embedded microcontroller programming from the basics to contemporary modern practice. It uniquely steps down to the machine level to show exactly what happens inside the microcontroller, enabling deeper understanding and confident application. The course covers fundamental concepts such as binary representations, flow control, variables, arrays, pointers, GPIO, bitwise operations, functions, call stack, recursion, ARM Procedure Call Standard, standard integers, structures, CMSIS, startup code, vector table, build process, interrupts, race conditions, superloop architecture, RTOS, object-oriented programming in C, event-driven programming, active objects, hierarchical state machines, automatic code generation, and software tracing. It is practical, hands-on, well-structured, and in-depth, making it suitable for beginners and experienced developers alike.
Key Features
Pros & Cons
- Completely free and open-source
- Gradual progression from basics to modern advanced topics
- In-depth explanations with machine-level views
- Hands-on code examples for practical learning
- Covers both hardware and software aspects of embedded systems
- Includes modern practices like event-driven programming and hierarchical state machines
- Requires specific ARM Cortex-M hardware (e.g., TI Tiva C LaunchPad) for full hands-on exercises
- Course started in 2013; some toolchain details may have changed, but fundamentals remain relevant