[go: up one dir, main page]

WO2006010715A2 - Application firmware library - Google Patents

Application firmware library Download PDF

Info

Publication number
WO2006010715A2
WO2006010715A2 PCT/EP2005/053407 EP2005053407W WO2006010715A2 WO 2006010715 A2 WO2006010715 A2 WO 2006010715A2 EP 2005053407 W EP2005053407 W EP 2005053407W WO 2006010715 A2 WO2006010715 A2 WO 2006010715A2
Authority
WO
WIPO (PCT)
Prior art keywords
memory
application firmware
boot code
application
firmware
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.)
Ceased
Application number
PCT/EP2005/053407
Other languages
French (fr)
Other versions
WO2006010715A3 (en
Inventor
Stefan Basler
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.)
Deutsche Thomson Brandt GmbH
Thomson Licensing SAS
Original Assignee
Deutsche Thomson Brandt GmbH
Thomson Licensing SAS
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 Deutsche Thomson Brandt GmbH, Thomson Licensing SAS filed Critical Deutsche Thomson Brandt GmbH
Publication of WO2006010715A2 publication Critical patent/WO2006010715A2/en
Publication of WO2006010715A3 publication Critical patent/WO2006010715A3/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/4401Bootstrapping

Definitions

  • the present invention relates to a method for storing application firmware, and to a system having firmware which is stored in accordance with this method.
  • Fig. 1 depicts a system block diagram of a processing system 1, which is built of a central processing unit (CPU) 2, a couple of memory blocks 3, 4, 5, and further peripheral blocks 6 (SoC, System on Chip) .
  • the memory blocks 3, 4, 5 and the peripheral blocks 6 are memory-mapped to the linear address space of the CPU 2 and accessible at all time. This is shown in the memory map in Fig. 2.
  • the memory block 4 holding the application code is a volatile memory, e.g. RAM type
  • ROM type small non-volatile memory block 5
  • Such configurations are found for example as prototype systems, but also where on-chip, non-volatile, programmable memory (e.g. EPROM, EEPROM, Flash EEPROM type) is not feasible, but on-time programming is required.
  • boot code ROM memory block 5 is bigger than actually required and the application firmware RAM memory block 4 is short for the (final) code.
  • application firmware memory is always sparse, while boot code ROM is usually not completely used.
  • the lack of application firmware memory is overcome by placing parts of the application firmware as library functions in the boot code memory block, which is not needed for the boot code itself, but available for the application firmware. These library functions can then be used for the application firmware, hence saving application firmware memory by the amount of library functions stored in the boot code memory.
  • Fig. 1 depicts a system block diagram of a processing system according to the invention
  • Fig. 2 shows a memory map of a CPU of the processing system
  • Fig. 3 schematically depicts application firmware library functions stored in the boot code ROM memory.
  • Fig. 3 schematically depicts application firmware library functions stored in the boot code ROM memory 5.
  • the boot code ROM memory 5 a certain area 8 is used for the boot code, while the remaining area 9 is available for application firmware library functions.
  • a certain area 8 is used for the boot code, while the remaining area 9 is available for application firmware library functions.
  • the boot code ROM memory 5 Usually at the latest at the second iteration of a chip design there are a plurality of stable application firmware functions at hand, which can be stored in the boot code ROM memory 5 and allow to make good use of the approach according to the invention. At this time it is more sensible to change only the ROM code of the boot code ROM memory and to retain the sizes of all memory blocks. Just changing the ROM code is much less time consuming and much cheaper than adapting memory block sizes.
  • an application firmware library is created at the time the boot code is released.
  • the library functions are taken into account for application firmware coding.
  • a library function is outdated at the time of application firmware development, it is simply not used.
  • advantageously as many library functions as possible are employed since this is a major factor to reduce the application firmware code size relative to the size of the application firmware RAM memory block 4 available.

Landscapes

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

Abstract

The present invention relates to a method for storing application firmware, and to a system having firmware which is stored in accordance with this method. According to the invention, a method for storing application firmware in a system having boot code memory (5) and application firmware memory (4) includes the step of storing parts of the application firmware as library functions in the boot code memory (5).

Description

Application firmware library
The present invention relates to a method for storing application firmware, and to a system having firmware which is stored in accordance with this method.
Fig. 1 depicts a system block diagram of a processing system 1, which is built of a central processing unit (CPU) 2, a couple of memory blocks 3, 4, 5, and further peripheral blocks 6 (SoC, System on Chip) . The memory blocks 3, 4, 5 and the peripheral blocks 6 are memory-mapped to the linear address space of the CPU 2 and accessible at all time. This is shown in the memory map in Fig. 2. Assuming that the memory block 4 holding the application code is a volatile memory, e.g. RAM type, for such a system 1 usually a small non-volatile memory block 5 (ROM type) is employed, which holds a boot code to upload the application code from an off-chip non-volatile memory 7 to the on-chip volatile memory 4 on power-up of the system. Such configurations are found for example as prototype systems, but also where on-chip, non-volatile, programmable memory (e.g. EPROM, EEPROM, Flash EEPROM type) is not feasible, but on-time programming is required.
For the above mentioned cases there is the problem that at the time the hardware configuration needs to be defined exactly the final figures for the sizes of the memory blocks can only be estimated, e.g. because the firmware is not yet fully implemented. In addition, for many types of systems the application firmware keeps evolving until the system is no longer produced.
Redefining the sizes of the memory blocks with every chip iteration is not practicable, as this is a time consuming and costly process. Another issue to consider are the chip design related constraints for defining memory blocks. For example, memory blocks are ideally a power of two. Consequently, memory block sizes have to be defined at a very early stage of system development. Fixed size memory blocks will be at hand whereas only a best-guess figure is derived for the boot code and application code memory blocks 4, 5. Slightly bigger boot code memory 4 than estimated is feasible,, for ROM type memory is commonly smaller in die size than static RAM type memory and the die size is a major cost factor.
This may, in the end, lead to a configuration where the boot code ROM memory block 5 is bigger than actually required and the application firmware RAM memory block 4 is short for the (final) code. In other words, application firmware memory is always sparse, while boot code ROM is usually not completely used.
It is an object of the invention to propose a method for storing application firmware in a system having boot code memory and application firmware memory, which is capable of coping with a lack of application firmware memory.
According to the invention, the lack of application firmware memory is overcome by placing parts of the application firmware as library functions in the boot code memory block, which is not needed for the boot code itself, but available for the application firmware. These library functions can then be used for the application firmware, hence saving application firmware memory by the amount of library functions stored in the boot code memory.
For a better understanding the invention shall now be 0 explained in more detail in the following description with reference to the figures. It is understood that the invention is not limited to this exemplary embodiment and that specified features can also expediently be combined and/or modified without departing from the scope of the present invention. In the figures: Fig. 1 depicts a system block diagram of a processing system according to the invention;
Fig. 2 shows a memory map of a CPU of the processing system; and
Fig. 3 schematically depicts application firmware library functions stored in the boot code ROM memory.
Fig. 3 schematically depicts application firmware library functions stored in the boot code ROM memory 5. In the boot code ROM memory 5 a certain area 8 is used for the boot code, while the remaining area 9 is available for application firmware library functions. Usually at the latest at the second iteration of a chip design there are a plurality of stable application firmware functions at hand, which can be stored in the boot code ROM memory 5 and allow to make good use of the approach according to the invention. At this time it is more sensible to change only the ROM code of the boot code ROM memory and to retain the sizes of all memory blocks. Just changing the ROM code is much less time consuming and much cheaper than adapting memory block sizes.
According to the invention, an application firmware library is created at the time the boot code is released. The library functions are taken into account for application firmware coding. In case a library function is outdated at the time of application firmware development, it is simply not used. However, advantageously as many library functions as possible are employed since this is a major factor to reduce the application firmware code size relative to the size of the application firmware RAM memory block 4 available.

Claims

Claims
1. Method for storing application firmware in a system having boot code memory (5) and application firmware memory (4) , including the step of storing parts of the application firmware as library functions in the boot code memory (5) .
2. Method according to claim 1, wherein the application firmware memory (4) is a RAM memory.
3. Method according to claim 1 or 2, wherein the boot code memory (5) is a ROM memory.
4. Method according to one of claims 1 to 3, further including the step of memory-mapping the memories (4, 5) to the address space of a processing unit (2) .
5. Method according to one of claims 1 to 4, wherein the boot code uploads at least part of the application code from an off-chip non-volatile memory (7) to the on-chip application firmware memory (4) .
6. System having boot code memory (5) and application firmware memory (4) , characterized in that parts of the application firmware are stored as library functions in the boot code memory (5) .
7. System according to claim 6, wherein the application firmware memory (4) is a RAM memory.
8. System according to claim 6 or I1 wherein the boot code memory (5) is a ROM memory.
9. System according to one of claims 6 to 8, wherein the memories (4, 5) are memory-mapped to the address space of a processing unit (2) .
10. System according to one of claims 6 to 9, further including an off-chip non-volatile memory (7) from which the boot code uploads at least part of the application code to the on-chip application firmware memory (4) .
PCT/EP2005/053407 2004-07-30 2005-07-15 Application firmware library Ceased WO2006010715A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04018064 2004-07-30
EP04018064.8 2004-07-30

Publications (2)

Publication Number Publication Date
WO2006010715A2 true WO2006010715A2 (en) 2006-02-02
WO2006010715A3 WO2006010715A3 (en) 2006-06-15

Family

ID=35786561

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2005/053407 Ceased WO2006010715A2 (en) 2004-07-30 2005-07-15 Application firmware library

Country Status (1)

Country Link
WO (1) WO2006010715A2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268928A (en) * 1991-10-15 1993-12-07 Racal-Datacom, Inc. Data modem with remote firmware update
US7325125B2 (en) * 1999-06-14 2008-01-29 Via Technologies, Inc. Computer system for accessing initialization data and method therefor

Also Published As

Publication number Publication date
WO2006010715A3 (en) 2006-06-15

Similar Documents

Publication Publication Date Title
US7640418B2 (en) Dynamic field patchable microarchitecture
KR20040076589A (en) Memory card
MY149790A (en) Semiconductor device and processing method for starting the same.
AU2003297327A1 (en) Non-volatile semiconductor memory with large erase blocks storing cycle counts
TW200702996A (en) Using electrically programmable fuses to hide architecture, prevent reverse engineering, and make a device inoperable
CN105573796A (en) Function switching method and function switching device for FPGA
US8010734B2 (en) Method and system for reading instructions from NAND flash memory and writing them into SRAM for execution by a processing device
US20050094469A1 (en) On-system programmable and off-system programmable chip
WO2006010715A2 (en) Application firmware library
US8004894B2 (en) Semiconductor integrated circuit
US20090037645A1 (en) Non-volatile memory device and data access circuit and data access method
US20060140003A1 (en) Non volatile semiconductor memory device
KR100280124B1 (en) Programmable controller with skip processing without transferring control to central processing unit
US20070239907A1 (en) Serial-connection and parallel-communication fast interface for PLC host and expansion device
JP2008225922A (en) Nonvolatile storage device
US20090077445A1 (en) Nonvolatile storage device, controller of nonvolatile memory, and nonvolatile storage system
KR100672992B1 (en) Operation Method of Semiconductor Memory Device
US20130318284A1 (en) Data Storage Device and Flash Memory Control Method
KR100826499B1 (en) Semiconductor memory device having a charge pump and the charge pump control method
US5898620A (en) Method for detecting erroneously programmed memory cells in a memory
CN115221824B (en) Asynchronous reconstruction method, device and computer equipment
CN101989459A (en) Method for improving service life of electrically erasable programmable read-only memory (EEPROM) by data buffering
KR100612422B1 (en) Semiconductor memory device with multiple double speed operation mode
US8806107B2 (en) Semiconductor integrated circuit and method of controlling memory
US20070192645A1 (en) Battery management system chip and data-accessing method of the same

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase