FRM-210 · Firmware & MCU
CMIS & Optical Module Firmware
Firmware for pluggable optical modules: the CMIS management interface and the state machines behind it.
Who this course is for
Firmware engineers building or debugging pluggable optical modules, who must implement the CMIS management interface correctly enough to survive host interoperability testing.
Prerequisites
Course outline
Day 1 — The CMIS memory map and host interface
- What CMIS manages and where it sits between host and module
- The memory map: lower memory, upper memory, pages and banks
- Lane-level versus module-level status and control
- The I2C/TWI host interface: addressing, timing requirements and write sequencing
- Reading the specification as a firmware requirement, not a datasheet
Day 2 — State machines and the data path
- The module state machine: reset, low power, ready and the transitions between them
- Per-lane data path state machines: activation, deactivation and fault handling
- Host-initiated versus module-initiated transitions and their signalling
- Interaction with the DSP/PHY: what firmware must configure and in what order
- Flags and interrupts: what the host polls and what you must latch
Day 3 — Diagnostics, CDB and interoperability
- Diagnostics and monitoring: temperature, voltage, optical power and alarm thresholds
- The CDB command interface: command structure, status codes and the firmware-download flow
- Advertising capabilities honestly: what the host believes from your pages
- Interoperability testing: corner-case timing and host behaviour variation
- Debugging a host that rejects your module: reading its side of the wire
Hands-on labs
Labs follow the academy model — 35% principles, 20% guided investigation, 45% engineering studio. Every claim you make in a lab is backed by a trace, a counter or a measurement you captured yourself. How we teach
- Lab: implement the CMIS memory-map skeleton — pages, banks and lane registers — and pass a scripted host-read test
- Lab: implement the module and data-path state machines, drive every legal transition from a host emulator, and log the trace
- Lab: hold the I2C/TWI timing requirements against a host emulator that back-to-backs reads, and find where your implementation breaks
- Lab: exercise the CDB interface: answer commands, report status, and walk a firmware-download sequence including its failure paths
- Lab: debug an injected interoperability failure from host-side captures, identify which page, flag or timing assumption broke, and fix it
Capstone project
Implement a working CMIS management interface on the lab MCU against a scripted host: the memory map, module and data-path state machines, diagnostics reporting and the CDB firmware-download path. The deliverable is evidence, not code alone — a state-transition trace for every legal path, host-capture logs for the negative tests (bad page access, illegal transition, aborted CDB), and an interoperability report stating exactly what a strict host will and will not accept from your module.
What you leave with
- A working CMIS memory-map implementation with pages, banks and lane registers
- Module and data-path state machines with traced transitions
- CDB command handling, including the firmware-download flow and its failure paths
- Host-interoperability debugging skill: reading the wire from the host's side
- A diagnostics and alarm implementation a strict host can rely on
How it runs
Every course follows the same model: 35% principles, 20% guided investigation, 45% engineering studio. You leave with working code, raw measurements and an evidence-based report — not a certificate of attendance. Read the methodology or see a full sample lesson.
Material is adapted to your kernel version, hardware and workload before a private delivery. For public cohorts, the environment is provided and configured.
Questions
Who is this course for?
Firmware engineers building or debugging pluggable optical modules, who must implement the CMIS management interface correctly enough to survive host interoperability testing. It sits at advanced level within the Firmware & MCU track.
What do I need to know already?
Specific prerequisites for this course: FRM-201-level bus firmware, or solid I2C/TWI experience; C firmware development on MCUs; State machines as an implementation pattern. We confirm levels before the cohort starts and adapt if a group is stronger or weaker than expected.
Can this run privately for my team?
Yes. Any course runs on-site at your offices anywhere, or live online for a distributed team, with labs adapted to your hardware and codebase.
What is the difference between in-person and online?
In person is 3 full days with hardware on your desk, capped at 14. Online is 6 half-day sessions across about two weeks so you can keep working, capped at 20, with remote lab access.
Do you invoice companies?
Yes. Purchase orders are accepted and invoicing is available in USD, EUR, GBP, SAR and CAD.
Upcoming dates
| Dates | Where | Seats | Early bird | Regular | |
|---|---|---|---|---|---|
| 1 Nov – 3 Nov 20263 full days | RiyadhIn person · KAFD Conference Centre | 4 of 14 | — | SAR 9,000 | |
| 8 Nov – 10 Nov 20263 full days | Kuwait CityIn person · Al Hamra Tower | 9 of 14 | KWD 670until 9 Oct | ||
| 15 Nov – 17 Nov 20263 full days | MuscatIn person · Knowledge Oasis Muscat | 4 of 14 | OMR 830until 16 Oct | ||
| 15 Nov – 22 Nov 20266 half-days | Gulf bandLive online · 09:00–13:00 GMT+3 | 8 of 20 | US$1,580until 16 Oct | ||
| 16 Nov – 18 Nov 20263 full days | OttawaIn person · Kanata North Tech Park | 9 of 14 | CAD 2,930until 17 Oct | ||
| 23 Nov – 25 Nov 20263 full days | TorontoIn person · MaRS Discovery District | 4 of 14 | CAD 2,930until 24 Oct | ||
| 23 Nov – 30 Nov 20266 half-days | Europe bandLive online · 09:00–13:00 CET | 13 of 20 | US$1,580until 24 Oct | ||
| 30 Nov – 2 Dec 20263 full days | LondonIn person · Shoreditch Works | 9 of 14 | GBP 1,680until 31 Oct | ||
| 30 Nov – 7 Dec 20266 half-days | Americas bandLive online · 13:00–17:00 ET | 18 of 20 | US$1,580until 31 Oct | ||
| 7 Dec – 9 Dec 20263 full days | BerlinIn person · Factory Görlitzer Park | 4 of 14 | EUR 1,990until 7 Nov |
Dates shown for the next few months. If nothing fits, tell us where and when — cohorts are added on demand, and private delivery can be scheduled any week.
More in Firmware & MCU
FRM-1013 days
Bare-Metal C for Microcontrollers
Writing firmware with no operating system underneath: startup, linker scripts, peripherals and interrupts.
Practitioner-taught
SAR 6,750Next 1 Nov
FRM-1103 days
RTOS Fundamentals: Zephyr & FreeRTOS
Task scheduling, synchronisation and driver models in a small real-time operating system.
Practitioner-taught
SAR 7,880Next 11 Oct
FRM-1203 days
Bootloaders & Firmware Update
Updating firmware in the field without bricking devices, including signature verification and rollback.
Practitioner-taught
SAR 7,880Next 15 Nov
FRM-2013 days
I2C, SPI & CAN Protocol Firmware
Implementing and debugging the buses embedded systems communicate over, from the firmware side.
Practitioner-taught
SAR 7,880Next 22 Nov