CN111913762B - DSP dynamic loading method for reserving running memory space - Google Patents

DSP dynamic loading method for reserving running memory space Download PDF

Info

Publication number
CN111913762B
CN111913762B CN202010855562.XA CN202010855562A CN111913762B CN 111913762 B CN111913762 B CN 111913762B CN 202010855562 A CN202010855562 A CN 202010855562A CN 111913762 B CN111913762 B CN 111913762B
Authority
CN
China
Prior art keywords
elf
address
module
file
segment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010855562.XA
Other languages
Chinese (zh)
Other versions
CN111913762A (en
Inventor
赵伟
刘雷
田文龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Electromechanical Engineering Research Institute
Original Assignee
Beijing Electromechanical Engineering Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Electromechanical Engineering Research Institute filed Critical Beijing Electromechanical Engineering Research Institute
Priority to CN202010855562.XA priority Critical patent/CN111913762B/en
Publication of CN111913762A publication Critical patent/CN111913762A/en
Application granted granted Critical
Publication of CN111913762B publication Critical patent/CN111913762B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The invention relates to a DSP dynamic loading method for reserving an operation memory space, which belongs to the technical field of DSPs and solves the problem of DSP dynamic loading, and the method comprises the following steps: preprocessing an ELF file to generate an ELF module comprising a system symbol table; dynamically loading the ELF module into a reserved running memory space; exporting a system symbol table according to the position of the ELF module in the running memory space, and repositioning symbols in the system symbol table; and calling an initialization function and an entry function of the ELF module according to the relocated symbol. The dynamic loading method solves the problem of uncertain code loading relocation time by reserving the running memory space, and improves the code execution efficiency.

Description

DSP dynamic loading method for reserving running memory space
Technical Field
The invention relates to the technical field of DSPs, in particular to a dynamic loading method of a DSP for reserving an operation memory space.
Background
Dynamic loading is a method of implementing application program separation from operating system that enables the operating system to load application programs or dynamic libraries (or other binary objects) into memory at run-time, retrieve the addresses of functions and variables in the libraries, execute the functions or access the variables, and enable the libraries to be unloaded from memory.
For systems that do not support dynamic loading, the application program is bound to the operating system, and each upgrade upgrades the entire operating system and application. With the expansion of the program scale, the upgrade time and the coupling degree are continuously increased, which is not beneficial to the development, the debugging and the maintenance of the program.
When the loader loads the library file, the file content is mapped to a continuous memory address space, and the first address is called a base address. The base address mapped by the traditional dynamic loading method is not fixed, and changes into an absolute address space from a relative address space through relocation when in use, and the time required for the relocation process is uncertain because the relocation process is a continuous iterative process, so that the method cannot meet the requirements of a strong real-time system.
Disclosure of Invention
In view of the above analysis, the present invention is directed to a DSP dynamic loading method that reserves running memory space; the method is used for solving the problem of dynamic loading of the DSP.
The invention discloses a DSP dynamic loading method for reserving running memory space, which comprises the following steps:
preprocessing an ELF file to generate an ELF module comprising a system symbol table;
dynamically loading the ELF module into a reserved running memory space;
Exporting a system symbol table according to the position of the ELF module in the running memory space, and repositioning symbols in the system symbol table;
And calling an initialization function and an entry function of the ELF module according to the relocated symbol.
Further, the loading of the reserved running memory space includes:
reserving an ELF module running space in the process of compiling links to form an executable file; and forming an address of the ELF module running space, wherein in the address forming process, the reserved entry address of the running space and the head address of each ELF module running in the reserved space are uniformly managed by a loader.
Further, the loader loads the ELF module to be loaded according to the ELF module operation reservation area management table; the loading process does not need to dynamically allocate memory space, and ELF modules are directly and sequentially loaded according to the sequence; if the reserved running space of the single ELF module is insufficient, the head address of the reserved running space of the next ELF module is found to continue loading.
Further, the reserved area management table comprises a serial number of the ELF module, a module first address, a module last address and a module state corresponding to the serial number;
further, the last address of a preceding ELF module is the first address of an adjacent following ELF module.
Further, for the case that a single ELF module cannot fully occupy the corresponding reserved running space, the loader updates the head address and the space size of the ELF module in the reserved running memory space for subsequent loading.
Further, offloading of the reserved running memory space includes:
When the ELF module is no longer needed by the system, the loader executes an unloading instruction in idle time according to the system instruction, and the unloading process starts unloading from the unaddressed address of the occupied space of the ELF module, and synchronously updates the state of the reserved running memory space area.
Further, the ELF file preprocessing includes the following steps:
Step S201, disassembling an ELF file to generate an assembly file;
Step S202, positioning to an assembly file header;
Step S203, reading a row from the assembled file, judging whether the file is ended, and if the file is ended, ending the preprocessing; otherwise, executing step S204;
Step S204, judging whether the read content is a jump instruction;
Matching the address in the read content, and matching whether the read content contains a function name, if yes, the read content is a jump instruction, and executing step S205; otherwise, returning to step S203;
step S205, searching for the target symbol position;
Searching a target symbol address corresponding to the function name segment matched in the step S204 in the assembly file;
step S206, judging whether the target symbol is in the ELF module;
If the target symbol is not found in the ELF module, returning to step S203; otherwise, step S207 is performed;
Step S207, judging whether the target symbol address exceeds the relative jump range;
Subtracting the address matched in the step S204 from the target symbol address to obtain a relative jump offset, and returning to the step S203 if the offset exceeds the maximum value of the relative jump of the CALL instruction; otherwise, executing step S208;
Step S208, calculating the ELF file position corresponding to the address matched in the step S204;
calculating the position of the address jump instruction in the ELF file, and executing step S209;
Step S209, modifying an ELF instruction corresponding to the address;
and (3) according to the offset generation new CALL offset, modifying the ELF file position calculated in the step S208, and updating the ELF file position to be the new CALL+offset instruction.
Further, the method for checking the symbol address in step S205 includes:
Step S301, positioning to the assembly file header
Step S302, reading a row from the assembly file;
Step S303, judging whether the file is ended, if so, returning to 0, which means that the symbol address is not found; otherwise, executing step S304;
Step S304, matching the function names, and executing step S305 if the matching is successful; otherwise, go back to step S303;
step S305, if the function name is equal to the input function name, returning to the address represented by the address matched in step S204; otherwise, go back to step S302.
Further, the method for calculating the location of the address correspondence instruction matched in step S204 in the ELF file in step S208 includes:
s401, reading ELF heads, and analyzing an ELF segment table, wherein each segment consists of a segment start address, a segment length and an offset of the segment in an ELF file;
step S402, positioning a processing pointer to a segment table head;
Step S403, aiming at the table item pointed by the processing pointer, judging whether the address matched in step S204 is in the segment, if so, returning 'offset of the segment in the ELF file + address-segment starting address matched in step S204'; otherwise, the segment table pointer moves to the next segment table entry, and again makes a determination as to whether the segment is within the segment, until the segment where the address matched in step S204 is found, returns "offset of the segment in the ELF file+address-segment start address matched in step S204".
The beneficial effects of the invention are as follows:
The dynamic loading method of the invention realizes the real-time dynamic loading of the module on the premise of using the GCC compiler, optimizes the function call jump procedure in the program, ensures the running efficiency of the program, provides convenience for the debugging and maintenance of the program, solves the problem of uncertain code loading relocation time by reserving the running memory space, and improves the code execution efficiency.
Drawings
The drawings are only for purposes of illustrating particular embodiments and are not to be construed as limiting the invention, like reference numerals being used to refer to like parts throughout the several views.
FIG. 1 is a flow chart of a method for dynamically loading a DSP in a reserved running memory space in the present embodiment;
FIG. 2 is a flowchart of a method for preprocessing an ELF file in the present embodiment;
fig. 3 is a flowchart of a method for checking a symbol address in the present embodiment;
fig. 4 is a diagram illustrating loading of reserved running memory space in the present embodiment.
Detailed Description
Preferred embodiments of the present application are described in detail below with reference to the attached drawing figures, which form a part of the present application and are used in conjunction with embodiments of the present application to illustrate the principles of the present application.
The embodiment discloses a DSP dynamic loading method for reserving running memory space, as shown in FIG. 1, comprising the following steps:
Step S101, preprocessing an ELF (Executable AND LINKING Format) file, and analyzing to generate an ELF module comprising a system symbol table;
Step S102, dynamically loading the ELF module into a reserved running memory space;
Step S103, a system symbol table is exported according to the position of the ELF module in the reserved running memory space, and the position of a symbol in the system symbol table is positioned;
Step S104, calling an initialization function and an entry function of the ELF module according to the positions of the symbols.
Specifically, the method for preprocessing the ELF file in step S101 is shown in FIG. 2, and includes the following steps:
Step S201, disassembling an ELF file to generate an assembly file;
Step S202, positioning to an assembly file header;
Step S203, reading a row from the assembled file, judging whether the file is ended, and if the file is ended, ending the preprocessing; otherwise, executing step S204;
Step S204, judging whether the read content is a jump instruction;
Matching the address in the read content, and matching whether the read content contains a function name, if yes, the read content is a jump instruction, and executing step S205; otherwise, returning to step S203;
Matching the regular expression $ (ADDR) CALL plt_ $ (func_name);
$ (ADDR) is the address in the matching read content; the function NAME of $ (FUNC_NAME) is inclusive
Step S205, searching for the target symbol position;
Searching a target symbol address corresponding to the function name segment matched in the step S204 in the assembly file;
step S206, judging whether the target symbol is in the ELF module;
If the target symbol is not found in the ELF module, returning to step S203; otherwise, step S207 is performed;
Step S207, judging whether the target symbol address exceeds the relative jump range;
Subtracting the address matched in the step S204 from the target symbol address to obtain a relative jump offset, and returning to the step S203 if the offset exceeds the maximum value of the relative jump of the CALL instruction; otherwise, executing step S208;
Step S208, calculating the ELF file position corresponding to the address matched in the step S204;
calculating the position of the address jump instruction in the ELF file, and executing step S209;
Step S209, modifying an ELF instruction corresponding to the address;
and (3) according to the offset generation new CALL offset, modifying the ELF file position calculated in the step S208, and updating the ELF file position to be the new CALL+offset instruction.
Specifically, as shown in fig. 3, the method of checking the symbol address in step S205 includes:
Step S301, positioning to the assembly file header
Step S302, reading a row from the assembly file;
Step S303, judging whether the file is ended, if so, returning to 0, which means that the symbol address is not found; otherwise, executing step S304;
Step S304, matching the function names, and executing step S305 if the matching is successful; otherwise, go back to step S303;
step S305, if the function name is equal to the input function name, returning to the address represented by the address matched in step S204; otherwise, go back to step S302.
Specifically, the method for calculating the location of the address correspondence instruction matched in step S204 in the ELF file in step S208 includes:
s401, reading ELF heads, and analyzing an ELF segment table, wherein each segment consists of a segment start address, a segment length and an offset of the segment in an ELF file;
step S402, positioning a processing pointer to a segment table head;
Step S403, aiming at the table item pointed by the processing pointer, judging whether the address matched in step S204 is in the segment, if so, returning 'offset of the segment in the ELF file + address-segment starting address matched in step S204'; otherwise, the segment table pointer moves to the next segment table entry, and again makes a determination as to whether the segment is within the segment, until the segment where the address matched in step S204 is found, returns "offset of the segment in the ELF file+address-segment start address matched in step S204".
And reading and analyzing the preprocessed ELF file, wherein the ELF file contains relevant information required by executing all files, and an ELF module is established by analyzing the ELF file, wherein a system symbol table in the ELF module comprises a reference symbol table and a global symbol table.
Wherein the reference symbol table includes an entry address of the ELF module, and the reference symbol table is used as a reference table of the module to enable the ELF module to be compiled.
The global symbol table contains all external interfaces and global variables inside the ELF module.
Specifically, as shown in fig. 4, the loading of the reserved running memory space in step S102 includes:
Reserving an ELF module running space in the process of compiling links to form an executable file; the address of the ELF module running space is formed, and the register always points to the system symbol table head address of the ELF module in the loading process. In the address forming process, the entry address of the reserved running space and the head address of each ELF module running in the reserved space are uniformly managed by the loader.
The loader loads the ELF module to be loaded according to the ELF module operation reserved area management table; the loading process does not need to dynamically allocate memory space, and ELF modules are directly and sequentially loaded according to the sequence; if the running space reserved by the single ELF module is insufficient, the head address of the next ELF module is found to continue loading.
The reserved area management table comprises a serial number of the ELF module, a module first address, a module last address and a module state corresponding to the serial number.
And the last address of the preceding ELF module is the first address of the adjacent following ELF module; the addresses of the ELF modules are made consecutive.
For the case that a single ELF module cannot fully occupy the corresponding reserved running space, the loader updates the head address and the space size of the ELF module in the reserved running memory space for subsequent loading.
Unloading the reserved running memory space comprises the following steps:
When the ELF module is no longer needed by the system, the loader executes an unloading instruction in idle time according to the system instruction, and the unloading process starts unloading from the unaddressed address of the occupied space of the ELF module, and synchronously updates the state of the reserved running memory space area.
In step S103, a system symbol table is derived according to the position of the ELF module in the running memory space, and the position of the symbol in the system symbol table is located;
Because of the reserved running memory space, the ELF module is mapped to a preset memory address, the target code to be loaded skips the repositioning process, directly enters memory allocation and execution, accelerates the loading speed, ensures the time certainty of dynamic library loading, and is very necessary for strong real-time system application.
Step S104, calling an initialization function and an entry function of the ELF module according to the positions of the symbols.
The loading process of the target module only needs to determine the base address, and the rest addresses are ordered when compiled, and only needs to add the base address on the basis of compiling.
In summary, the embodiment realizes the real-time dynamic loading of the module on the premise of using the GCC compiler, optimizes the function call jump procedure in the program, ensures the running efficiency of the program, provides convenience for debugging and maintenance of the program, solves the problem of uncertain code loading relocation time by reserving the running memory space, and improves the code execution efficiency.
The present invention is not limited to the above-mentioned embodiments, and any changes or substitutions that can be easily understood by those skilled in the art within the technical scope of the present invention are intended to be included in the scope of the present invention.

Claims (4)

1. The DSP dynamic loading method for reserving the running memory space is characterized by comprising the following steps:
s101, preprocessing an ELF file to generate an ELF module comprising a system symbol table;
Step S102, dynamically loading the ELF module into a reserved running memory space;
Reserving an ELF module running space in the process of compiling and linking to form an executable file to form an address of the ELF module running space; in the loading process, a register always points to a system symbol table head address of an ELF module, in the address forming process, an entry address of a reserved running space and a head address of each ELF module running in the reserved space are uniformly managed by a loader;
The loader loads the ELF module to be loaded according to the ELF module operation reserved area management table; the loading process does not need to dynamically allocate memory space, and ELF modules are directly and sequentially loaded according to the sequence; if the reserved running space of the single ELF module is insufficient, the head address of the next ELF module is found to be continuously loaded;
the reserved area management table comprises a serial number of an ELF module, a module first address, a module last address and a module state corresponding to the serial number;
And the last address of the preceding ELF module is the first address of the adjacent following ELF module; continuing addresses of the ELF modules;
For the situation that a single ELF module cannot fully occupy a corresponding reserved running space, a loader updates the head address and the space size of the ELF module in the reserved running memory space for subsequent loading;
unloading the reserved running memory space comprises the following steps:
when an ELF module is no longer needed by a system, the loader executes an unloading instruction in idle according to the system instruction, and the unloading process starts unloading from an unaddressed address of the occupied space of the ELF module and synchronously updates the state of the reserved running memory space area;
Step S103, a system symbol table is exported according to the position of the ELF module in the reserved running memory space, and the position of a symbol in the system symbol table is positioned;
According to the reserved running memory space, mapping the ELF module to a preset memory address, skipping a relocation process of the target code to be loaded, directly entering memory allocation and executing;
Step S104, calling an initialization function and an entry function of the ELF module according to the relocated symbol.
2. The method for dynamic loading of a DSP as recited in claim 1, wherein,
The ELF file pretreatment comprises the following steps:
Step S201, disassembling an ELF file to generate an assembly file;
Step S202, positioning to an assembly file header;
Step S203, reading a row from the assembled file, judging whether the file is ended, and if the file is ended, ending the preprocessing; otherwise, executing step S204;
Step S204, judging whether the read content is a jump instruction;
Matching the address in the read content, and matching whether the read content contains a function name, if yes, the read content is a jump instruction, and executing step S205; otherwise, returning to step S203;
step S205, searching for the target symbol position;
Searching a target symbol address corresponding to the function name segment matched in the step S204 in the assembly file;
step S206, judging whether the target symbol is in the ELF module;
If the target symbol is not found in the ELF module, returning to step S203; otherwise, step S207 is performed;
Step S207, judging whether the target symbol address exceeds the relative jump range;
Subtracting the address matched in the step S204 from the target symbol address to obtain a relative jump offset, and returning to the step S203 if the offset exceeds the maximum value of the relative jump of the CALL instruction; otherwise, executing step S208;
Step S208, calculating the ELF file position corresponding to the address matched in the step S204;
calculating the position of the address jump instruction in the ELF file, and executing step S209;
Step S209, modifying an ELF instruction corresponding to the address;
and (3) according to the offset generation new CALL offset, modifying the ELF file position calculated in the step S208, and updating the ELF file position to be the new CALL+offset instruction.
3. The method for dynamic loading of a DSP as recited in claim 2, wherein,
The method for checking the symbol address in step S205 includes:
Step S301, positioning to the assembly file header
Step S302, reading a row from the assembly file;
Step S303, judging whether the file is ended, if so, returning to 0, which means that the symbol address is not found; otherwise, executing step S304;
Step S304, matching the function names, and executing step S305 if the matching is successful; otherwise, go back to step S303;
step S305, if the function name is equal to the input function name, returning to the address represented by the address matched in step S204; otherwise, go back to step S302.
4. The method of claim 3, wherein the step S208 of calculating the location of the address correspondence instruction matched in the step S204 in the ELF file comprises:
s401, reading ELF heads, and analyzing an ELF segment table, wherein each segment consists of a segment start address, a segment length and an offset of the segment in an ELF file;
step S402, positioning a processing pointer to a segment table head;
Step S403, aiming at the table item pointed by the processing pointer, judging whether the address matched in step S204 is in the segment, if so, returning 'offset of the segment in the ELF file + address-segment starting address matched in step S204'; otherwise, the segment table pointer moves to the next segment table entry, and again makes a determination as to whether the segment is within the segment, until the segment where the address matched in step S204 is found, returns "offset of the segment in the ELF file+address-segment start address matched in step S204".
CN202010855562.XA 2020-08-20 2020-08-20 DSP dynamic loading method for reserving running memory space Active CN111913762B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010855562.XA CN111913762B (en) 2020-08-20 2020-08-20 DSP dynamic loading method for reserving running memory space

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010855562.XA CN111913762B (en) 2020-08-20 2020-08-20 DSP dynamic loading method for reserving running memory space

Publications (2)

Publication Number Publication Date
CN111913762A CN111913762A (en) 2020-11-10
CN111913762B true CN111913762B (en) 2024-04-19

Family

ID=73279198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010855562.XA Active CN111913762B (en) 2020-08-20 2020-08-20 DSP dynamic loading method for reserving running memory space

Country Status (1)

Country Link
CN (1) CN111913762B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117149499B (en) * 2023-10-30 2024-01-19 北京麟卓信息科技有限公司 Memory occupation optimization method for kernel module based on dynamic symbol table

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101187899A (en) * 2006-11-17 2008-05-28 中兴通讯股份有限公司 Embedded type system storage space optimization method
CN101194477A (en) * 2005-06-09 2008-06-04 Nxp股份有限公司 Storage unit for a communication system node, method for data storage and communication system node
CN101470619A (en) * 2007-12-29 2009-07-01 安凯(广州)软件技术有限公司 Application program dynamic loading method based on microkernel operating system
CN101582040A (en) * 2009-06-08 2009-11-18 深圳市五巨科技有限公司 Application program loading system and loading method based on ARM system
CN101661397A (en) * 2008-08-29 2010-03-03 宇龙计算机通信科技(深圳)有限公司 Method for realizing dynamic loading of program and method and equipment for generating mapping file
WO2010148724A1 (en) * 2009-11-20 2010-12-29 中兴通讯股份有限公司 Loading and debugging method and debugging system thereof
CN104615750A (en) * 2015-02-12 2015-05-13 中国农业银行股份有限公司 Realization method of main memory database under host system
CN105653906A (en) * 2015-12-28 2016-06-08 中国人民解放军信息工程大学 Anti-kernel-hook method based on address randomization
CN108196905A (en) * 2017-12-28 2018-06-22 北京翼辉信息技术有限公司 A kind of dynamic loading method based on DSP
CN110765027A (en) * 2019-12-27 2020-02-07 中国人民解放军国防科技大学 PE file address positioning system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060080682A1 (en) * 2004-10-12 2006-04-13 Picsel Research Ltd. Run time dynamic linking

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101194477A (en) * 2005-06-09 2008-06-04 Nxp股份有限公司 Storage unit for a communication system node, method for data storage and communication system node
CN101187899A (en) * 2006-11-17 2008-05-28 中兴通讯股份有限公司 Embedded type system storage space optimization method
CN101470619A (en) * 2007-12-29 2009-07-01 安凯(广州)软件技术有限公司 Application program dynamic loading method based on microkernel operating system
CN101661397A (en) * 2008-08-29 2010-03-03 宇龙计算机通信科技(深圳)有限公司 Method for realizing dynamic loading of program and method and equipment for generating mapping file
CN101582040A (en) * 2009-06-08 2009-11-18 深圳市五巨科技有限公司 Application program loading system and loading method based on ARM system
WO2010148724A1 (en) * 2009-11-20 2010-12-29 中兴通讯股份有限公司 Loading and debugging method and debugging system thereof
CN104615750A (en) * 2015-02-12 2015-05-13 中国农业银行股份有限公司 Realization method of main memory database under host system
CN105653906A (en) * 2015-12-28 2016-06-08 中国人民解放军信息工程大学 Anti-kernel-hook method based on address randomization
CN108196905A (en) * 2017-12-28 2018-06-22 北京翼辉信息技术有限公司 A kind of dynamic loading method based on DSP
CN110765027A (en) * 2019-12-27 2020-02-07 中国人民解放军国防科技大学 PE file address positioning system

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Dynamo: A transparent dynamic optimization system;Bala Vasanth 等;《Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation》;20000501;1-12 *
ELF格式文件模拟加载器的设计与实现;王宏伟 等;《广州航海高等专科学校学报》;第12卷(第1期);43-45 *
Quasistatic shared libraries and xip for memory footprint reduction in mmu-less embedded systems;Park Jiyong 等;《ACM Transactions on Embedded Computing Systems (TECS)》;20090104;第8卷(第1期);1-27 *
一个嵌入式实时操作系统开发平台的实现;张丽芬 等;《北京理工大学学报》;20010228(第01期);57-61 *
基于可编程网卡的高性能数据中心系统;李博杰;《中国博士学位论文全文数据库信息科技辑》;20190815(第08期);I137-4 *

Also Published As

Publication number Publication date
CN111913762A (en) 2020-11-10

Similar Documents

Publication Publication Date Title
US8566372B2 (en) Method and device for dynamically loading relocatable file
KR100518584B1 (en) Shared library system and method for constructing the system
US7424705B2 (en) Dynamic management of compiled code
CN111124550B (en) Program dynamic loading method and device and storage medium
US7290254B2 (en) Combining compilation and instruction set translation
CN101187899B (en) Embedded type system storage space optimization method
US8056061B2 (en) Data processing device and method using predesignated register
CN111913762B (en) DSP dynamic loading method for reserving running memory space
US6665671B2 (en) System and method for optimization of shared data
CN102109980B (en) The method and apparatus of adaptive prefetching operation is performed in trustship runtime environment
CN110659088B (en) Method and system for expanding program under embedded environment
US20040128661A1 (en) Automatic data locality optimization for non-type-safe languages
US6959430B2 (en) Specialized heaps for creation of objects in object-oriented environments
CN100530136C (en) Memory management method and system, method and system for collecting garbage
US8589899B2 (en) Optimization system, optimization method, and compiler program
CN115700470A (en) File loading processing method and device, computer storage medium and electronic equipment
US7503040B2 (en) Configuring a shared library to accommodate relocatable data in a pervasive device
JP2001166948A (en) Method and device for converting program and storage medium recording program conversion program
CN115934213A (en) Controller stack calling method, device, equipment and storage medium
US8352703B2 (en) Address mapping of program code and data in memory
TW202109288A (en) Method and apparatus for interpreting bytecode instruction stream
KR100763199B1 (en) Method for calling a method in virtual machine environment and system including a virtual machine processing the method
CN112487438B (en) Heap object Use-After-Free vulnerability detection method based on identifier consistency
CN112486570B (en) Glibc compatible method for CPUs of different types
KR100727627B1 (en) Method for supporting application using dynamic linking library and system using the method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant