US 11,899,561 B2
Method for operating a control unit when testing software of the control unit, and method for operating a test computer when testing software of a control unit
Antoni Lacasta I Sulla, Schwieberdingen (DE)
Assigned to ROBERT BOSCH GMBH, Stuttgart (DE)
Filed by Robert Bosch GmbH, Stuttgart (DE)
Filed on Oct. 25, 2021, as Appl. No. 17/510,259.
Claims priority of application No. 10 2020 213 809.5 (DE), filed on Nov. 3, 2020.
Prior Publication US 2022/0138083 A1, May 5, 2022
Int. Cl. G06F 9/44 (2018.01); G06F 11/36 (2006.01)
CPC G06F 11/3636 (2013.01) 14 Claims
OG exemplary drawing
 
1. A computer-implemented method for operating a control unit when testing software of the control unit of a test system, the control unit including a processor for executing the software and a memory for storing the software, the method comprising:
receiving, in the control unit, test requests generated by a test computer;
executing, by the processor of the control unit, a test program for testing the software, based on the test requests, by executing the software which is in the form of a first binary file, which is stored in the memory, the first binary file encoding a test version of the software which includes at least one test module necessary for executing the test program, test results being generated;
sending the test results from the control unit to the test computer, having a test processor for evaluating the test results; and
receiving, in the control unit, a second binary file from the test computer which is executable by the processor of the control unit, and storing the second binary file in the memory, when the test computer has determined, based on the test results, that the software is fit for operation, the second binary file having been generated from the first binary file by the test computer and encodes a final version of the software which prevents the at least one test module from being executed;
wherein the test program is configured to detect errors in the software,
wherein the test system includes a first communication interface for communicating data with a second communication interface of the test computer, wherein the data includes the test requests and the test results,
wherein the test computer generates the second binary file from the first binary file,
wherein the test computer evaluates the test results using an evaluation program, which is executed by the test processor, in which the test results are compared to stored setpoint test results, and it is determined, depending on a deviation between the test results and the setpoint test results, whether the software is fit for operation,
wherein the control unit includes a switching test module for switching between a normal mode, a first test mode and a second test mode, wherein the test computer is configured to send switch commands to the control unit, and wherein the switch commands are encoded separately or in the test requests,
wherein the software of the control unit includes an intermediate layer or middleware for mediating between a system layer and an application layer, wherein the intermediate layer enables separate development of the system layer and the application layer, and the testing of individual software components, and wherein the switching test module is configured to interact between the system layer and the intermediate layer,
wherein the control unit includes a processor for executing the software or the test program with the switching test module integrated into the software, and the first communication interface for providing data communication with the test computer of the test system, wherein the processor, the memory, and the first communication interface are connectable to one another via a bus system,
wherein the test computer includes a test computer memory, a test computer processor, a second communication interface for the data communication with control unit, and a test computer bus system, and
wherein the test program is permanently deactivated after testing, without having to change and re-compile a source code underlying the software.