About the Customer:
Our customer is a tier-1 supplier of automotive components with deep focus on developing the solutions for future mobility. Our automotive teams have been involved in multiple projects with the customer across various technologies and implementations.
Flash bootloader is an integral part of an automotive software. Since bootloaders are specific to the underlying communication protocol, they need to be developed based on specific project’s requirements. In one of its new programs, the customer required a SAE J1939 based bootloader with security features. A configuration tool was also required to configure the vehicle application layer (SAE J1939-71) of J1939 protocol<.a> software.
Major challenges faced by the customer were related to:
- Availability of ready-to-deploy SAE J1939 protocol and expertise related to configuration of PGNs and SPNs for J1939 protocol software
- Right technology partner for PC based tool development for ECU reprogramming
- Lack of expertise in development of secure bootloader, specifically J1939-based bootloader
We have readily available SAE J1939 protocol software that can be configured as per the requirements and types of messages to be sent. On top of that, our expertise in implementation of various cybersecurity features in flash bootloader has been quite extensive. Both these attributes made us the choice technology partner for this project.
After a series of discussions among the teams, we were able to prepare a detailed flow diagram indicating the message flow through various layers and interfaces used in each layer.
A snapshot of the tasks performed by the project team:
- We deployed our ready-to-deploy SAE J1939 protocol stack and configured it based on requirements provided by the customer. One of the major customizations that we performed was ‘read and write’ of SPN values to be executed in nano seconds, compared to micro seconds in general implementations.
- Sequence of Bootloader was customized based on customer needs.
- We developed a tool based on CAPL scripting for reprograming of ECU.
The final deliverables included the following:
- J1939 stack and corresponding artifacts like LLD, MTD etc.
- Bootloader and sample application
- Reprogramming tool based on CAPL
- Validation test plan and report
The development time of the project was reduced by at least 6 months since we deployed our proven SAE J1939 protocol software. As a result, our customer was able to reduce the time-to-market and the overall cost of the project.
Additionally, our extensive experience in development and implementation of secure bootloader enabled us to deliver a robust and cutting-edge bootloader solution.
Tools and Technologies:
- MPLAB X IDE: It is an IDE from Microchip that helps develop, debug, and qualify embedded software
- CANOE: CANOE from Vector was used to test and analyse ECU network
- CAPL: PC based tool for ECU reprogramming was developed using Vector’s CAPL (Communication Access Programming Language)