Skip to main content

Embedded software · AUTOSAR · MISRA C · ASPICE

Embedded Software for Production Vehicle Systems.

Agnile develops embedded software for automotive control units and safety-critical systems, spanning AUTOSAR Classic and Adaptive, MCAL and complex device drivers, diagnostics, communication stacks, bootloaders, and production-quality application software. Our teams work close to target hardware, integration constraints, safety requirements, cybersecurity controls, and release evidence.

AUTOSAR Classic + AdaptiveASPICE Level 2+MISRA C compliantProduction proven

What does automotive embedded software engineering cover?

Automotive embedded software engineering is the code that runs close to the silicon of an ECU: MCAL and low-level drivers, Complex Device Drivers for peripherals AUTOSAR does not standardise, bootloaders and secure flashing, diagnostics, and the application software that implements vehicle functions. Agnile Technologies develops this software in MISRA C on Infineon AURIX, Renesas RH850, and NXP S32K and S32G targets, under ASPICE-aligned processes with traceable test evidence.

Configuring and integrating the AUTOSAR BSW, RTE, and the communication, diagnostic, and Crypto Stack modules is covered by our AUTOSAR development services; the same team can deliver both.

Reviewed by Shreyansh, Founder & CTO ·

Automotive ECU software focus

Automotive ECU Software Focus

This page focuses on automotive ECU software: MCAL, CDD, bootloaders, diagnostics, communication drivers, and application software. AUTOSAR stack configuration and integration — BSW, RTE, SOME/IP, DoIP and the Crypto Stack — is on the AUTOSAR development page. For broader firmware, RTOS, embedded Linux, gateways, OTA, and connected-device platforms, see Embedded & IoT Engineering.

Capability areas

Embedded Software Close to Silicon

MCAL & Low-Level Drivers

Board bring-up, MCAL configuration and extension for new silicon variants, peripheral configuration, and drivers validated on target hardware.

Complex Device Drivers

Drivers for peripherals and vendor IP AUTOSAR does not standardise — external device interfaces, sensor and actuator interfaces, custom DMA — with defined timing and error behaviour.

Bootloaders & Secure Flashing

UDS-based bootloaders and flash drivers implementing the programming sequence, Secure Boot integration with the HSM, and defined behaviour when programming is interrupted.

Diagnostics & Communication

UDS, OBD, J1939, CAN, CAN-FD, LIN, FlexRay, Ethernet, SOME/IP, diagnostic event handling, and service implementation.

Application Software & Integration

Control application development, model-based design integration, hand-written embedded C/C++, software integration, static analysis, and release support.

AUTOSAR Classic & Adaptive Integration

Drivers and applications delivered into AUTOSAR Classic and Adaptive stacks — with BSW, RTE, and Crypto Stack configuration handled by our AUTOSAR development team.

How we approach the security-relevant layers is written up in our guides to secure MCAL and CDD development, Secure Boot and the ECU chain of trust, HSM integration, the AUTOSAR Crypto Stack and SecOC message authentication. Choosing a platform? Read AUTOSAR Classic vs Adaptive.

What we deliver

Deliverables and the Evidence They Support

Source, configuration, and reports live in your toolchain and version control; each artefact maps to the safety, security, or process evidence it supports.

DeliverableWhat It ContainsEvidence It Supports
Driver and CDD sourceMISRA C source with unit tests, integration guide, and sample applicationISO 26262 Part 6 unit design and verification; ASPICE detailed design and unit verification
Bootloader and flash driverProgramming sequence, memory layout, signature-verification hook to the HSM, and behaviour on interrupted programmingISO/SAE 21434 cybersecurity specification and verification for secure flashing and Secure Boot
Diagnostic implementationUDS services, DTC handling, security access and authentication, service mapping documentOEM diagnostic acceptance; secure-diagnostics evidence
Application softwareSoftware Components or modules with design documentation and recorded reviewsASPICE software architecture and detailed design
Static analysis reportMISRA C:2012 results with justified deviationsISO 26262 Part 6 coding-guideline compliance; ASPICE static verification
Unit and integration test reportUnit tests with structural coverage and on-target integration resultsASPICE unit and integration verification; ISO 26262 Part 6 software unit and integration verification
Traceability matrix and release notesRequirement to design to code to test, change log, and known issuesASPICE bidirectional traceability; release decision

Engagement models

How we engage on embedded software programmes.

ECU software bring-up on a target MCU, MCAL or Complex Device Driver development for new silicon, or a focused diagnostic-stack delivery. We scope the actual work on the call.

  • ES-01·8–12 weeks

    ECU Software Bring-Up

    Board bring-up through first release on your target MCU — clocks, pins, and power sequencing, MCAL configuration, drivers and CDDs, application software, and on-target integration, handed into your AUTOSAR stack. Full BSW and RTE integration is scoped through our AUTOSAR development service.

    Engagement flow

    Bring-up + MCAL
    3w
    Drivers + CDD
    3w
    Application SW
    4w
    Integration + Release
    2w

    Deliverables

    • Board bring-up + MCAL configuration
    • Driver / CDD source + unit tests
    • Application software (MISRA C)
    • ASPICE-traceable evidence
  • ES-02·6–10 weeks per family

    MCAL / CDD Driver Development

    MCAL configuration for new silicon variants or Complex Device Drivers for vendor IP that doesn't fit AUTOSAR. Typical work: HSM, custom DMA, ECC, vendor-specific transceivers. We deliver the source, integration guide, and target tests.

    Engagement flow

    MCAL config
    2w
    CDD development
    5w
    Integration + Verification
    3w

    Deliverables

    • MCAL configuration set
    • CDD source + unit tests
    • Integration guide + sample app
  • ES-03·4–6 weeks

    Diagnostic Stack Implementation

    UDS / OBD-II / J1939 diagnostic stack tailored to your transport (CAN-TP, DoIP). Security access, ECU programming flow, DTC management, and routine control — with the service mapping document your vehicle programme needs at acceptance.

    Engagement flow

    Service Mapping
    1w
    Stack Configuration
    3w
    Verification
    2w

    Deliverables

    • UDS / OBD-II / J1939 stack
    • Security access (0x27, 0x29) implementation
    • Service mapping document

Why Agnile

What We Do Differently

  • 01

    AUTOSAR Classic and Adaptive engineers in the same team. We carry both stacks, so when your domain-controller workload moves from Classic to Adaptive, the same engineers move with it.

  • 02

    Production-proven on AURIX, RH850, S32K, S32G, and TDA4. Code running on series ECUs under audit.

  • 03

    Vendor-stack agnostic — we work in Vector, Elektrobit, EB tresos, or whatever your existing toolchain runs.

  • 04

    MISRA C:2012 compliance enforced via Polyspace, Helix QAC, or LDRA — and the deviation rationale documented in the ASPICE evidence pack.

  • 05

    ASPICE Level 2+ delivery aligned to your existing process. We meet your assessor where they are.

Standards depth

Standards we work to.

The AUTOSAR layers, coding rules, and process standards we deliver against.

  • AUTOSAR Classic R20-11+

    Layered architecture for deeply embedded ECUs

    We deliver ARXML system designs, MCAL configurations, BSW integration with Vector / Elektrobit / EB tresos, RTE generation, and SWC implementations on AURIX, RH850, S32K production silicon.

  • AUTOSAR Adaptive R23-11+

    POSIX-based platform for high-performance compute

    ARA-API integrations, service-oriented architecture using SOME/IP, Adaptive Platform manifest generation, and POSIX application development for ADAS / AD domain controllers on S32G, TDA4, automotive Linux.

  • MISRA C:2012 + AMD3

    Coding rules for safety-critical software

    Polyspace, Helix QAC, or LDRA integrated into the build. Mandatory and required rules enforced; deviations configured with written rationale and bundled into the ASPICE evidence pack.

  • ASPICE

    Automotive SPICE process maturity

    Process areas SWE.1 through SWE.6 — system requirements, software requirements, architecture, design, code, and test bidirectionally maintained for ASPICE Level 2+ assessment.

  • ISO 14229 (UDS)

    Unified Diagnostic Services

    UDS sessions, security access (0x27, 0x29), routine control (0x31), DTC reading (0x19), ECU reset, and the ECU programming flow (0x34/0x36/0x37) — across CAN-TP and DoIP transports.

How we build — the ECU software process

From requirements to released ECU build

Six steps with typical durations for a single-ECU scope of roughly 8–12 weeks, each with the standard it answers to and an explicit deliverable. New silicon or ASIL D verification extends the timeline.

  1. 01

    Requirements & Software Architecture

    Weeks 1–2 · ASPICE SWE.1–SWE.2

    Software requirements derived from the system specification; software architecture, interfaces, and resource budgets defined — including where the AUTOSAR stack ends and custom code begins.

    → Software requirements + architecture

  2. 02

    Board Bring-Up & MCAL

    Weeks 2–4 · AUTOSAR MCAL

    Clocks, pin multiplexing, and power sequencing verified on the board; MCAL configured for the target MCU — MCU, PORT, DIO, CAN, SPI, ADC, GPT — and extended where new silicon needs it.

    → MCAL config + bring-up report

  3. 03

    Drivers & Complex Device Drivers

    Weeks 3–7 · CDD

    Complex Device Drivers written for vendor IP and external devices that do not fit AUTOSAR — sensors, actuators, custom DMA, external ICs — with defined timing and error behaviour.

    → Driver / CDD source + unit tests

  4. 04

    Bootloader & Diagnostics

    Weeks 5–9 · ISO 14229 (UDS)

    UDS sessions, security access (0x27) and authentication (0x29), the programming sequence (0x34/0x36/0x37), and routine control; bootloader and flash driver integrated with Secure Boot on the HSM.

    → Bootloader + diagnostic service mapping

  5. 05

    Application Software

    Weeks 4–10 · MISRA C:2012

    Application Software Components or modules developed against the RTE or your framework — hand-written or integrated from models — with MISRA C enforced via static analysis and reviews recorded.

    → Application source + reviews

  6. 06

    Integration Test & Release

    Weeks 10–12 · ASPICE SWE.4–SWE.6

    On-target integration tests covering drivers, diagnostics, and application behaviour. Release notes, change log, and ASPICE-traceable test report bundled.

    → Tested ECU build + ASPICE pack

Case study

What This Looks Like in Practice

Anonymised by request. References available on qualified enquiry.

Anonymised engagement summary. Customer identity and programme details withheld under NDA. Metrics reflect internally documented delivery outcomes.

Global vehicle programme · ADAS domain controller

AUTOSAR Adaptive bring-up on a TDA4 platform — Linux, ARA, SOME/IP.

Context

A global automotive engineering team was bringing up an ADAS domain controller on a TI TDA4VM platform running automotive Linux. The team had Classic AUTOSAR experience but no production Adaptive deliveries. They needed a working Adaptive Platform manifest, ARA service skeletons, and SOME/IP comms across six software components — under their existing ASPICE Level 2 process.

Approach

Agnile sized the manifest, modelled six service interfaces in ARA, generated POSIX-compliant application skeletons, integrated DoIP diagnostics, and wired up SOME/IP service discovery + binding. Test framework reused the team's existing GoogleTest harness with a target adapter. Ten weeks from manifest to release qualification.

What we delivered

  • Adaptive Platform manifest set
  • Six service skeletons (ARA::com)
  • SOME/IP service discovery + binding
  • DoIP transport for UDS over Ethernet
  • ASPICE-traceable test pack (SWE.4 + SWE.5)

What the customer got

  • First Adaptive build flashed at week 7
  • ASPICE Level 2 process compliance preserved
  • Internal team upskilled — handover at week 10

TDA4VM · 6 SWCs · ASPICE L2 · 10 weeks

FAQ

Automotive Embedded Software Questions

Request a Discussion

A 60-minute call: scope an ECU bring-up, a driver or bootloader work package, or a Classic-to-Adaptive migration. We respond to qualified enquiries within one business day.