Using C Libraries in your Modern C++ Embedded Project
summary
Project integrates a vendor C EtherCAT slave stack (code‑generated C, ssc) into a Modern C++ embedded product using extern "C" boundaries, layering a hardware abstraction over an Infineon XMC with on‑chip EtherCAT IP, and moving policy into a boost::sml state machine. Three integration levels evolve from a quick working pass to a cleaner layered design. Measured cycle times are ~100 μs with distributed‑clock jitter below 1 μs. The prototype forwards CAN data over EtherCAT and proves the approach; later passes clean up ownership and const issues.
AI-written summary · about
chapters (27)
- 0:00Intro
- 0:34Welcome
- 1:52What is EtherCAT
- 3:00How EtherCAT works
- 7:00Synchronizing clocks
- 10:45Technical Debt
- 13:45Spark Fun Jet Bot
- 17:10Time Costs and Resources
- 19:15How it Works
- 20:35Main Loop
- 24:28externc
- 26:16const in interfaces
- 27:25passone
- 28:50value proposition
- 30:49main
- 33:41hardware
- 35:36abstraction
- 38:49Data members
- 40:11App loop
- 41:00Get status
- 42:43State machines
- 44:29Transition table
- 46:09Events
- 46:23Guards
- 47:19Actions
- 50:38Protocols
- 51:09Problem Solving
related talks
55mC++ in the World of Embedded Systems
57mDeeply Embedded C++
01h 00mBuilding Effective Embedded Systems in C++: Architectural Best Practices
49mCost of C++ Abstractions in C++ Embedded Systems
01h 00mModern C++: C++ Patterns to Make Embedded Programming More Productive
59mHow to understand modern C++ features in practice? Let's create a compiler!
51mBoosting Software Efficiency in C++: 100% Performance Improvement in a C++ Embedded System
01h 31mUsing C++14 in an Embedded “SuperLoop” Firmware
