Vehicle ECU Partitioning for Secure On-Vehicle Software Development

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing and testing vehicle software requires specialized hardware and tooling, which is costly and limits functionality, forcing developers to rely on frameworks like Android Auto or Apple CarPlay that do not allow direct application writing and testing on the vehicle.

Innovation Solution

A system that enables vehicle software development directly on the vehicle without specialized hardware, using a primary ECU with unlocked partitions and a secondary ECU as a ramdisk, managed through a cryptographic key validation process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If specialized hardware and tooling are used for vehicle software development, then development capability is improved, but cost and device complexity increase

Engineering Contradiction:
Improveapplication development capabilityVSAvoidhardware requirement
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The vehicle's own ECU resources are utilized to provide development capabilities. The system uses the vehicle's primary and secondary ECUs with unlocked partitions to create a development environment, eliminating the need for external specialized hardware. The cryptographic key enables the vehicle to serve its own development needs directly.

Inventive Principle:
Principle #25Self-service

2Ease of manufacture

If existing frameworks like Android Auto or Apple CarPlay are used, then development cost is reduced, but functionality and flexibility are limited

Engineering Contradiction:
Improvedevelopment costVSAvoidapplication functionality
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The ECU memory is divided into locked and unlocked partitions. The unlocked partitions provide a safe, isolated environment for application development and testing, while the locked partitions maintain vehicle security. This segmentation allows developers to access and modify application code without compromising the integrity of critical vehicle systems.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If unlocked partitions are provided for development, then development flexibility is improved, but vehicle security risk increases

Engineering Contradiction:
Improvedevelopment flexibilityVSAvoidsecurity vulnerability
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary validation by verifying the cryptographic key before enabling any development access. The development environment is pre-configured with specific unlocked partitions that are carefully selected to provide development flexibility while maintaining security boundaries. This preliminary validation ensures that only authorized development activities can access the unlocked partitions.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If cryptographic key validation is implemented, then security is improved, but access complexity increases

Engineering Contradiction:
Improvevehicle securityVSAvoidaccess control mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The cryptographic key serves multiple functions: it validates the development environment, unlocks the appropriate partitions, and authorizes development access. This multi-functional approach consolidates security mechanisms into a single key system, reducing overall access control complexity while maintaining strong security.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20250360935A1System, method, and computer program for vehicle software development
Publication Date: 2025.11.27 TOYOTA JIDOSHA KK
  • US20250360935A1 patent drawing
  • US20250360935A1 patent drawing
  • US20250360935A1 patent drawing

AI summary

Provided are system, method, and device for performs vehicle software development. According to example embodiments, the system may include: a memory storage storing computer-executable instructions; and at least one processor communicatively coupled to the memory storage, wherein the at least one processor may be configured to execute the instructions to: receive a cryptographic key; validate the received cryptographic key; in response to successfully validating the received cryptographic key, initiate a development configuration of a vehicle, wherein the development configuration may include a primary electronic control unit (ECU) in the vehicle including a plurality of partitions, and a secondary ECU in the vehicle serving as a ramdisk of the primary ECU; and in response to detecting a removal of the received cryptographic key from the vehicle, end the development configuration and delete a memory of the secondary ECU.