OSEK CAN Stack Booting in Automotive ECU
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The booting process of automotive electronics in ECUs is delayed due to the complexity of high-level operating systems, leading to a delay in CAN bus communication, which is critical for real-time automotive applications.
Innovation Solution
Implementing an OSEK-based CAN stack in a memory-mapped region of the ECU, with a data structure storing runtime information, state information, and message buffers, allowing for early execution of instructions across booting phases to speed up the booting process and enable simultaneous initiation of the operating system and applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a high-level operating system (QNX, Linux, Win CE) is used to manage complex automotive electronics, then the system functionality and complexity handling are improved, but the booting process becomes slower and delays critical functional processes
Solution Approach 1:
The patent implements a boot phase manager that divides the booting process into multiple phases and executes specific instructions during each phase before the full operating system is loaded. Critical CAN bus initialization instructions are executed during early boot phases (phase 1 and phase 2) before the high-level OS completes its boot process, enabling early CAN network availability while the OS continues to initialize in the background.
2Loss of time
If the booting process is accelerated by executing instructions before the operating system finishes booting, then CAN bus availability is improved, but system stability and proper initialization may be compromised
Solution Approach 1:
The patent segments the booting process into distinct phases (phase 1, phase 2, phase 3, etc.) with a boot phase manager that controls execution flow. Each phase executes specific subsets of instructions appropriate to that stage, ensuring that critical CAN bus initialization occurs early while less time-critical OS initialization continues in subsequent phases, maintaining system stability through structured progression.
Solution Approach 2:
The boot phase manager acts as an intermediary layer between the instruction set and the execution environment. It manages the transition between boot phases and controls which instructions are executed at each stage, ensuring that early execution of CAN bus instructions does not compromise the stability of the subsequent OS initialization process.
3Speed
If the CAN bus is made available early before the operating system finishes booting, then communication speed is improved, but the complexity of managing multiple boot phases increases
Solution Approach 1:
The boot phase manager is designed as a universal control mechanism that handles multiple boot phases and instruction sets through a unified framework. It manages phase transitions and instruction execution across different boot stages, reducing the perceived complexity by providing a single point of control for the entire multi-phase boot process.
Data Source
AI summary
Disclosed is a method and system for achieving faster booting of automotive electronics in ECU of an automobile in terms of early availability of vehicle communication. The method comprises implementing an Open Systems and their interfaces for Electronics in motor vehicles (OSEK) based Controller Area Network (CAN) stack in each of booting phases of the ECU, wherein the CAN stack is stored in a memory mapped region of the ECU. The method comprises creating a data structure storing information pertaining to at least runtime information, state information, message buffers, and diagnostic session state, wherein the data structure is stored in the memory mapped region. The information stored in the data structure is used for executing one or more instructions of the OSEK based CAN stack for booting the automotive electronics in the ECU, wherein the one or more instructions are executed across each of the booting phases of the ECU.


