J1939 on Zephyr RTOS
Integrating a vendor-certified SAE J1939 protocol stack onto Zephyr - demonstrated on Infineon AURIX, portable to any CAN FD-capable MCU. Functional safety and cybersecurity evidence included.
The de-facto standard on heavy-vehicle CAN networks. Mandatory for interoperability, contractual for OEM acceptance.
J1939 at a Glance
SAE J1939 is the higher-layer protocol that runs on top of CAN in trucks, agricultural and construction vehicles. It defines how ECUs name data, address each other, move large messages and report faults.
PGN / SPN
Message and signal identity - every parameter on the bus has a unique name.
Addressing
Source address, destination, and dynamic address claiming for plug-and-play ECUs.
Transport
BAM and RTS/CTS segmentation for messages larger than 8 bytes.
Diagnostics
DM1 / DM2 fault reporting - active and previously active trouble codes.
Integration Architecture
The certified stack rides on top of Zephyr. We build the glue layer - the only new safety-relevant code - and validate the integration end-to-end.
Stack stays untouched
Integrate, don't fork - modifying certified code destroys its evidence.
Thin, auditable glue
The port is small, reviewable, and the only new safety-relevant code we own.
Stable interface contract
One documented boundary between stack and Zephyr so either side can evolve.
Re-run conformance
Validate the integrated build against the vendor's J1939 test suite.
Zephyr Foundation & the Gap
Zephyr provides the transport foundation. We add the certified J1939 application layer on top - not rebuild what already exists.
Already in Zephyr
- Native CAN subsystem Unified driver model, CAN-FD capable, clean device API.
- ISO-TP (ISO 15765-2) In-tree: single/first/consecutive frames, flow control, reassembly.
- RTOS plumbing Threads, timers, work queues, memory slabs, stable OSAL surface.
The Gap We Fill
- No J1939 application stack PGN/SPN, address claiming, J1939-TP, DM diagnostics - none in Zephyr.
- No conformance certificate Even a community module would carry no OEM-acceptable conformance evidence.
- No integration evidence Safety (SEooC AoU mapping), security (R155 CVE ownership), and timing validation.
What Linumiz Delivers
We own the integration from certified stack to running hardware - and deliver the evidence that makes it auditable.
Glue Layer + Bring-up
OSAL shim, CAN binding, timer mapping. First J1939 frames on the AURIX target. Small, reviewable, safety-relevant.
Conformance Re-test
Vendor's J1939 test suite re-run on the integrated build. Conformance evidence preserved through integration.
Safety & Security Evidence
SEooC Assumptions of Use mapping. UNECE R155 CVE ownership split. Footprint, timing and CPU load benchmarking.
Safety: the SEooC Model
The certified stack is an SEooC (ISO 26262) - developed standalone against assumed safety requirements. Integration validity depends on those assumptions being met.
Stack = SEooC
Built and certified standalone. Carries: safety manual, assumptions of use (AoU), and conformance evidence.
Assumptions of Use
- CAN driver timing within assumed bounds
- Sufficient, correctly-sized buffers
- OSAL primitives behave as expected
- Config stays within certified ranges
- API boundaries preserved
Our Obligation
Validate every AoU is met by the Zephyr + AURIX integration - and document the evidence. Unmet assumption = broken safety argument.