CI for embedded systems is more complex than for pure software due to hardware dependencies. Three main CI approaches are covered: host-based (cross-compiling and running tests on target hardware via JTAG/serial), non-host-based (running tests on the development machine to capture business logic and code coverage), and hardware-in-the-loop (HIL), which runs production firmware with synthetic data inputs for functional verification. Trade-offs include cost, parallelism, timing accuracy, and portability. A typical CI pipeline covers build, static analysis (Cppcheck, Clang, Flexelint), unit testing, and report collection. Jenkins is highlighted as a flexible open-source CI tool with embedded-specific plugins.