Method for updating software of an electronic control device by flash programming via a serial interface and corresponding automatic state machine
1 Assignment
0 Petitions
Accused Products
Abstract
A method for executing a software update of a control unit by flash programming a flash memory of the control unit having multiple segments via a serial interface, demands on the flash programming procedure being established, a sequence of the flash programming procedure being specified by a finite-state machine which defines states and transitions of the software, and availability, security, and reliability requirements of each state and each transition of the finite-state machine being checked. In addition, described are a corresponding finite-state machine and a computer program for automatically checking the availability, security, and reliability requirements.
37 Citations
24 Claims
-
1-12. -12. (canceled)
-
13. A method for executing a software update of a control unit by flash programming a flash memory of the control unit having multiple segments, via a serial interface, comprising:
-
establishing requirements to be set for the flash programming;
establishing a flash programming sequence using a finite-state machine which defines states and transitions of the software; and
checking availability, security, and reliability requirements of each state and each transition of the finite-state machine. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A finite-state machine for executing a software update of a control unit by flash programming, comprising:
-
an arrangement which defines all substates of the software of the control unit, transitions between the substates, and transition conditions adoptable during execution of the software update; and
an arrangement which specifies permanent, non-erasable storage of a last-valid state or an error-free run state in response to the occurrence of a fault during execution of the software update. - View Dependent Claims (21)
-
-
22. A memory device storing a computer program, the computer program comprising program code elements via which predefined availability, security, and reliability requirements of each state and each transition of a finite-state machine are automatically checked when the program code elements are executed on a computer or on a computer system, the finite-state machine comprising:
-
an arrangement which defines all substates of the software of the control unit, transitions between the substates, and transition conditions adoptable during execution of the software update; and
an arrangement which specifies permanent, non-erasable storage of a last-valid state or an error-free run state in response to the occurrence of a fault during execution of the software update.
-
-
23. A method for executing flash programming of a boot block which provides software functionality necessary for executing the flash programming procedure and is stored in a first segment of a flash memory, the method comprising:
-
copying an old boot block to be reprogrammed into a free section of a second memory;
activating the old boot block in the second memory and deactivating the old boot block in the flash memory;
temporarily storing a new boot block in a second segment of the flash memory;
programming the new boot block by copying the second segment into the first segment; and
activating the new boot block in the first segment and deactivating the old boot block in the second memory. - View Dependent Claims (24)
-
Specification