CN101776990B - Firmware extension method and firmware builder - Google Patents

Firmware extension method and firmware builder Download PDF

Info

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
Application number
CN2009102233128A
Other languages
Chinese (zh)
Other versions
CN101776990A (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.)
MediaTek Inc
Original Assignee
MediaTek Inc
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 MediaTek Inc filed Critical MediaTek Inc
Publication of CN101776990A publication Critical patent/CN101776990A/en
Application granted granted Critical
Publication of CN101776990B publication Critical patent/CN101776990B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation of subprogram jump address
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30138Extension 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

Firmware extension method and firmware builder
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.
Benchmark firmware image 210 can comprise a plurality of API functions, and adopts header file #H to disclose the API functional definition.The upstream supplier provides symbol table 212, and symbol table 212 comprises the pointer that points to the API functional entrance.Symbol table 212 can be the part of benchmark firmware image 210 or the same with header file #H, is unique file.When producing source code #SRC, the downstream supplier can comprise header file #H, and compiler 320 then compile source code #SRC and header file #H and symbol table 212, produce and expand firmware image 220, so that the API function can be used for expanded function.Basically, firmware builder 300 can be the software module that adopts in the product fabrication phase.
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.
CN2009102233128A 2009-01-13 2009-11-17 Firmware extension method and firmware builder Active CN101776990B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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