Method for supporting calibration parameters in an ECU
First Claim
1. A method for controlling the value of a read only memory (ROM) parameter inside an executable software program, comprising:
- presenting a software program in executable form and having a plurality of machine instructions of a finite quantity of fixed lengths;
selecting a parameter of interest used by the software program, wherein the parameter of interest is stored in read only memory (ROM);
identifying a machine instruction that loads the parameter of interest into a machine register;
evaluating each machine instruction in the executable form of the software program nested under the identified machine instruction to further identify machine instructions that use the machine register;
replacing an identified machine instruction in the executable form of the software program with a branch instruction that references an address outside an address space of the software program;
defining a set of relocated instructions at the address referenced by the branch instruction, wherein the set of relocated instructions reads a desired value for the parameter of interest and stores the desired value in a machine register where the parameter of interest is read into; and
executing the executable form of the software program having the branch instruction.
1 Assignment
0 Petitions
Accused Products
Abstract
A method is provided for controlling ROM parameters embedded in a microprocessor software executable without modifications to the underlying source code. The method includes: presenting a software program having a plurality of machine instructions of a finite number of fixed lengths in an executable form; searching through the machine instructions of the executable and finding at least one appropriate instruction defined in a read only memory space to replace; defining a replacement instruction for identified machine instructions in the software program; and replacing identified machine instructions in the executable form of the software program with the replacement instruction. The replacement instruction may be further defined as a branch instruction that references an address outside an address space for the software program.
47 Citations
6 Claims
-
1. A method for controlling the value of a read only memory (ROM) parameter inside an executable software program, comprising:
-
presenting a software program in executable form and having a plurality of machine instructions of a finite quantity of fixed lengths; selecting a parameter of interest used by the software program, wherein the parameter of interest is stored in read only memory (ROM); identifying a machine instruction that loads the parameter of interest into a machine register; evaluating each machine instruction in the executable form of the software program nested under the identified machine instruction to further identify machine instructions that use the machine register; replacing an identified machine instruction in the executable form of the software program with a branch instruction that references an address outside an address space of the software program; defining a set of relocated instructions at the address referenced by the branch instruction, wherein the set of relocated instructions reads a desired value for the parameter of interest and stores the desired value in a machine register where the parameter of interest is read into; and executing the executable form of the software program having the branch instruction. - View Dependent Claims (2, 3)
-
-
4. A computer-implemented calibration system for controlling read only memory (ROM) parameters of a software program in an executable form and having a plurality of machine instructions of a finite quantity of fixed lengths embedded in a microprocessor, comprising:
-
an instruction locator embodied as computer executable instructions on a non-transitory computer readable medium, wherein the instruction locator is operable to select a parameter of interest used by the software program, wherein the parameter of interest is stored in read only memory (ROM), identify a machine instruction that loads the parameter of interest into a machine register, and evaluate each machine instruction in the executable form of the software program nested under the identified machine instruction to further identify machine instructions that use the machine register; and an instruction replacement component embodied as computer executable instructions on a non-transitory computer readable medium and in data communication with the instruction locator, wherein the instruction replacement component is operable to receive a branch instruction that references an address outside an address space of the software program, replace an identified machine instruction in the executable form of the software program with the branch instruction, and generate a set of relocation instructions, such that the branch instruction passes processing control to the set of relocation instructions, wherein the set of relocation instructions reads a desired value for the parameter of interest and stores the desired value in a machine register where the parameter of interest is read into. - View Dependent Claims (5, 6)
-
Specification