Load time linker for software used with a multiprocessor system
First Claim
1. A method for extending an applications program for use with a multiprocessor computer system having a host processor in data communication with a subprocessor, wherein extended functions are to be loaded to memory of the subprocessor but called by the host processor from the applications programming for execution by the subprocessor, comprising the steps of:
- storing in the host processor a program module containing definitions of extended functions, which are functions to be executed by a subprocessor, wherein some of said extended functions call other functions already stored in memory of said subprocessor and other of said extended functions call other functions of said program module, and wherein each of said functions has a function call and a function identifier;
creating in the host processor a reference section containing a list of said function identifiers and a relocatable address reference for each of said function identifiers, wherein the order of said function identifiers in said reference section corresponds to the order of said functions in said program module;
compiling in the host processor said program module and said section into object code to create a function definition object file and a reference section object file;
differentiating in the host processor between external references to said extended functions, which are calls from other functions not stored in said program module, and internal references to said functions, which are calls from other functions of said module; and
partially linking in the host processor said function definition object file and said reference section object file, while said object files are stored in memory of said host processor, such that said internal references are resolved by matching each function identifier of an internally called function to its address reference in said reference section, leaving said external references unresolved; and
creating in the host processor a downloadable file containing the partially linked function definition object file and said reference section object file.
1 Assignment
0 Petitions
Accused Products
Abstract
A method used in a multiprocessor computer system for linking extended functions, which are to be called from an application program running on a host processor and executed by a subprocessor, to primitive functions to be executed by the subprocessor. The extended functions may be created independently of the primitive functions, collected in a special partially linked load module, stored, and dynamically linked to other code at run time of the application program.
-
Citations
11 Claims
-
1. A method for extending an applications program for use with a multiprocessor computer system having a host processor in data communication with a subprocessor, wherein extended functions are to be loaded to memory of the subprocessor but called by the host processor from the applications programming for execution by the subprocessor, comprising the steps of:
-
storing in the host processor a program module containing definitions of extended functions, which are functions to be executed by a subprocessor, wherein some of said extended functions call other functions already stored in memory of said subprocessor and other of said extended functions call other functions of said program module, and wherein each of said functions has a function call and a function identifier; creating in the host processor a reference section containing a list of said function identifiers and a relocatable address reference for each of said function identifiers, wherein the order of said function identifiers in said reference section corresponds to the order of said functions in said program module; compiling in the host processor said program module and said section into object code to create a function definition object file and a reference section object file; differentiating in the host processor between external references to said extended functions, which are calls from other functions not stored in said program module, and internal references to said functions, which are calls from other functions of said module; and partially linking in the host processor said function definition object file and said reference section object file, while said object files are stored in memory of said host processor, such that said internal references are resolved by matching each function identifier of an internally called function to its address reference in said reference section, leaving said external references unresolved; and creating in the host processor a downloadable file containing the partially linked function definition object file and said reference section object file. - View Dependent Claims (10)
-
-
2. A method for extending an applications program for use with a multiprocessor computer system having a host processor in data communication with a subprocessor, wherein interrupt service routines are to be loaded to memory of the subprocessor but called by the host processor from the applications programming for execution by the subprocessor, comprising the steps of:
-
storing in the host processor a program module containing definitions of extended interrupt service routines and functions, which are routines and functions to be executed by a subprocessor, wherein said routines are initiated by said host processor and at least some of said functions are called by said routines, and wherein each of said routines and functions has an identifier; creating in the host processor a reference section containing a list of said identifiers and a relocatable address reference for each of said identifiers, wherein the order of said identifiers in said reference section corresponds to the order of said functions and routines in said program module; compiling in the host processor said program module and said section into object code to create a function and routine definition object file and a reference section object file; differentiating in the host processor between external references to said functions, which are calls from other functions not stored in said program module, and internal references to said functions, which are calls from other functions or routines of said program module; partially linking in the host processor said function definition object file and said reference section object file, such that said internal references are resolved by matching each function identifier of an internally called function to its address reference in said reference section, leaving said external reference unresolved; and creating in the host processor a downloadable file containing the partially linked function definition object file and said reference section object file. - View Dependent Claims (11)
-
-
3. A method, used in a multiprocessor system having a host processor and a subprocessor with separately accessible memories, for loading and linking to memory of the subprocessor, extended functions to be executed by the subprocessor, such that the functions can be called from an application program being executed by the host processor system comprising the steps of:
-
storing in the host processor a program module containing definitions of extended functions to be executed by a subprocessor, wherein all calls by said extended functions to other of said extended functions within said load module have been resolved by providing a memory address of the called function; determining in the subprocessor the memory size required to store said program module in memory accessible by the subprocessor; allocating in the subprocessor memory in the subprocessor system for said program module; downloading said program module from the host processor to the subprocessor system; and linking in the subprocessor calls by said extended functions to other functions already stored in memory of the subprocessor. - View Dependent Claims (4, 5, 6, 7, 8, 9)
-
Specification