Skip to content

ECU Extract

In the automotive development phase, an ECU Extract refers to a subset of system-level information derived from the System Extract (SYS Extract) or Vehicle Architecture, focusing only on one specific ECU.


⬅️ Back

πŸ” Definition:

An ECU Extract is a generated data file (usually in ARXML format in AUTOSAR-based systems) that includes only the configuration, interfaces, signals, and components relevant to a particular ECU. It serves as the input for the software and configuration development of that ECU.


πŸ› οΈ When is ECU Extract used?

During the software development lifecycle, after the system architecture is finalized: 1. System Architects create a full System Description (System Extract). 2. Then, toolchains (like Vector DaVinci Developer or AUTOSAR Builder) generate ECU-specific subsets, called ECU Extracts. 3. Each development team receives the ECU Extract to develop and configure that specific ECU's software.


πŸ“ What does an ECU Extract typically contain?

  • ECU-specific software components (SWCs)
  • Required runnables and task mappings
  • Signal interfaces (e.g., CAN, LIN, FlexRay, Ethernet)
  • Port definitions
  • Communication matrix for that ECU (TX/RX signals)
  • RTE (Runtime Environment) mapping
  • Configuration for BSW modules (ComStack, Diagnostics, etc.)

βœ… Why is ECU Extract important?

  • Ensures modular development by isolating relevant data.
  • Reduces complexity for the development team.
  • Enables tool-based code generation (e.g., RTE generation).
  • Prevents conflicts by clearly defining what the ECU is responsible for.
  • Maintains traceability between system-level and ECU-level design.

βš™οΈ How is ECU Extract generated?

  • Typically through tools like:
  • Vector DaVinci Developer
  • EB tresos
  • Mentor Volcano VSA
  • AUTOSAR Builder
  • Based on the System Description (System Extract) and ECU Mapping.

πŸš— Real-world Use Example:

Let’s say a vehicle has a Body Control Module (BCM) responsible for lights, wipers, and door locks. The System Extract contains all data for all ECUs, but for BCM developers, the ECU Extract will only include: - BCM’s software components - Signal interfaces like TurnSignal_Status, Wiper_Command - Communication details over CAN (e.g., CAN0)


πŸ“Š Visual Diagram: ECU Extract in Development Flow

        +------------------------+
        |   System Architecture |
        |  (Vehicle Functions)  |
        +------------------------+
                   ↓
        +------------------------+
        |   System Extract (ARXML)|
        |  - All ECUs             |
        |  - All SWCs             |
        |  - All Signals & Ports  |
        +------------------------+
                   ↓
     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
     ↓                    ↓                    ↓
+-----------+        +-----------+        +-----------+
| ECU1      |        | ECU2      |        | ECU3      |
| Extract   |        | Extract   |        | Extract   |
| (BCM.arxml)|       | (IC.arxml)|       | (ADAS.arxml)|
+-----------+        +-----------+        +-----------+
     ↓                    ↓                    ↓
[ SW Dev Team 1 ]   [ SW Dev Team 2 ]   [ SW Dev Team 3 ]
     ↓                    ↓                    ↓
   [ RTE Gen ]         [ RTE Gen ]         [ RTE Gen ]
     ↓                    ↓                    ↓
   [ Code Gen ]        [ Code Gen ]        [ Code Gen ]

πŸ“„ Sample ECU Extract ARXML Snippet (Simplified)

<AUTOSAR>
  <ECUC-MODULE-CONFIGURATION-VALUES>
    <SHORT-NAME>BodyControlModule</SHORT-NAME>

    <CONTAINER>
      <SHORT-NAME>ComSignal</SHORT-NAME>
      <PARAMETER>
        <DEFINITION-REF>/Com/ComSignalName</DEFINITION-REF>
        <VALUE>TurnSignal_Status</VALUE>
      </PARAMETER>
      <PARAMETER>
        <DEFINITION-REF>/Com/ComSignalLength</DEFINITION-REF>
        <VALUE>8</VALUE>
      </PARAMETER>
    </CONTAINER>

    <CONTAINER>
      <SHORT-NAME>RteEvent</SHORT-NAME>
      <PARAMETER>
        <DEFINITION-REF>/Rte/EventTiming</DEFINITION-REF>
        <VALUE>10ms</VALUE>
      </PARAMETER>
    </CONTAINER>

    <REFERENCE-BASED-VALUE>
      <DEFINITION-REF>/SwComponentInstance</DEFINITION-REF>
      <VALUE-REF DEST="SW-COMPONENT-PROTOTYPE">/SWCs/TurnSignalController</VALUE-REF>
    </REFERENCE-BASED-VALUE>
  </ECUC-MODULE-CONFIGURATION-VALUES>
</AUTOSAR>

πŸ”‘ Key Points in the ARXML Snippet

  • <SHORT-NAME> defines the ECU name (e.g., BCM).
  • <CONTAINER> includes signal and port configurations.
  • <PARAMETER> gives timing, length, etc.
  • <VALUE-REF> shows software component mapping (e.g., TurnSignalController SWC).