How to implement ECU custom flashing using Q-Tester Sequence control with low code?

6cd8fca0-bfd8-4f84-ad7e-84ca4d42ab94

I. Background

With the evolution of automotive electronic and electrical architecture from distributed to centralized and domain controller architecture, the number of in-vehicle controllers has grown exponentially. At present, the number of single-vehicle controllers has generally exceeded 30, covering power, chassis, cockpit, intelligent driving and other full-scene functions. The soaring functional complexity makes the amount of software code break through the billion level, and the version iteration cycle is also compressed from the traditional unit of years to the unit of weeks.

In the development of controller testing, engineers need to verify the functional logic and optimize the cross-controller collaboration strategy at a high frequency. However, the traditional “preset script + fixed process” flashing method is difficult to meet the flexible testing needs.

Therefore, engineering diagnostic Tester with the function of autonomous editing the flashing process will bring great help to the test work - engineers can dynamically adjust the flashing strategy according to the test scenarios to better accomplish the flashing tasks.

II. Editing a Flash Sequence in Q-Tester to Implement flashing

Q-Tester.Expert engineering diagnostic Tester independently developed by WINDHILL integrates the newly designed Sequence Editor function. This function is based on the ODX diagnostic database to build up a visual, standardized diagnostic service interface, the service will be transformed into a configurable modular component, which can greatly reduce the difficulty of writing sequences, and the entire editing process can be defined by the engineers freely, without adding code. The edited sequence can be called in the VehicleFlash, and the diagnostic Tester can be triggered to perform the flashing task with a single click, forming a closed loop of “Edit-Call-Execute”, which provides an autonomous, controllable, convenient and effective flashing solution for the vehicle development and testing.

III. Solution Details

In the VehicleFlash, you can import the files to be flashed, and the files will be grouped by controller.

0924551f-55ca-472e-a21a-9f33d360ade1

(Fig 1 Flash files import)

In the plug-in configuration interface, you need to call the sequences edited in Sequence Editor, and through these sequences can realize the flashing tasks.

2f8dddf1-f551-421c-8fcf-5630b762fd41

(Fig 2 Flashing process configuration)

In addition to the necessary flashing process, the software is also configured with a Button Config key bar which can optimize the flashing process by executing the necessary sequences before and after flashing.

4b241db8-f26d-4d29-b5d7-5bfe682a11d6

(Fig 3 VehicleFlash function bar)

When executing a flashing task, the VehicleFlash extracts the list of variables for the flashing task and passes the variable information from the following table as an input parameter to the calling Sequence:

5560c024-569d-491e-ab7a-81a4b89bb2ce

(Fig 4 Flashing file variable table)

Users can customize the editing process according to the received variable values. Take the EraseMemory service as an example: after obtaining the value of the file to be flashed, the Sequence process shown in the figure below can be used to convert the data of the Uint type into Bytefield type and assign the value directly to the corresponding parameter in the EraseMemory service, so as to realize the task of flashing file's memory erase.

d08428a5-6502-4b48-aa9e-e868593bfdf9

(Fig 5 Uint to Bytefield type calculation flow)

ed1f7752-1f62-4ea3-bc74-b0dd0f4d0391

(Fig 6 EraseMemory service input parameters)

In addition, the response result of the service can be obtained directly through the variables in the service Output List, which is used as the basis for determining whether the service is successfully executed or not, so that the flashing process can be better customized.

308f4cae-26bd-4068-83d7-75222b5be94c

(Fig 7 Service response results)

IV. Summary

With the evolution of automotive electronic architecture to centralized, the traditional fixed flashing process is difficult to meet the demand of high-frequency iteration. Q-Tester.Expert engineering diagnostic Tester developed by WINDHILL through VehicleFlash, together with Sequence Editor tool, enables engineers to customize the flashing process and complete all flashing tasks with only a very low amount of code input. Thanks to Q-Tester.Expert, engineers are able to optimize the flashing process more quickly and efficiently, which helps the flashing task of the controller and the whole vehicle complete smoothly.