CN101776990B - Firmware extension method and firmware builder - Google Patents
Firmware extension method and firmware builder Download PDFInfo
- Publication number
- CN101776990B CN101776990B CN2009102233128A CN200910223312A CN101776990B CN 101776990 B CN101776990 B CN 101776990B CN 2009102233128 A CN2009102233128 A CN 2009102233128A CN 200910223312 A CN200910223312 A CN 200910223312A CN 101776990 B CN101776990 B CN 101776990B
- Authority
- CN
- China
- Prior art keywords
- firmware image
- firmware
- expansion
- benchmark
- image
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- 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/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
- G06F9/4486—Formation of subprogram jump address
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30138—Extension of register space, e.g. register cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
The invention provides a firmware extension method and a firmware builder, particularly adaptable for an embedded system. The firmware extension method comprises: providing a baseline firmware image and a header file correlated with the baseline firmware image; generating an extension firmware image according to the header file, wherein the extension firmware image comprises one or more extension functions; generating a callback table comprising pointers pointing to entries of the extended functions in the extension firmware image; merging the baseline firmware image, the extension firmware image and the callback table to generate a merged firmware builder. The firmware extension method and the firmware builder provided by the invention could extend the firmware without providing source codes of the baseline firmware image by the upstream supplier and could protect the source codes possibly relating to the firmware design correlated information.
Description
Technical field
The present invention expands (firmware extension) relevant for firmware, more specifically, and relevant for the middle method that increases user's customization function and do not affect benchmark firmware source code of past benchmark firmware image (baseline firmware image).
Background technology
On the production line of product, usually need the firmware expansion, especially between upstream supplier and downstream supplier.The upstream supplier provides the hardware that bundles with the benchmark firmware image usually, and when needs were disposed various additional application in single embedded system, the benchmark firmware image only can provide basic function, and can't carry out the function of variation.Therefore, the downstream supplier needs on salely to go out product and take a step forward and revise the benchmark firmware image so that additional function to be provided.Traditionally, need source code during the function of modification benchmark firmware image, yet the upstream supplier does not wish the source of release code usually, because it may relate to the confidential information relevant with hardware design.
Fig. 1 is the process flow diagram of traditional firmware modification.In the step 101, the upstream supplier discharges the source code of benchmark firmware image, comprises header file (header file), storehouse and file destination (object file).In the step 103, the downstream supplier revises source code to finish the expanded function of hardware.In the step 103, the firmware image that compiling is revised from amended source code, wherein original firmware image is replaced.Because comprising, header file, storehouse and file destination do not expect the confidential information that is affected therefore to be necessary to propose a kind of senior firmware extension method.
Summary of the invention
In view of this, the invention provides a kind of firmware extension method and a kind of firmware builder.
The embodiment one of according to the present invention provides a kind of firmware extension method, is used for embedded system, and described method comprises: benchmark firmware image and the header file relevant with described benchmark firmware image are provided; Generate the expansion firmware image according to described header file, described expansion firmware image comprises one or more expanded functions; Produce callback list from described expansion firmware image, described callback list comprises the pointer that points to the entrance of expanded function described in the described expansion firmware image; And merge described benchmark firmware image, described expansion firmware image and described callback list, to produce the firmware image that merges.
Another embodiment according to the present invention, a kind of firmware builder is provided, be used for the expansion of embedded system benchmark firmware image function, described firmware builder comprises: compiler, according to the header file relevant with described benchmark firmware image, the source code that compiles one or more expanded functions is the expansion firmware image; And structure module, from described expansion firmware image, produce callback list, and merge described expansion firmware image, described benchmark firmware image and described callback list, to produce the firmware image that merges, wherein said callback list comprises the pointer that points to the entrance of expanded function described in the described expansion firmware image.
Another embodiment according to the present invention, a kind of firmware builder is provided, be used for the expansion of embedded system benchmark firmware image function, described firmware builder comprises: compiler, according to the header file relevant with described benchmark firmware image, the source code that compiles one or more expanded functions is the expansion firmware image, and produces callback list from described expansion firmware image, and wherein said callback list comprises the pointer that points to the entrance of expanded function described in the described expansion firmware image; And the structure module, merge described expansion firmware image, described benchmark firmware image and described callback list, produce the firmware image that merges.
Firmware extension method provided by the present invention and firmware builder need not the source code that the upstream supplier provides the benchmark firmware image, can carry out the firmware expansion, can protect the source code that may relate to the relevant confidential information of hardware design.
Description of drawings
Fig. 1 is the process flow diagram of traditional firmware modification.
Fig. 2 a is the embodiment of the firmware image of merging.
Fig. 2 b has shown based on the benchmark firmware image of Fig. 2 a and the embodiment of symbol table.
Fig. 2 c has shown based on the expansion firmware image of Fig. 2 a and the embodiment of callback list.
Fig. 3 a has shown the embodiment of firmware builder.
Fig. 3 b is the process flow diagram of the firmware extension method according to the present invention.
Fig. 4 is for using the process flow diagram of the embodiment that merges firmware.
Embodiment
For allow the object of the invention, feature, and advantage can become apparent, preferred embodiment cited below particularly elaborates.Embodiment is the usefulness for explanation the present invention, is not to limit the present invention.Protection scope of the present invention is as the criterion with the appended claim of applying for a patent.
Fig. 2 a is the embodiment of (merged) firmware image of merging.The firmware image 200 that merges comprises benchmark firmware image 210 and expansion firmware image 220, and both connect by callback list (callback table) 222.Benchmark firmware image 210 is provided by the upstream supplier, and when merging with expansion firmware image 220, (uncompromised) can't be affected.Can not be affected namely refers to, by various known code resist technologies, benchmark firmware image 210 is executable, but but is difficult to carry out decompiling (decompiled) by reverse-engineering (reverse engineering).Simultaneously, produce expansion firmware image 220 based on open standard, allow the downstream supplier to finish additional function.At first, benchmark firmware image 210 is stored in the memory device (not shown) of embedded system, and the finite capacity of memory device.Benchmark firmware image 210 remains on identical position, and expansion firmware image 220 and callback list 222 can be stored in the free space (free space) of memory device.For how many active volumes explanation has in memory device, the upstream supplier can provide configuration field 202, is used for record memory configurations parameter, for example the plot (base address) of the size of free space and expansion firmware image 220.In the present embodiment, benchmark firmware image 210 can be periodically or conditionality ground switch to callback list 222 according to expansion pointer 204, make it possible to load and carry out the expanded function in the expansion firmware image 220.Especially, the entry address of callback list 222 can be the specific address in the memory device, and when merging expansion firmware image 220 and callback list 222, namely obtains and the entry address is write to expansion pointer 204.
Fig. 2 b has shown the embodiment based on the benchmark firmware image 210 of Fig. 2 a and symbol table (symbol table) 212.Benchmark firmware image 210 can comprise required a plurality of basic utility interfaces (Application Program Interface, the API) function of expansion firmware image 220.The API function can be hardware abstraction layer (hardware abstraction layer) function, for example I/O, DMA, coder, DSP and other hardware driver, also can be software library, for example standard C/C++, mathematics, Science and engineering subroutine (sub-routines).Shown in Fig. 2 b, API function API1, API2...APIn are stored in respectively specific address ADDR1, ADDR2...ADDRn.For sharing A PI function, the upstream supplier provides symbol table 212, and symbol table 212 is used to indicate entry address and the header file #H of API function, and wherein header file #H discloses the API functional definition.By this, in compilation time and working time, expanded function can be with reference to the API function.
Fig. 2 c shown based on Fig. 2 a expansion firmware image 220 and the embodiment of callback list 222.Expansion firmware image 220 is provided by the downstream supplier, generally includes one or more expanded function FUNC1, FUNC2...FUNCn.When expansion firmware image 220 compiled from downstream supplier's source code, each function had relative entry address PTR1, a PTR2...PTRn.Set up callback list 222 to be stored into port address, wherein when the corresponding interruption of beginning, then load and carry out expanded function.Whether and callback list 222 can comprise enabler flags 224, be enabled to indicate expanded function.If when execution benchmark firmware image 210 read enabler flags 224, wherein expanded function was denoted as anergy (disabled), then can not load and carry out the function in the expansion firmware image 220.Callback list 222 can further comprise the configuration that spare space is used for storing the user customization relevant with expanded function.
Fig. 3 a has shown the embodiment of firmware builder 300, by this firmware builder 300, can produce the firmware image 200 of the merging Fig. 2 a from benchmark firmware image 210, source code #SRC and header file #H.Firmware builder 300 comprises structure module 310 and compiler 320.Based on header file #H, the source code #SRC that compiler 320 compiling and benchmark firmware image 210 are relevant.At compile duration, also use the information in configuration field 202 and the symbol table 222.After obtaining expansion firmware image 220, from expansion firmware image 220, produce the callback list 222 shown in Fig. 2 c, comprise the pointer that points to expanded function entrance in the expansion firmware image 220.Make up module 310 and can when merging expansion firmware image 220 and benchmark firmware image 210, produce callback list 222.Another kind method, because callback list 222 comprises the information relevant with expansion firmware image 220, therefore when compiling expansion firmware image 220, also can be by compiler 320 generation callback lists 222.After producing callback list 222, make up module 310 and then callback list 222 and benchmark firmware image 210 and expansion firmware image 220 are merged, to produce the firmware image 200 that merges.
As mentioned above, benchmark firmware image 210 has configuration field 202, and configuration field 202 comprises the plot of memory configurations parameter (for example being used for storing the active volume of expansion firmware image) and expansion firmware image.By the memory configurations parameter, the entry address that compiler 320 can be controlled the size of expansion firmware image 220 and correctly obtain each function in the expansion firmware image 220.Expansion pointer 204 is that whether the enabler flags 224 in the callback list 222 has defined expanded function and be enabled for the protection zone that stores callback list 222 entrances.Benchmark firmware image 210 can be periodically or is triggered conditionally subfunction and call (sub-function call), to check enabler flags 224 via expansion pointer 204.For example, configurable timer is in order to periodically carry out expanded function.Also definable particular event or interrupt calling to trigger subfunction, and if enabler flags 224 expanded function is enabled, then load and carry out this particular event or interruption.
Fig. 3 b is the process flow diagram of the firmware extension method according to the present invention.When the downstream supplier needs to increase new function in the master reference firmware image, especially need to adopt firmware extension method, and the method does not need any source code of upstream supplier.In the step 301, the downstream supplier begins the firmware extender.In the step 303, obtain benchmark firmware image 210, predefined configuration field 202, header file #H and symbol table 212 from the upstream supplier.Keep expansion pointer 204, so that the value that determines after storing.In the step 305, downstream supplier's application head file #H produces the source code #SRC of one or more expanded functions.In the step 307, #H is for referencial use with header file, and source code #SRC is compiled as expansion firmware image 220.In the step 309, set up callback list 222 from expansion firmware image 220, callback list 222 comprises the entry address of each expanded function.In the step 311, benchmark firmware image 210, expansion firmware image 220 and callback list 222 are merged into the firmware image 200 of a merging.The firmware image 200 that merges can be stored in the memory device identical with benchmark firmware image 210, and wherein benchmark firmware image 210 is replaced.In the step 313, the expansion pointer 204 that benchmark firmware image 210 comprises, its content is updated to the entry address (can refer back to mileometer adjustment 222 by this) of callback list 222, call when being triggered conditionally with the subfunction in the convenient benchmark firmware image 210, to load the expanded function in the expansion firmware image 220.
Fig. 4 is for using the embodiment process flow diagram of the firmware that merges.Because the main body (body) of the expanded function in the firmware image 220 is not expanded in advance definition in benchmark firmware image 210, so need to trigger the mechanism of expanded function.In the step 401, start the embedded system that adopts the firmware image 200 that merges.In the step 403, carry out benchmark firmware image 210.Note that fulfiling subfunction in benchmark firmware image 210 ahead of schedule calls to support the firmware expansion.In the step 405, periodicity or the subfunction of carrying out conditionally in the benchmark firmware image 210 are called, so that according to the value that is stored in the enabler flags 224, determine whether expansion firmware image 220 is enabled.For example, can be called by particular event or down trigger subfunction.If expansion firmware image 220 is not enabled, then subfunction is called and is got back to zero (null), and program is got back to step 403.Otherwise, if the expansion firmware image 220 be enabled, then in step 407, subfunction is called and is referred back to mileometer adjustment 222, so as from the expansion firmware image 220 the corresponding expanded function of load and execution.After expanded function was complete, program was got back to step 403.Usually, expansion firmware image 220 is shared identical storehouse internal memory with benchmark firmware image 210.The firmware image 200 that merges can directly read from memory device and be carried out by processor, perhaps is loaded on memory device before execution.Benchmark firmware image 210 and expansion firmware image 220 can be shared some global variables (global variable) simultaneously, and these global variables can together be stored in the symbol table 212 with the API function.
Though the present invention describes with preferred embodiment, yet is not limited to this.The combination of various distortion, modification and the various features of described embodiment all belongs to the scope that the present invention advocates, interest field of the present invention should be as the criterion to apply for a patent claim.
Claims (18)
1. a firmware extension method is used for embedded system, and described method comprises:
Benchmark firmware image and the header file relevant with described benchmark firmware image are provided;
Generate the expansion firmware image according to described header file, described expansion firmware image comprises one or more expanded functions;
Produce callback list from described expansion firmware image, described callback list comprises the pointer that points to the entrance of expanded function described in the described expansion firmware image; And
Merge described benchmark firmware image, described expansion firmware image and described callback list, to produce the firmware image that merges.
2. firmware extension method according to claim 1 is characterized in that, further comprises:
The memory configurations parameter is provided, comprises the plot be used to the active volume that stores described expansion firmware image and described expansion firmware image; And
Carry out the step of described merging according to described memory configurations parameter.
3. firmware extension method according to claim 2 is characterized in that, the step of described merging comprises that the entrance with described callback list is stored to the expansion pointer.
4. firmware extension method according to claim 3 is characterized in that:
Whether described callback list comprises enabler flags, be used to indicate described expanded function and be enabled; And
According to described expansion pointer and described enabler flags, by described callback list, described benchmark firmware image loads and carries out described expanded function conditionally.
5. firmware extension method according to claim 1 is characterized in that:
Described benchmark firmware image comprises a plurality of application programming interfaces functions; And
Described header file discloses described application programming interfaces function, and described application programming interfaces function can be applicable to described expanded function.
6. firmware extension method according to claim 5 is characterized in that, the generation of described expansion firmware image comprises:
The source code of described expanded function is provided;
Symbol table is provided, and described symbol table comprises the pointer of the entrance that points to described application programming interfaces function; And
Compile described source code and described header file and described symbol table, produce described expansion firmware image.
7. a firmware builder is used for the expansion of embedded system benchmark firmware image function, and described firmware builder comprises:
Compiler, according to the header file relevant with described benchmark firmware image, the source code that compiles one or more expanded functions is the expansion firmware image; And
Make up module, from described expansion firmware image, produce callback list, and merge described expansion firmware image, described benchmark firmware image and described callback list, to produce the firmware image that merges, wherein said callback list comprises the pointer that points to the entrance of expanded function described in the described expansion firmware image.
8. firmware builder according to claim 7 is characterized in that:
Described benchmark firmware image comprises the memory configurations parameter, and described memory configurations parameter comprises the plot be used to the active volume that stores described expansion firmware image and described expansion firmware image; And
Described structure module merges described benchmark firmware image, described expansion firmware image and described callback list according to described memory configurations parameter.
9. firmware builder according to claim 8 is characterized in that:
Described benchmark firmware image comprises the expansion pointer; And
Described structure module is stored to described expansion pointer with the entrance of described callback list.
10. firmware builder according to claim 9 is characterized in that:
Whether described callback list comprises enabler flags, be used to indicate described expanded function and be enabled; And
According to described expansion pointer and described enabler flags, by described callback list, described benchmark firmware image loads and carries out described expanded function conditionally.
11. firmware builder according to claim 7 is characterized in that:
Described benchmark firmware image comprises a plurality of application programming interfaces functions; And
Described header file discloses described application programming interfaces function, and described application programming interfaces function can be applicable to described expanded function.
12. firmware builder according to claim 11 is characterized in that:
Described compiler compiles described source code and described header file and symbol table, produces described expansion firmware image; And
Described symbol table comprises the pointer of the entrance that points to described application programming interfaces function.
13. a firmware builder is used for the expansion of embedded system benchmark firmware image function, described firmware builder comprises:
Compiler, according to the header file relevant with described benchmark firmware image, the source code that compiles one or more expanded functions is the expansion firmware image, and from described expansion firmware image, producing callback list, wherein said callback list comprises the pointer that points to the entrance of expanded function described in the described expansion firmware image; And
Make up module, merge described expansion firmware image, described benchmark firmware image and described callback list, produce the firmware image that merges.
14. firmware builder according to claim 13 is characterized in that:
Described benchmark firmware image comprises the memory configurations parameter, and described memory configurations parameter comprises the plot be used to the active volume that stores described expansion firmware image and described expansion firmware image; And
Described structure module merges described benchmark firmware image, described expansion firmware image and described callback list according to described memory configurations parameter.
15. firmware builder according to claim 14 is characterized in that:
Described benchmark firmware image comprises the expansion pointer; And
Described structure module is stored to described expansion pointer with the entrance of described callback list.
16. firmware builder according to claim 15 is characterized in that:
Whether described callback list comprises enabler flags, be used to indicate described expanded function and be enabled; And
According to described expansion pointer and described enabler flags, by described callback list, described benchmark firmware image loads and carries out described expanded function conditionally.
17. firmware builder according to claim 13 is characterized in that:
Described benchmark firmware image comprises a plurality of application programming interfaces functions; And
Described header file discloses described application programming interfaces function, and described application programming interfaces function can be applicable to described expanded function.
18. firmware builder according to claim 17 is characterized in that:
Described compiler compiles described source code and described header file and symbol table, produces described expansion firmware image; And
Described symbol table comprises the pointer of the entrance that points to described application programming interfaces function.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/352,692 US8392895B2 (en) | 2009-01-13 | 2009-01-13 | Firmware extension method and firmware builder |
US12/352,692 | 2009-01-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101776990A CN101776990A (en) | 2010-07-14 |
CN101776990B true CN101776990B (en) | 2013-04-03 |
Family
ID=42319950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102233128A Active CN101776990B (en) | 2009-01-13 | 2009-11-17 | Firmware extension method and firmware builder |
Country Status (3)
Country | Link |
---|---|
US (2) | US8392895B2 (en) |
CN (1) | CN101776990B (en) |
TW (1) | TWI479416B (en) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8176307B2 (en) | 2009-04-13 | 2012-05-08 | Broadcom Corporation | Method and system for post-build modification of firmware binaries to support different hardware configurations |
EP2378417A1 (en) * | 2010-04-16 | 2011-10-19 | Accenture Global Services Limited | Extending the functionality of an embedded system |
US9378008B2 (en) * | 2010-12-20 | 2016-06-28 | Oracle International Corporation | Method and system for creating, applying, and removing a software fix |
CN102831003A (en) * | 2011-06-14 | 2012-12-19 | 上海三旗通信科技股份有限公司 | Auxiliary tool set system under MediaTek (MTK) compile environment |
US8984502B2 (en) | 2011-10-28 | 2015-03-17 | Hewlett-Packard Development Company, L.P. | Systems and methods for composing or decomposing a composite image for firmware update images |
WO2013100992A1 (en) * | 2011-12-28 | 2013-07-04 | Intel Corporation | Context-state management |
US9348618B2 (en) | 2012-03-14 | 2016-05-24 | Aclara Meters Llc | Systems and methods for enhancing firmware |
CN102855151B (en) * | 2012-08-21 | 2016-06-08 | 武汉电信器件有限公司 | The optical module firmware not interrupting business is in application upgrade method |
US10101988B2 (en) * | 2013-01-15 | 2018-10-16 | Hewlett Packard Enterprise Development Lp | Dynamic firmware updating |
US9104504B2 (en) * | 2013-03-13 | 2015-08-11 | Dell Products Lp | Systems and methods for embedded shared libraries in an executable image |
US10205750B2 (en) * | 2013-03-13 | 2019-02-12 | Intel Corporation | Policy-based secure web boot |
US9910684B2 (en) | 2013-03-25 | 2018-03-06 | Hewlett Packard Enterprise Development Lp | Extensible firmware abstraction |
US9116774B2 (en) * | 2013-05-14 | 2015-08-25 | Sandisk Technologies Inc. | Firmware updates for multiple product configurations |
TWI493462B (en) * | 2013-05-21 | 2015-07-21 | Transcend Information Inc | Firmware function extending method in an embedded system device |
US9535676B1 (en) | 2014-04-04 | 2017-01-03 | Seagate Technology Llc | Remote feature activation |
US9584498B1 (en) | 2014-04-04 | 2017-02-28 | Seagate Technology Llc | Feature activation using near field communication |
US9838250B1 (en) | 2014-04-04 | 2017-12-05 | Seagate Technology Llc | Recipient-specific feature activation |
US9633330B1 (en) | 2014-04-04 | 2017-04-25 | Seagate Technoglogy LLC | Late stage SKU assignment |
US9430200B1 (en) * | 2015-06-04 | 2016-08-30 | Microsoft Technology Licensing Llc | Cross-library framework architecture feature sets |
US10445081B2 (en) * | 2016-07-28 | 2019-10-15 | American Megatrends International, Llc | Techniques of automatically generating dependencies for applications in embedded systems |
US10621353B2 (en) * | 2016-12-28 | 2020-04-14 | Intel Corporation | Firmware loading for exploit resistance |
CN107341031B (en) * | 2017-06-20 | 2020-12-15 | 广州慧睿思通信息科技有限公司 | Method and device for adding firmware generation information into DSP firmware |
CN107748680B (en) * | 2017-09-28 | 2021-03-16 | 努比亚技术有限公司 | Kernel configuration method, terminal and computer readable storage medium |
CN107861729B (en) * | 2017-11-08 | 2021-08-24 | 中国信息安全测评中心 | Method and device for positioning firmware loading base address and electronic equipment |
CN108595199A (en) * | 2018-04-19 | 2018-09-28 | 济南浪潮高新科技投资发展有限公司 | A kind of method of key upgrading embedded system firmware |
CN112579133A (en) * | 2020-12-29 | 2021-03-30 | 北京深思数盾科技股份有限公司 | Firmware program updating method and device, storage medium and electronic equipment |
US11194556B1 (en) * | 2021-05-11 | 2021-12-07 | Apex.AI, Inc. | Deterministic memory allocation for real-time applications |
CN113794589B (en) * | 2021-08-31 | 2023-11-07 | 新华三技术有限公司成都分公司 | Packaging method of AC firmware, upgrading method of AP and AC |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7007159B2 (en) * | 2002-05-10 | 2006-02-28 | Intel Corporation | System and method for loading and integrating a firmware extension onto executable base system firmware during initialization |
CN1797336A (en) * | 2004-12-28 | 2006-07-05 | 光宝科技股份有限公司 | Equipment and method of system software capable of updating embedded type system automatically |
CN1904853A (en) * | 2006-08-21 | 2007-01-31 | 北京中星微电子有限公司 | Embedded software loading debugging method and system thereof |
CN101339507A (en) * | 2008-08-15 | 2009-01-07 | 中兴通讯股份有限公司 | Method for creating embedded program operation symbol table |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6553426B2 (en) * | 1997-10-06 | 2003-04-22 | Sun Microsystems, Inc. | Method apparatus for implementing multiple return sites |
US6219834B1 (en) * | 1998-05-15 | 2001-04-17 | International Business Machines Corporation | Extensible compiler and method |
US6954923B1 (en) * | 1999-01-28 | 2005-10-11 | Ati International Srl | Recording classification of instructions executed by a computer |
US20040030768A1 (en) * | 1999-05-25 | 2004-02-12 | Suban Krishnamoorthy | Unified system and method for downloading code to heterogeneous devices in distributed storage area networks |
JP2002244874A (en) * | 2001-02-15 | 2002-08-30 | Toshiba Corp | Information processor and firmware updating method |
US6848046B2 (en) * | 2001-05-11 | 2005-01-25 | Intel Corporation | SMM loader and execution mechanism for component software for multiple architectures |
US20030135848A1 (en) * | 2001-12-21 | 2003-07-17 | Hitachi, Ltd. | Use of multiple procedure entry and/or exit points to improve instruction scheduling |
US7752599B2 (en) * | 2003-02-25 | 2010-07-06 | Bea Systems Inc. | Systems and methods extending an existing programming language with constructs |
US7305666B2 (en) * | 2003-07-23 | 2007-12-04 | Microsoft Corporation | Description language for an extensible compiler and tools infrastructure |
US7373642B2 (en) * | 2003-07-29 | 2008-05-13 | Stretch, Inc. | Defining instruction extensions in a standard programming language |
US7856624B2 (en) * | 2003-09-15 | 2010-12-21 | Thomas Plum | Automated safe secure techniques for eliminating undefined behavior in computer software |
JP4157016B2 (en) * | 2003-11-05 | 2008-09-24 | 株式会社東芝 | Compiler apparatus and compiling method |
US7958330B2 (en) * | 2004-02-02 | 2011-06-07 | Fujitsu Limited | Compiler program, compiler program recording medium, compile method, and program processing system |
US7676800B2 (en) * | 2004-02-20 | 2010-03-09 | Intel Corporation | Method and apparatus for reducing the storage overhead of portable executable (PE) images |
US7694291B2 (en) * | 2004-04-06 | 2010-04-06 | Hewlett-Packard Development Company, L.P. | Build optimizer tool for efficient management of software builds for mobile devices |
US7853742B2 (en) * | 2004-04-26 | 2010-12-14 | Intel Corporation | System and method to conditionally shrink an executable module |
US20060184924A1 (en) * | 2004-12-14 | 2006-08-17 | Aten International Co., Ltd. | Intelligent platform management interface firmware architecture and method of building the same |
JPWO2006095434A1 (en) * | 2005-03-10 | 2008-08-14 | 富士通株式会社 | Software construction program, recording medium recording the program, software construction method, and software construction system |
US8271964B2 (en) * | 2005-05-16 | 2012-09-18 | Microsoft Corporation | Extensible software development services |
US7533368B1 (en) * | 2005-06-21 | 2009-05-12 | Apple Inc. | User interface driven by dynamic state changes |
US7809918B1 (en) * | 2005-07-22 | 2010-10-05 | American Megatrends, Inc. | Method, apparatus, and computer-readable medium for providing physical memory management functions |
JP4559937B2 (en) * | 2005-09-01 | 2010-10-13 | 株式会社東芝 | Program generator |
JP2007310449A (en) * | 2006-05-16 | 2007-11-29 | Fujitsu Ltd | Model generation program and model generation method for software/hardware cooperation design |
US20070300150A1 (en) * | 2006-06-22 | 2007-12-27 | Lantronix, Inc. | Building rich web site applications with an embedded device |
US20080052699A1 (en) * | 2006-08-02 | 2008-02-28 | Baker Steven T | Syncronized dual-processor firmware updates |
US7987458B2 (en) * | 2006-09-20 | 2011-07-26 | Intel Corporation | Method and system for firmware image size reduction |
US7984430B2 (en) * | 2006-09-27 | 2011-07-19 | Electronics And Telecommunications Research Institute | Parser framework using markup language |
TWI349882B (en) * | 2007-09-04 | 2011-10-01 | Quanta Comp Inc | Firmware update system and method for update the same |
US8245289B2 (en) * | 2007-11-09 | 2012-08-14 | International Business Machines Corporation | Methods and systems for preventing security breaches |
TWI358648B (en) * | 2007-11-29 | 2012-02-21 | Wistron Corp | A system for common compiler service based on the |
US9354864B2 (en) * | 2008-05-08 | 2016-05-31 | Dialogic Corporation | Package header system and method to facilitate streaming a single firmware file upgrade |
US8312447B2 (en) * | 2008-09-25 | 2012-11-13 | Microsoft Corporation | Managing updates using compiler and linker information |
-
2009
- 2009-01-13 US US12/352,692 patent/US8392895B2/en active Active
- 2009-11-10 TW TW098138024A patent/TWI479416B/en active
- 2009-11-17 CN CN2009102233128A patent/CN101776990B/en active Active
-
2013
- 2013-01-31 US US13/755,385 patent/US9207918B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7007159B2 (en) * | 2002-05-10 | 2006-02-28 | Intel Corporation | System and method for loading and integrating a firmware extension onto executable base system firmware during initialization |
CN1797336A (en) * | 2004-12-28 | 2006-07-05 | 光宝科技股份有限公司 | Equipment and method of system software capable of updating embedded type system automatically |
CN1904853A (en) * | 2006-08-21 | 2007-01-31 | 北京中星微电子有限公司 | Embedded software loading debugging method and system thereof |
CN101339507A (en) * | 2008-08-15 | 2009-01-07 | 中兴通讯股份有限公司 | Method for creating embedded program operation symbol table |
Also Published As
Publication number | Publication date |
---|---|
TWI479416B (en) | 2015-04-01 |
CN101776990A (en) | 2010-07-14 |
US20100180265A1 (en) | 2010-07-15 |
US20130145353A1 (en) | 2013-06-06 |
US9207918B2 (en) | 2015-12-08 |
TW201027432A (en) | 2010-07-16 |
US8392895B2 (en) | 2013-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101776990B (en) | Firmware extension method and firmware builder | |
US20230409334A1 (en) | Providing code sections for matrix of arithmetic logic units in a processor | |
KR101240092B1 (en) | Sharing virtual memory-based multi-version data between the heterogenous processors of a computer platform | |
US7533246B2 (en) | Application program execution enhancing instruction set generation for coprocessor and code conversion with marking for function call translation | |
US8756590B2 (en) | Binding data parallel device source code | |
JP6317065B2 (en) | Reconfigurable processor and code conversion apparatus and method thereof | |
JP5957006B2 (en) | Extensible data parallel semantics | |
CN104461503B (en) | It is dynamically composed the method and system of software interface | |
KR20110086759A (en) | Embedded platform and method for dynamically linking program on embedded platform | |
JP2005018777A5 (en) | ||
US9489286B2 (en) | Method and system for computer assisted hot-tracing mechanism | |
CN102236621A (en) | Computer interface information configuration system and method | |
JP2008117340A (en) | Source code management system for program, and method of updating source code of program | |
US20070101316A1 (en) | Software Architecture and Program for the Concurrent Execution of Finite State Machine-Encoded Processes, on Single or Multiple-Processor-Based Embedded Systems | |
US7676774B2 (en) | System LSI verification system and system LSI verification method | |
JP2013073344A (en) | Programmable controller, program creation support device, digital control program and program creation support program | |
JP2006196002A (en) | Software tool including modeling of asynchronous program flow | |
Neto et al. | Linux real-time framework for fusion devices | |
KR20130020135A (en) | System and method of providing the developer list of developing code simultaneously in an integrated development environment | |
JP5422963B2 (en) | Software development support system, development support method and program | |
CN101689136B (en) | The object model of transaction memory | |
CN104281443B (en) | Method for realizing code and data replacement by using TCM (trusted cryptography module) | |
JP5716469B2 (en) | Wrapper program and integrated circuit device | |
Gomaa | A software design method for Ada based real time systems | |
JP2010536101A (en) | Coroutine interface for user customization of SIP and SDP protocols |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |