Skip to main content
grasp.study
About
Explore
Pricing
Log in
Try it for free
Back to course
👋
Welcome to a Grasp lesson
Create a free account
to keep studying and create your own study path.
Embedded Systems Engineering Curriculum
·
Module 1
Advanced C: Pointers, Memory, and Aliasing
1
Pointer Arithmetic: Types and Behaviors
Compare pointer arithmetic behavior across typed, void, and function pointers, identifying standard compliance and undefined behavior.
2
Jump Table State Machines: Performance vs. Switch Statements
Implement a state machine using a function pointer array (jump table) and compare its performance against a switch-based implementation.
3
Callback Event Handling
Implement a callback-driven event handler for event-driven embedded programming.
4
Heap Allocator Internals
Explain heap allocator internals, including the roles of sbrk/brk, free lists, coalescing, and fragmentation.
5
Fixed-Block Memory Pool Allocator
Implement a fixed-block memory pool allocator for deterministic memory management in real-time systems.
6
C Memory Errors: Identification and Debugging
Identify and fix dangling pointer, wild pointer, double-free, and memory leak bugs in C code samples.
7
Pointer Aliasing and the `restrict` Keyword
Explain pointer aliasing problems and apply the `restrict` keyword to enable compiler optimizations in performance-critical code.
8
Type Punning with Unions and Memcpy
Apply strict aliasing rules and implement safe type-punning using unions or memcpy.
Previous module
Next module
Data Representation and Low-Level Manipulation