Dynamic addressing (DA) using a centralized DA manager
First Claim
1. A portable communication device comprising a dynamic addressing manager and a plurality of software components coupled to a processor, the dynamic addressing manager including one or more pairs of elements in a table, wherein each of the pairs of elements forms an association between each identified reference in a component and another of the software components corresponding to the identified reference, the dynamic addressing manager associating the plurality of software components during execution of the code using the pairs of elements, wherein the pairs of elements include symbols defined by a linker application.
5 Assignments
0 Petitions
Accused Products
Abstract
Dynamic Addressing (DA) is provided that uses a Centralized DA Manager to manage function calls, global variable, and constant variable references among components of software code. The DA Manager is generated during the process of linking the components and is loaded along with the code into client device memory. References from one component to another are stored in the DA Manager along with the address of each component. In an embodiment, the DA Manager includes linker-defined symbols stored in fixed addresses, such that the linker-defined symbols consistently provide the current address for data requested from another component. Changes to a component during file upgrades that result in location changes of the component in memory are recorded by the DA Manager, thereby maintaining the integrity of references to the component present in the code.
-
Citations
49 Claims
- 1. A portable communication device comprising a dynamic addressing manager and a plurality of software components coupled to a processor, the dynamic addressing manager including one or more pairs of elements in a table, wherein each of the pairs of elements forms an association between each identified reference in a component and another of the software components corresponding to the identified reference, the dynamic addressing manager associating the plurality of software components during execution of the code using the pairs of elements, wherein the pairs of elements include symbols defined by a linker application.
-
14. A method comprising:
-
organizing code stored in a device memory of a client device into a plurality of components;
identifying one or more references included in each of the plurality of components, wherein each reference is a reference to one or more other components of the code;
generating a manager component that includes one or more address direction entries, wherein each address direction entries includes two fields that form a program link between each identified reference in a component and the other component corresponding to the identified reference; and
linking the plurality of components using the address direction entries of the manager component during execution of the code. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A system comprising:
-
a first device including a first upgrade component that generates upgrade files, wherein the upgrade files include at least one of information to repair errors in electronic files and information to add functionality to the electronic files; and
a mobile communication device comprising a second upgrade component, a dynamic addressing manager, and a plurality of software components, the dynamic addressing manager including one or more links, wherein each link forms a program link between each identified reference in a component and another of the software components corresponding to the identified reference, the dynamic addressing manager linking the plurality of software components during execution of the code using the links, and wherein the links comprise one or more linker-defined symbols. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41)
-
-
42. A mobile communication device comprising:
-
means for organizing code stored in a device memory of a client device into a plurality of components;
means for identifying one or more references included in each of the plurality of components, wherein each reference is a reference to one or more other components of the code;
means for generating a manager component that includes one or more links, wherein each link forms a program link between each identified reference in a component and the other component corresponding to the identified reference; and
means for linking the plurality of components using the links of the manager component during execution of the code, wherein the links include one or more linker-defined symbols. - View Dependent Claims (43, 44, 45, 46, 47)
-
-
48. A machine-readable medium including executable instructions which, when executed in a processing system, link software components in a portable device by:
-
organizing code stored in a device memory of a client device into a plurality of components;
identifying one or more references included in each of the plurality of components, wherein each reference is a reference to one or more other components of the code;
generating a manager component that includes one or more links, wherein each link forms a program link between each identified reference in a component and the other component corresponding to the identified reference; and
linking the plurality of components using the links of the manager component during execution of the code, wherein the links include a plurality of linker-defined symbols. - View Dependent Claims (49)
-
Specification