CN107391190A - A kind of program module method for dynamically loading - Google Patents
A kind of program module method for dynamically loading Download PDFInfo
- Publication number
- CN107391190A CN107391190A CN201710585570.5A CN201710585570A CN107391190A CN 107391190 A CN107391190 A CN 107391190A CN 201710585570 A CN201710585570 A CN 201710585570A CN 107391190 A CN107391190 A CN 107391190A
- Authority
- CN
- China
- Prior art keywords
- module
- program module
- memory space
- block
- global variable
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000013507 mapping Methods 0.000 claims abstract description 19
- 238000009434 installation Methods 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 7
- 239000012634 fragment Substances 0.000 description 4
- 238000000205 computational method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
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 present invention provides a kind of program module method for dynamically loading, including:Step 1: provide compiling system, for by program's source code compiling generation can dynamic loading program module, program module includes binary code section and data segment;Step 2: providing dynamic loading device, dynamic loading device includes being used for the installation module that program module is installed to program module memory space, and for program module to be operationally loaded into the loading module of runtime data memory space;Step 3: the binary code section of program module passes through the global variable address in the program module data segment base address mapping table calculation procedure source code in runtime data memory space;Step 4: read and write and quote global variable corresponding to global variable address.The present invention can exempt the operation of being backed up, wiped, merged write-in during reorientation to memory space, improve the efficiency of dynamic loading.
Description
Technical field
The present invention relates to computer software technical field, more particularly to a kind of program module method for dynamically loading.
Background technology
Dynamic loading technology enables to large program to call the function for being not belonging to its executable code, and renewal is applied to each
Individual module, the other parts without influenceing the program, so as to save the disk and memory headroom needed for application program.At present,
Dynamic loading technology has had standardized method, such as dynamic link library (DLL) load of file of windows platform on PC
Technology, and shared library (SO) load of file technology of Linux platform.By running on the dynamic loading in respective operations system
Device, can identify, load, run these can dynamic loading file.Dynamic loading device passes through the description in reading program module
Information, running memory is distributed for program module, by program load into internal memory, the then reorientation in reading program module is believed
Breath, is relocated program according to program module actual motion address, most program module behaves at last.
But in most of embedded system, because its storage resource is limited, typically require program code segment and only
Reading data segment, which is stored in such as Flash read-only power down memory, directly to be performed, while read-write data segment is copied to
In RAM.Because data segment only just can determine that its address when program module is loaded operation, to realize in embedded systems
The dynamic loading of program module, in the prior art generally when program module is loaded operation according to data segment address to code segment
Dependent instruction carries out reorientation modification, and this dynamic loading mechanism relevant with data segment address is to code segment data access instruction
Reorientation can cause to the modification problem of power down storage, it is necessary to inefficient backup, erasing, the operation for merging write-in;In addition,
Reorientation of the dynamic loading mechanism to code segment data access instruction needs extra memory space to be taken to deposit in program module
The relocation information of band, add the space carrying cost of loading.
Therefore, it is necessary to seek a kind of more efficiently program module method for dynamically loading, for realizing embedded system
Dynamic loading function.
The content of the invention
Program module method for dynamically loading provided by the invention, can in view of the shortcomings of the prior art, realize efficiency it is higher,
The less program module dynamic loading of space-consuming.
The present invention provides a kind of program module method for dynamically loading, including:
Step 1: provide compiling system, for by program's source code compiling generation can dynamic loading program module, the journey
Sequence module includes binary code section and data segment;
Step 2: providing dynamic loading device, the dynamic loading device includes being used to described program module being installed to program
The installation module of module memory space, and for described program module operationally to be loaded into runtime data memory space
Loading module;
Step 3: the binary code section of described program module passes through the program mould in the runtime data memory space
Block number calculates the global variable address in described program source code according to segment base address mapping table;
Step 4: read and write and quote global variable corresponding to the global variable address.
Alternatively, said procedure module memory space is divided into equal-sized memory block, and to store block size alignment
Mode deposit the binary code section and data segment of described program module.
Alternatively, above-mentioned loading module is used to deposit in the runtime data memory space for described program module assignment
Put the runtime data memory space of runtime data section.Alternatively, in the mapping table of said procedure module data segment base address
The memory block call number of the memory block and the memory block in each corresponding program module memory space of list item.
Alternatively, above-mentioned memory block call number ImodulePass through following formula
Imodule=(ADDRblock-Bflash)>>log2(Sblock)
Calculate and obtain, wherein ADDRblockFor the memory block base address shared by program module, SblockTo store block size,
BflashFor program module memory space base address.
Alternatively, above-mentioned steps three include passing through calculating formula:
ADDRvar=BDATA+OFFSETvar
The global variable address AD DR is calculatedvar, wherein, BDATAFor the data in runtime data memory space
Segment base address, OFFSETvarFor the data segment offset of the global variable.
Alternatively, above-mentioned data segment base address BDATAFrom data segment base address storage address ADDRDBIn obtain, the data
Segment base address storage address ADDRDBPass through calculating formula
ADDRDB=Gmodule+Imodule× data segment base address width
It is calculated, wherein, GmoduleFor described program module data segment base address mapping table base address, ImoduleFor program
Module index number.
Alternatively, said procedure module data segment base address mapping table base address GmoduleRecord is in a register.
Alternatively, said procedure module index ImodulePass through following formula
Imodule=(PC-Bflash)>>log2(Sblock)
It is calculated, wherein, PC is program counter value, BflashFor the base address of described program module memory space,
SblockTo store block size.
Alternatively, the binary code section of said procedure module includes global variable initialization function and the global variable
The caller of initialization function, and the reference to the global variable is completed by the global variable initialization function.
Alternatively, above-mentioned global variable initialization function is complete to other including will be converted to the reference of the global variable
The reference of office's variable.
Alternatively, above-mentioned global variable initialization function is reprinted to the runtime data in described program module and stored
Called during space by the loading module.
Program module method for dynamically loading provided by the invention, consumption of the embedded system to memory space can be reduced,
And exempt and memory space being backed up during reorientation, wipe, merging the operation of write-in, improving the efficiency of dynamic loading.
Brief description of the drawings
Fig. 1 is the block schematic illustration of the program module dynamic loading scheme general structure of one embodiment of the invention;
Fig. 2 is the memory block partition structure schematic diagram of the program module memory space of one embodiment of the invention;
Fig. 3 is that the mapping relations of the program module memory space and runtime data memory space of one embodiment of the invention are shown
It is intended to;
Fig. 4 is the schematic diagram for obtaining global variable address of one embodiment of the invention;
Fig. 5 is the reference processing side to other global variables in the source code that the global variable of one embodiment of the invention initializes
Formula schematic diagram;
Fig. 6 shows the program module method for dynamically loading flow chart of one embodiment of the invention.
Embodiment
To make the purpose, technical scheme and advantage of the embodiment of the present invention clearer, below in conjunction with the embodiment of the present invention
In accompanying drawing, the technical scheme in the embodiment of the present invention is clearly and completely described, it is clear that described embodiment is only
Only it is part of the embodiment of the present invention, rather than whole embodiments.Based on the embodiment in the present invention, ordinary skill
The every other embodiment that personnel are obtained under the premise of creative work is not made, belongs to the scope of protection of the invention.
The present invention provides a kind of program module method for dynamically loading, is coordinated by compiling system and dynamic loading device and realized.
Fig. 1 shows program module dynamic loading scheme overall structure diagram provided by the invention.As illustrated, program module dynamic
Loading pattern includes source code 1, compiling system 2, program module 3, dynamic loading device 4, background register 8 etc..Wherein, source code
1 is translated generation program module 3 by compiling system 2, specifically, program module 3 can be with dynamic loading, particularly, journey
Sequence module 3 includes binary code section and data segment.Dynamic loading device operates in the operating system (Operation of system equipment
System, OS) on.Specifically, dynamic loading device is made up of installation module 5 and loading module 6.Hardware device (HardWare,
HW in), there is background register 8.Particularly, module is installed to be used to program module 3 being installed to program module memory space 9
(Fig. 1 is not shown), (Fig. 1 is not for the data space 16 when loading module 6 is for program module 3 to be loaded into operation when running
Show).
Fig. 2 shows the memory block partition structure schematic diagram of program module memory space 9.As illustrated, installation module 5 will
Memory space 9 for depositing program module 3 is divided into memory block 10, specifically, memory block 10 is equal in magnitude.Particularly,
The size S of memory block 10blockIt is defined as 2n, the quantity of memory block 10 is then defined as CNTblock。
Further, when program module 3 is being installed to program module memory space 9 by installation module 5, in memory module
In memory space 9 memory space 11 is distributed for program module 3.Specifically, memory space 11 is made up of some memory blocks 10, it is used for
Deposit the binary code section and data segment of program module 3.Specifically, installation module 5 is according to storage block size SblockAlignment
Mode is mounted program module distribution memory space 11 in program module memory space 9, for depositing the He of code segment 12
Data segment 13 (Fig. 1 is not shown).Further, program module memory space 9 arranges memory block 10 from low address to high address, just
There is program module memory space base address B at low address to program module memory space 9flash, memory block 10 has from low
The memory block call number CNT that address is sequentially arranged to high addressblock, the base address of each memory block 10 is defined as ADDRblock。
Further, installation module 5 can be recorded in the journey of the memory space 11 for the program module 3 distributed in program module memory space 9
Sequence module base address BCODE, and the storage number of blocks CNT in the memory space 11 of program module 3module。
Fig. 3 is that the mapping relations of the program module memory space and runtime data memory space of one embodiment of the invention are shown
It is intended to.As shown in figure 3,
Loading module 6 safeguards a program module data segment base address mapping table 7, the mapping of program module data segment base address
Table 7 is global map table, and the base address of program module data segment base address mapping table 7 is Gmodule, base address GmoduleRecord
A general register G being not used by systemsmIn, read so that program module instructs.Specifically, in program module number
According in segment base address mapping table 7, each list item 15 corresponds to the memory block 10 in a program module memory space 9, program module
The quantity of list item 15 of data segment base address mapping table 7 and the quantity CNT of memory block 10blockUnanimously.
Further, loading module 6 is operationally program mould in data space 16 in load module module 3
The memory space that block 3 distributes runtime data section 17 is used for the runtime data section S for depositing program module 3DATA.Also, record
Data segment base address B when program module 3 is run in memory space 16DATA, and by program module runtime data section base
Location (BDATA) be written in program module data segment base address mapping table 7 and correspond to list item 15.
Particularly, the list item quantity and program module 3 that loading module 6 writes are shared in program module memory space 9
Storage number of blocks CNTmoduleUnanimously, write each list item call number 14 and program module 3 in program module memory space 9
In shared corresponding memory block call number ImoduleUnanimously.
Further, the corresponding memory block call number I shared in program module memory space 9 of program module 3module
The memory block base address ADDR shared by program module 3 can be passed throughblock, memory block 10 size SblockDeposited with program module
Store up space base location BflashIt is calculated, i.e. Imodule=(ADDRblock-Bflash)>>log2(Sblock)。
Thus, compiling system 2 by program's source code 1 translate generation can dynamic loading program module 3 when, can be by program
Reference in the function of source code 1 to global variable is translated as obtaining global variable address AD DRvarBinary code piece
Section, so that program block code fragment position and program module when access of the program's source code 1 to global variable can be with performing
Runtime data section SDATA" loaded " position it is unrelated.
Preferably, for obtaining global variable address AD DRvarBinary code fragment can obtain in the following way
:
The first step, calculate program module call number I of the current execute instruction in program module memory space 9module, meter
Calculation method is Imodule=(PC-Bflash)>>log2(Sblock);Wherein PC is program counter value, BflashStored for program module
Space base location, SblockFor the size of memory block 10.
Second step, calculation procedure module data segment base address storage address ADDRDB, computational methods ADDRDB=Gmodule+
Imodule× data segment base address width, wherein, GmoduleFor the base address of module data segment base address mapping table 7, ImoduleFor journey
Sequence module index number.Further, data segment base address storage address ADDR is obtainedDBCorresponding data segment base address BDATA;It is special
It is other, GmoduleIt can be obtained by general reading register 8 (Gm).
3rd step, calculate global variable address AD DRvar, computational methods ADDRvar=BDATA+OFFSETvar, wherein,
BDATAFor the data segment base address in runtime data memory space 16, OFFSETvarFor by compiling system 2 translation generation can
The offset during program module 3 of dynamic loading according to obtained by calculating position of the global variable in data segment.Further, obtain
Obtain global variable address AD DRvarThe corresponding global variable is simultaneously written and read.
Fig. 4 shows the schematic diagram for obtaining global variable address of one embodiment of the invention.As shown in figure 4, in program mould
Have program stored therein data segment 13 in block memory space 9, and routine data section 13 has offset OFFSETvar.Specifically, the skew
Measure OFFSETvarBy compiling system 2 translation generation can dynamic loading program module 3 when according to global variable in data segment
Position calculate gained.When program module 3, which is loaded onto, turns into runtime data section 17 in runtime data memory space 16,
Still offset OFFSET is retainedvar, i.e. the base address of runtime data section 17 is BDATAWith global variable address AD DRvarIt
Between there is offset OFFSETvar, therefore, global variable address AD DRvarComputational methods be ADDRvar=BDATA+
OFFSETvar。
Fig. 5 is the reference processing side to other global variables in the source code that the global variable of one embodiment of the invention initializes
Formula schematic diagram.As illustrated, compiling system 2 by program's source code 1 translate generation can dynamic loading program module 3 when, will be right
Global variable VmTo other global variables V in the source code initializednReference 18, the reference 18 passes through a global variable
Initialization function 19 and caller fragment 20 to the global variable initialization function are converted to function pair global variable VmAnd Vn
Reference.Global variable initialization function is responsible for obtaining the overall situation quoted in program's source code 1 according to above-mentioned binary code fragment
Address of variable ADDRvarMethod complete to global variable VmAnd VnReference.Global variable initialization function is in program module
Called when being loaded onto runtime data memory space 16 by loading module 6.
Fig. 6 shows the program module method for dynamically loading flow chart of one embodiment of the invention.As illustrated, S61 tables
Offer compiling system is provided, for by program's source code compiling generation can dynamic loading program module, described program module include two
Carry system code section and data segment;S62 represents offer dynamic loading device, and the dynamic loading device includes being used for described program module
The installation module of program module memory space is installed to, and for described program module operationally to be loaded into service hours
According to the loading module of memory space;S63 represents that the binary code section of described program module is stored by the runtime data
Program module data segment base address mapping table in space calculates the global variable address in described program source code;S64 represents to read
Write and quote global variable corresponding to the global variable address.
Program module method for dynamically loading provided by the invention so that the program module of dynamic loading need not be carried and reset
Position information, can reduce consumption of the embedded system to memory space.In addition, the program module of the present invention need not be entered when loading
Row reorientation, eliminate the operation of being backed up, wiped, merged write-in during reorientation to memory space, it is possible to increase dynamic fills
The efficiency of load.
The foregoing is only a specific embodiment of the invention, but protection scope of the present invention is not limited thereto, any
Those familiar with the art the invention discloses technical scope in, the change or replacement that can readily occur in, all should
It is included within the scope of the present invention.Therefore, protection scope of the present invention should be defined by scope of the claims.
Claims (12)
- A kind of 1. program module method for dynamically loading, it is characterised in that including:Step 1: provide compiling system, for by program's source code compiling generation can dynamic loading program module, described program mould Block includes binary code section and data segment;Step 2: providing dynamic loading device, the dynamic loading device includes being used to described program module being installed to program module The installation module of memory space, and for described program module to be operationally loaded into the dress of runtime data memory space Carry module;Step 3: the binary code section of described program module passes through the program module number in the runtime data memory space The global variable address in described program source code is calculated according to segment base address mapping table;Step 4: read and write and quote global variable corresponding to the global variable address.
- 2. according to the method for claim 1, it is characterised in that described program module memory space is divided into equal-sized Memory block, and deposit the binary code section and data segment of described program module in a manner of storing block size alignment.
- 3. according to the method for claim 2, it is characterised in that the loading module is in the runtime data memory space In be used to deposit the runtime data memory space of runtime data section for described program module assignment.
- 4. according to the method for claim 2, it is characterised in that every in the mapping table of described program module data segment base address The memory block call number of the memory block and the memory block in the corresponding program module memory space of individual list item.
- 5. according to the method for claim 4, it is characterised in that the memory block call number ImodulePass through following formulaImodule=(ADDRblock-Bflash)>>log2(Sblock)Calculate and obtain, wherein ADDRblockFor the memory block base address shared by program module, SblockTo store block size, Bflash For program module memory space base address.
- 6. according to the method for claim 1, it is characterised in that the step 3 includes passing through calculating formula:ADDRvar=BDATA+OFFSETvarThe global variable address AD DR is calculatedvar, wherein, BDATAFor the data segment base in runtime data memory space Location, OFFSETvarFor the data segment offset of the global variable.
- 7. according to the method for claim 6, it is characterised in that the data segment base address BDATADeposited from data segment base address Put address AD DRDBIn obtain, the data segment base address storage address ADDRDBPass through calculating formulaADDRDB=Gmodule+Imodule× data segment base address widthIt is calculated, wherein, GmoduleFor described program module data segment base address mapping table base address, ImoduleFor program module Call number.
- 8. according to the method for claim 7, it is characterised in that described program module data segment base address mapping table base address GmoduleRecord is in a register.
- 9. according to the method for claim 7, it is characterised in that described program module index ImodulePass through following formulaImodule=(PC-Bflash)>>log2(Sblock)It is calculated, wherein, PC is program counter value, BflashFor the base address of described program module memory space, SblockFor Store block size.
- 10. according to the method for claim 1, it is characterised in that the binary code section of described program module includes the overall situation The caller of initialization of variable function and the global variable initialization function, and it is complete by the global variable initialization function The reference of the paired global variable.
- 11. according to the method for claim 10, it is characterised in that the global variable initialization function includes will be to described The reference of global variable is converted to the reference to other global variables.
- 12. according to the method for claim 10, it is characterised in that the global variable initialization function is in described program mould Block is reprinted to during the runtime data memory space to be called by the loading module.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710585570.5A CN107391190B (en) | 2017-07-18 | 2017-07-18 | Dynamic loading method for program module |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710585570.5A CN107391190B (en) | 2017-07-18 | 2017-07-18 | Dynamic loading method for program module |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107391190A true CN107391190A (en) | 2017-11-24 |
CN107391190B CN107391190B (en) | 2020-10-13 |
Family
ID=60340815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710585570.5A Active CN107391190B (en) | 2017-07-18 | 2017-07-18 | Dynamic loading method for program module |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107391190B (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113204377A (en) * | 2020-01-31 | 2021-08-03 | 华为技术有限公司 | Method and device for loading dynamic link library |
CN115079803A (en) * | 2022-05-20 | 2022-09-20 | 上海瑞浦青创新能源有限公司 | Abnormal power failure data storage device suitable for microcontroller |
WO2022237610A1 (en) * | 2021-05-10 | 2022-11-17 | 阿里巴巴(中国)有限公司 | Program compiling method and program loading method |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5375241A (en) * | 1992-12-21 | 1994-12-20 | Microsoft Corporation | Method and system for dynamic-link library |
CN101165648A (en) * | 2006-10-16 | 2008-04-23 | 中兴通讯股份有限公司 | Method for constructing middle library |
CN101763273A (en) * | 2008-12-26 | 2010-06-30 | 上海闻泰电子科技有限公司 | Method for dynamically loading code into extended memory of embedded type system |
CN102147743A (en) * | 2011-03-28 | 2011-08-10 | 博视联(苏州)信息科技有限公司 | Method for accelerating startup of embedded system application program |
JP2013041546A (en) * | 2011-08-19 | 2013-02-28 | Fujitsu Ltd | Debug support program, debug support method and debug support system |
CN103744709A (en) * | 2014-01-23 | 2014-04-23 | 华为技术有限公司 | Patch loading method and device |
CN106681828A (en) * | 2016-12-09 | 2017-05-17 | 北京奇虎科技有限公司 | Method and device for reinforcing dynamic link library SO file of Android installation package |
-
2017
- 2017-07-18 CN CN201710585570.5A patent/CN107391190B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5375241A (en) * | 1992-12-21 | 1994-12-20 | Microsoft Corporation | Method and system for dynamic-link library |
CN101165648A (en) * | 2006-10-16 | 2008-04-23 | 中兴通讯股份有限公司 | Method for constructing middle library |
CN101763273A (en) * | 2008-12-26 | 2010-06-30 | 上海闻泰电子科技有限公司 | Method for dynamically loading code into extended memory of embedded type system |
CN102147743A (en) * | 2011-03-28 | 2011-08-10 | 博视联(苏州)信息科技有限公司 | Method for accelerating startup of embedded system application program |
JP2013041546A (en) * | 2011-08-19 | 2013-02-28 | Fujitsu Ltd | Debug support program, debug support method and debug support system |
CN103744709A (en) * | 2014-01-23 | 2014-04-23 | 华为技术有限公司 | Patch loading method and device |
CN106681828A (en) * | 2016-12-09 | 2017-05-17 | 北京奇虎科技有限公司 | Method and device for reinforcing dynamic link library SO file of Android installation package |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113204377A (en) * | 2020-01-31 | 2021-08-03 | 华为技术有限公司 | Method and device for loading dynamic link library |
WO2021151350A1 (en) * | 2020-01-31 | 2021-08-05 | 华为技术有限公司 | Method and apparatus for loading dynamic link library |
CN113204377B (en) * | 2020-01-31 | 2022-12-06 | 华为技术有限公司 | Method and device for loading dynamic link library |
US11886222B1 (en) | 2020-01-31 | 2024-01-30 | Huawei Technologies Co., Ltd. | Dynamic link library loading method and apparatus |
WO2022237610A1 (en) * | 2021-05-10 | 2022-11-17 | 阿里巴巴(中国)有限公司 | Program compiling method and program loading method |
CN115079803A (en) * | 2022-05-20 | 2022-09-20 | 上海瑞浦青创新能源有限公司 | Abnormal power failure data storage device suitable for microcontroller |
CN115079803B (en) * | 2022-05-20 | 2024-03-29 | 上海瑞浦青创新能源有限公司 | Abnormal power-down data storage device suitable for microcontroller |
Also Published As
Publication number | Publication date |
---|---|
CN107391190B (en) | 2020-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11157640B2 (en) | Protecting sensitive data in software products and in generating core dumps | |
CN102662690B (en) | Method and apparatus for starting application program | |
Li et al. | Identifying opportunities for byte-addressable non-volatile memory in extreme-scale scientific applications | |
CN113196243B (en) | Improve simulation and trace performance using compiler-generated simulation optimization metadata | |
US4812981A (en) | Memory management system improving the efficiency of fork operations | |
US9841914B2 (en) | Managed energy-efficient hybrid main memory systems | |
Curry et al. | Gibraltar: A Reed‐Solomon coding library for storage applications on programmable graphics processors | |
CN103294557A (en) | Multicore processor having active and inactive execution cores | |
US9311194B1 (en) | Efficient resource utilization in data centers | |
CN104239096A (en) | Method and unit for realizing security data partitions in Android system | |
CN107391190A (en) | A kind of program module method for dynamically loading | |
Courville et al. | Understanding storage I/O behaviors of mobile applications | |
CN114245892A (en) | Data race analysis based on changing the loading inside a function during time travel debugging | |
CN103502960B (en) | Method and system for encryption of memory device | |
US8910136B2 (en) | Generating code that calls functions based on types of memory | |
US9047403B2 (en) | Debugger with previous version feature | |
Jimenez et al. | Software controlled cell bit-density to improve NAND flash lifetime | |
CN104063234A (en) | Compatible method and device | |
CN107391191A (en) | A kind of program module method for dynamically loading | |
CN102253884A (en) | Method and device for simulating operating environment of single-plate software | |
US9298460B2 (en) | Register management in an extended processor architecture | |
CN108733307A (en) | Memory management method, equipment and computer-readable medium | |
US20220318015A1 (en) | Enforcing data placement requirements via address bit swapping | |
US20090313449A1 (en) | eXtreme Virtual Memory | |
US20230409476A1 (en) | Cache system simulating method, apparatus, device and storage medium |
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 |