![]() |
Embedded C: Reusable Modules & Unit Testing
![]() Embedded C: Reusable Modules & Unit Testing Published 4/2026 Created by Embedded Insights MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz, 2 Ch Level: Intermediate | Genre: eLearning | Language: English | Duration: 26 Lectures ( 2h 5m ) | Size: 1.32 GB What you'll learn ✓ Design reusable embedded C modules with clear APIs and predictable behavior ✓ Set up a host-based testing workflow with Unity and Ceedling ✓ Write and run unit tests for embedded C code on the host ✓ Implement core embedded components including ring buffers, queues, and event dispatchers ✓ Structure embedded systems using event-driven design and table-driven state machines ✓ Integrate modules into a complete event-driven system with a working application loop ✓ Build deterministic systems using static memory allocation ✓ Validate behavior and handle edge cases through thorough unit testing ✓ Apply these patterns to real embedded use cases such as drivers, logging, and communication systems Requirements ● Basic proficiency in C programming (functions, pointers, structs) ● Familiarity with embedded systems concepts (e.g., interrupts, peripherals, or firmware structure) ● Experience working with header/source files and modular C code Description This course contains the use of artificial intelligence. (Used only for minor visual assistance such as slide layout. All instruction, code, and narration are created by the instructor.) Course Description Most embedded systems start simple, but quickly become harder to test, harder to scale, and harder to maintain. This course focuses on solving that by building reusable embedded C modules and validating them using host-based unit testing. What this course is about You'll build a set of practical embedded components and see how they fit together in a clean, event-driven system. The focus is on • Reusable design • Predictable behavior • Proper verification All testing is done on the host using Unity and Ceedling, so you can validate firmware logic without hardware. What you'll build Throughout the course, you'll work with core embedded building blocks, including • Bit and register field helpers • Ring buffer (deterministic, stream-safe) • Fixed-size queue (no dynamic allocation) • Event dispatcher (ID to handler routing) • Table-driven finite state machine • Integrated event-driven mini system Each module is • Statically allocated • Deterministic • Tested with edge cases • Designed for reuse Testing approach Every component is verified with unit tests on the host. This includes • Validating normal behavior • Handling edge cases • Testing failure conditions • Verifying integration between components You'll also see use-case style tests and system-level flows, so it's clear how each piece behaves in a working application. How this course is different This is not a "type along" coding course. The focus is on • Understanding real implementations • Testing behavior properly • Seeing how components interact in a system The goal is not just to write code, but to build components you can reuse and trust. Why host-based testing matters Most embedded logic does not require hardware to verify. By testing on your PC, you can • Iterate faster • Catch edge cases early • Improve code quality before deployment This workflow is widely used in professional embedded development and is often missing from traditional courses. What you'll walk away with By the end of this course, you'll be able to • Design reusable embedded C modules with clean APIs • Structure firmware using event-driven patterns • Write and run unit tests using Unity and Ceedling • Validate behavior, including edge cases, on the host • Integrate components into a complete working system Who this course is for ■ Embedded C developers who want to improve code structure, reuse, and testability ■ Developers looking to apply unit testing to firmware without relying on hardware ■ Engineers building systems with queues, state machines, or event-driven design |
| ×àñîâîé ïîÿñ GMT +3, âðåìÿ: 11:12. |
vBulletin® Version 3.6.8.
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Ïåðåâîä: zCarot