US20130268746A1 - System-on-chip and booting method thereof - Google Patents
System-on-chip and booting method thereof Download PDFInfo
- Publication number
- US20130268746A1 US20130268746A1 US13/858,112 US201313858112A US2013268746A1 US 20130268746 A1 US20130268746 A1 US 20130268746A1 US 201313858112 A US201313858112 A US 201313858112A US 2013268746 A1 US2013268746 A1 US 2013268746A1
- Authority
- US
- United States
- Prior art keywords
- firmware image
- image
- signature
- firmware
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- 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/4401—Bootstrapping
Definitions
- the present disclosure generally relates to a chip, and more particularly, to a system-on-chip (SoC) and a booting method thereof.
- SoC system-on-chip
- SoC system-on-chip
- SLI system-level integration
- IC integrated circuit
- SoC may includes a central processing unit (CPU), a memory, and some peripheral circuits.
- CPU central processing unit
- memory volatile and non-volatile memory
- peripheral circuits some peripheral circuits.
- the concept of SoC is to minimize and/or modularize circuits in a specific application field and integrate most functions offered by this application field into a single chip or IC, so as to reduce the size of a product and/or increase the portability thereof.
- the CPU of the SoC obtains a single firmware image from a storage medium and executes the firmware image to boot up. However, if the firmware image is damaged or cannot be completely read, the SoC cannot be boot up properly.
- the present disclosure is directed to a system-on-chip (SoC) and a booting method thereof, in which the flexibility in using a firmware when the SoC is boot up is effectively improved.
- SoC system-on-chip
- the present disclosure provides a SoC.
- the SoC is coupled to an external memory and includes a read only memory (ROM) and a processor.
- the ROM stores a first firmware image.
- the processor is coupled to the ROM.
- the processor reads a first firmware image from the ROM and verifies whether the first firmware image is damaged.
- the processor executes the first firmware image to perform a booting process. If the first firmware image is damaged, the processor reads a second firmware image from the external memory and verifies whether the second firmware image is a legal firmware image. If the verification of the second firmware image succeeds, the processor executes the second firmware image to perform the booting process.
- the present disclosure provides a booting method.
- the booting method is adapted to a SoC.
- the SoC includes a processor.
- the booting method includes following steps.
- a ROM is provided, where the ROM stores a first firmware image.
- An external memory is provided, where the external memory stores a second firmware image.
- the first firmware image is read from the ROM and whether the first firmware image is damaged is verified by using the processor. If the first firmware image is a normal firmware image, the first firmware image is executed to perform a booting process. If the first firmware image is damaged, a second firmware image is read from the external memory, and whether the second firmware image is legal is verified. If the verification of the second firmware image succeeds, the second firmware image is executed to perform the booting process.
- the present disclosure provides a SoC and a booting method thereof, in which two or more firmware images are provided in advance, so that during the booting process of the SoC, a legal and/or complete firmware image can be loaded to complete the booting process.
- FIG. 1 is a diagram illustrating the booting system of a system-on-chip (SoC) according to an embodiment of the present disclosure.
- SoC system-on-chip
- FIG. 2 is a flowchart of a booting method according to an embodiment of the present disclosure.
- FIG. 3 is a diagram of an external memory storing firmware images according to an embodiment of the present disclosure.
- FIG. 4 is a diagram illustrating the format of a firmware image according to an embodiment of the present disclosure.
- FIG. 5 is a flowchart of a booting method according to an embodiment of the present disclosure.
- FIG. 1 is a diagram illustrating the booting system of a system-on-chip (SoC) according to an embodiment of the present disclosure.
- the SoC booting system 10 includes an external memory 11 and a SoC 12 .
- the external memory 11 is any storage medium for storing data, such as a flash memory.
- the SoC 12 is an integrated circuit that integrates various electronic circuits (for example, a processor and a memory) into a single chip, such as a SoC suitable for processing universal serial bus (USB) 2.0 or USB 3.0 signals.
- USB universal serial bus
- the external memory 11 and the SoC 12 are coupled with each other through a bus, such as a serial peripheral interface (SPI) bus.
- SPI serial peripheral interface
- the SoC 12 includes a read only memory (ROM) 122 , a data memory 124 , a programming memory 126 , and a processor 128 .
- the ROM 122 stores data written when the SoC 12 is manufactured.
- the data memory 124 and the programming memory 126 may be random access memories (RAM).
- RAM random access memories
- programming memory 126 is mainly used for storing binary codes while the data memory 124 is mainly used for storing other types of data, programming memory 126 should offer a faster access speed, while the access speed of the the data memory 124 is not limited.
- the processor 128 is the core element of the SoC 12 , and which is in charge of the operation of the entire SoC 12 and provides calculation and data processing functions.
- the ROM 122 stores a first firmware image
- the external memory 11 stores a second firmware image
- these two firmware images respectively carry settings and/or drivers of different components or electronic circuits in the SoC 12 .
- the first firmware image and the second firmware image may be the same or different.
- the second firmware image may be a backup of the first firmware image.
- the first firmware image and the second firmware image may also be a firmware image of different versions (for example a driver of different versions).
- the contents of the first firmware image and the second firmware image can be determined according to the actual requirement.
- the processor 128 reads the second firmware image from the external memory 11 and performs the booting process of the SoC 12 by using the second firmware image instead.
- FIG. 2 is a flowchart of a booting method according to an embodiment of the present disclosure. Below, the booting method will be described in detail with reference to the SoC booting system 10 and FIG. 2 .
- a ROM 122 is provided, where the ROM 122 stores a first firmware image.
- an external memory 11 is provided, where the external memory 11 stores a second firmware image.
- step S 206 when the processor 128 detects a booting signal or that the SoC 12 is powered on, the processor 128 reads the first firmware image from the ROM 122 . Then, in step S 208 , the processor 128 verifies whether the first firmware image is a normal or complete firmware image.
- step S 210 the processor 128 executes the first firmware image to perform the booting process. If the first firmware image is a damaged or incomplete firmware image, in step S 212 , the processor 128 reads the second firmware image from the external memory 11 and executes the same.
- step S 214 the processor 128 verifies whether the second firmware image is legal or complete. If the second firmware image is legal and/or complete, in step S 214 , the processor 128 executes the second firmware image to perform the booting process.
- step S 216 the processor 128 performs a basic booting process stored in the ROM 122 to boot up the SoC 12 in a limited condition. Particularly, if the processor 128 boots up the SoC 12 through only the basic booting process, most components and/or electronic circuits in the SoC 12 may not be completely driven (because detailed settings and/or driving information is defined in a firmware image), and accordingly the number of functions provided by the SoC 12 may be considerably reduced.
- FIG. 3 is a diagram of an external memory storing firmware images according to an embodiment of the present disclosure.
- the ROM 122 has a first storage area 31
- the external memory 11 has a second storage area 32 .
- the first storage area 31 stores the first firmware image and a first assisting data
- the second storage area 32 stores the second firmware image and a second assisting data.
- the first storage area 31 includes a chip function storage area 312 , a firmware image storage area 314 , and a firmware information storage area 316 .
- the chip function storage area 312 stores some additional setting information of the SoC 12 , such as the power settings of different devices in the SoC 12 .
- the firmware image storage area 314 stores the first firmware image.
- the firmware information storage area 316 stores user-defined information related to the first firmware image, such as a user name, user-defined strings, and/or time-out settings.
- the chip function storage area 312 and the firmware information storage area 316 store the first assisting data.
- the second storage area 32 includes a chip function storage area 322 , a firmware image storage area 324 , and a firmware information storage area 326 .
- the chip function storage area 322 stores some additional setting information of the SoC 12 .
- the firmware image storage area 324 stores the second firmware image.
- the firmware information storage area 326 stores user-defined information related to the second firmware image.
- the chip function storage area 322 and the firmware information storage area 326 store the second assisting data.
- the present disclosure is not limited thereto.
- the ROM 122 and/or the external memory 11 may further include other storage areas for storing other firmware images (for example, a third firmware image) and/or assisting data (for example, a third assisting data).
- other firmware images for example, a third firmware image
- assisting data for example, a third assisting data
- FIG. 4 is a diagram illustrating the format of a firmware image according to an embodiment of the present disclosure.
- the firmware image storage area 314 includes an image length field 41 , an image bitcode field 42 , a signature field 43 , a checksum field 44 , and a check code field 45 .
- the image length field 41 stores the length information of the first firmware image, and the length information is used for inquiring information of other fields (for example, the start address or bit number of each field).
- the image bitcode field 42 stores an image bitcode (referred to as the first image bitcode thereinafter) of the first firmware image (i.e., the main program of the first firmware image).
- the signature field 43 stores a signature (referred to as the first signature thereinafter) of the first firmware image.
- the checksum field 44 stores a checksum of the first firmware image.
- the check code field 45 stores a check code (referred to as the first check code thereinafter) of the first firmware image.
- the check code may be a cyclic redundancy check (CRC).
- CRC cyclic redundancy check
- the type of the check code can be determined according to the actual requirement.
- the lengths of the firmware image storage area 314 and the fields can be adjusted according to the actual requirement.
- all or each of the signature of the first firmware image in the signature field 43 , the checksum of the first firmware image in the checksum field 44 , and the check code of the first firmware image in the check code field 45 can be used for verifying whether the first firmware image is legal or complete.
- the formats of the second firmware image and the firmware image storage area 324 can be understood by referring to those of the first firmware image and the firmware image storage area 314 therefore will not be described herein.
- FIG. 5 is a flowchart of a booting method according to an embodiment of the present disclosure.
- the processor 128 detects a booting signal or whether the SoC 12 is powered on. If the processor 128 detects the booting signal or that the SoC 12 is powered on, the processor 128 reads the first signature in the first firmware image from the ROM 122 (for example, from the signature field 43 in FIG. 4 ).
- the processor 128 reads information in the firmware image storage area 314 by starting from the address 0X0080 in the ROM 122 . Then, in step S 506 , the processor 128 reads a pre-stored verification signature from the ROM 122 and determines whether the first signature is the same as the verification signature. If the first signature is the same as the verification signature, in step S 508 , the processor 128 reads the first check code and the first image bitcode in the first firmware image from the ROM 122 (for example, from the check code field 45 and the image bitcode field 42 in FIG. 4 ), stores the first check code into the data memory 124 , and stores the first image bitcode into the programming memory 126 .
- step S 510 the processor 128 calculates a first evaluation code according to the first image bitcode. After that, in step S 512 , the processor 128 determines whether the first evaluation code is the same as the first check code. If the first evaluation code is the same as the first check code (which means the first firmware image is a normal and complete firmware image), in step S 514 , the processor 128 executes the first image bitcode of the first firmware image stored in the programming memory 126 to perform the booting process.
- step S 506 determines in step S 506 that the first signature is different from the verification signature or in step S 512 that the first evaluation code is different from the first check code (which means the first firmware image is damaged or incomplete)
- step S 516 the processor 128 reads the signature (referred to as the second signature thereinafter) of the second firmware image from the external memory 11 and stores the second signature into the data memory 124 .
- the processor 128 reads information in the firmware image storage area 324 by starting from the address 0X10080 in the external memory 11 . Then, in step S 518 , the processor 128 determines whether the second signature is the same as the pre-stored verification signature in the ROM 122 . If the first signature is the same as the verification signature, in step S 520 , the processor 128 reads the check code (referred to as the second check code thereinafter) and the image bitcode (referred to as the second image bitcode thereinafter) in the second firmware image from the external memory 11 , stores the second check code into the data memory 124 , and stores the second image bitcode into the programming memory 126 .
- the check code referred to as the second check code thereinafter
- the image bitcode referred to as the second image bitcode thereinafter
- step S 522 the processor 128 calculates a second evaluation code according to the second image bitcode.
- step S 524 the processor 128 determines whether the second evaluation code is the same as the second check code. If the second evaluation code is the same as the second check code (which means the second firmware image is legal and complete), in step S 526 , the processor 128 executes the second image bitcode of the second firmware image stored in the programming memory 126 to perform the booting process.
- step S 528 determines in step S 518 that the second signature is different from the verification signature or in step S 524 that the second evaluation code is different from the second check code (which means the verification of the second firmware image fails or the second firmware image is incomplete), in step S 528 , the processor 128 executes the basic booting process stored in the ROM 122 .
- the processor 128 may also record a retry number into the data memory 124 and initializes the retry number (for example, sets the retry number to 0) every time when the booting signal is detected or the SoC 12 is powered on.
- the processor 128 determines whether to verify the first firmware image again or verify the second firmware image instead according to the retry number.
- the processor 128 also determines whether to verify the second firmware image again or perform the basic booting process according to the retry number.
- the processor 128 determines to execute the first firmware image to perform the booting process, the processor 128 reads the first assisting data from the ROM 122 and performs a first setting operation on the SoC 12 according to the first assisting data.
- the first assisting data is data stored in the chip function storage area 312 and/or the firmware information storage area 316 .
- the processor 128 determines to execute the second firmware image to perform the booting process, the processor 128 reads the second assisting data from the external memory 11 and performs a second setting operation on the SoC 12 according to the second assisting data.
- the second assisting data is data stored in the chip function storage area 322 and/or the firmware information storage area 326 .
- the first setting operation and the second setting operation may be additional settings performed on hardware resources (for example, the power supply) of the SoC 12 or operations for adding user-defined names and strings into the system.
- the external memory 11 further stores a third firmware image. If the processor 128 verifies the second firmware image and the verification fails, the processor 128 reads the third firmware image from the external memory 11 and determines whether the third firmware image is legal or complete.
- the processor 128 executes the third firmware image to perform the booting process. If the verification of the third firmware image also fails, the processor 128 performs the basic booting process.
- the processor 128 receives an update command from an input interface and updates the second firmware image stored in the external memory 11 or adds a third firmware image into the external memory 11 according to the update command.
- the SoC 12 is a SoC supporting USB 3.0
- the SoC 12 includes a USB interface
- the processor 128 receives an update command from the USB interface.
- the update command may include a write command and a new firmware image.
- the processor 128 After the processor 128 receives the update command, the processor 128 selects one or more firmware images in the external memory 11 according to the write command in the update command and updates the selected one or more firmware images by using the new firmware image. For example as shown in FIG. 3 , if the write command instructs to update the firmware image stored in the firmware image storage area 324 of the external memory 11 by using a new firmware image, the processor 128 writes the new firmware image into the firmware image storage area 324 by starting from the address 0x10080 in the external memory 11 .
- the processor 128 may also update information stored in all or each of the chip function storage area 322 , the firmware image storage area 324 , and the firmware information storage area 326 of the external memory 11 according to the update command to improve the flexibility in using the SoC provided by the present disclosure.
- the addresses of the first firmware image and the second firmware image in the external memory 11 and/or the ROM 122 can be adaptively determined by the processor 128 during the booting process of the SoC 12 .
- the processor 128 can actually consider the firmware image stored in the first storage area 31 as the first firmware image and the firmware image stored in the second storage area 32 as the second firmware image.
- the processor 128 may also consider the firmware image stored in the second storage area 32 as the first firmware image and the firmware image stored in the first storage area 31 as the second firmware image.
- the firmware images can be defined according to different situations.
- the processor 128 when the processor 128 updates the firmware image stored in the external memory 11 , the processor 128 simultaneously updates a firmware update information stored in the external memory 11 . After that, during the booting process of the SoC 12 , the processor 128 inquires the firmware update information and determines the addresses of the first firmware image and the second firmware image according to the firmware update information. For example, by inquiring the firmware update information, the processor 128 can select the firmware image of the latest version or having the highest priority among one or more firmware images in the ROM 122 as the first firmware image and select the firmware image of the latest version or having the highest priority among one or more firmware images in the external memory 11 as the second firmware image. After the verification of the first and/or the second firmware image of the latest version or having the highest priority fails, the processor 128 can also read other firmware images according to the firmware update information and repeat aforementioned verification operations, which will not be described herein.
- firmware update information may also be set up by the processor 128 according to user's operations (for example, defining the priorities of different firmware images).
- the firmware update information may also include identification information (for example, update time) of the firmware images stored in different firmware image storage areas.
- the processor 128 can consider a firmware image updated at a later time in the external memory 11 as the second firmware image and a firmware image updated at a earlier time in the external memory 11 as a third firmware image read after the verification of the second firmware image fails according to the firmware update information.
- the present disclosure is not limited thereto.
- the present disclosure provides a SoC and a booting method thereof, in which two or more firmware images are provided in advance, so that during the booting process of the SoC, a legal and/or complete firmware image can be loaded to complete the booting process.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
Description
- This application claims the priority benefits of U.S. provisional application Ser. No. 61/622,017, filed on Apr. 10, 2012 and Taiwan application serial no. 102109076, filed on Mar. 14, 2013. The entirety of each of the above-mentioned patent applications is hereby incorporated by reference herein and made a part of this specification.
- 1. Field of the Invention
- The present disclosure generally relates to a chip, and more particularly, to a system-on-chip (SoC) and a booting method thereof.
- 2. Description of Related Art
- A system-on-chip (SoC) or system-level integration (SLI) is a complete computer system integrated into a single chip or integrated circuit (IC). For example, a SoC may includes a central processing unit (CPU), a memory, and some peripheral circuits. The concept of SoC is to minimize and/or modularize circuits in a specific application field and integrate most functions offered by this application field into a single chip or IC, so as to reduce the size of a product and/or increase the portability thereof.
- During the booting process of a SoC, the CPU of the SoC obtains a single firmware image from a storage medium and executes the firmware image to boot up. However, if the firmware image is damaged or cannot be completely read, the SoC cannot be boot up properly.
- Accordingly, the present disclosure is directed to a system-on-chip (SoC) and a booting method thereof, in which the flexibility in using a firmware when the SoC is boot up is effectively improved.
- The present disclosure provides a SoC. The SoC is coupled to an external memory and includes a read only memory (ROM) and a processor. The ROM stores a first firmware image. The processor is coupled to the ROM. The processor reads a first firmware image from the ROM and verifies whether the first firmware image is damaged.
- If the first firmware image is a normal firmware image, the processor executes the first firmware image to perform a booting process. If the first firmware image is damaged, the processor reads a second firmware image from the external memory and verifies whether the second firmware image is a legal firmware image. If the verification of the second firmware image succeeds, the processor executes the second firmware image to perform the booting process.
- The present disclosure provides a booting method. The booting method is adapted to a SoC. The SoC includes a processor. The booting method includes following steps. A ROM is provided, where the ROM stores a first firmware image. An external memory is provided, where the external memory stores a second firmware image. The first firmware image is read from the ROM and whether the first firmware image is damaged is verified by using the processor. If the first firmware image is a normal firmware image, the first firmware image is executed to perform a booting process. If the first firmware image is damaged, a second firmware image is read from the external memory, and whether the second firmware image is legal is verified. If the verification of the second firmware image succeeds, the second firmware image is executed to perform the booting process.
- As described above, the present disclosure provides a SoC and a booting method thereof, in which two or more firmware images are provided in advance, so that during the booting process of the SoC, a legal and/or complete firmware image can be loaded to complete the booting process.
- These and other exemplary embodiments, features, aspects, and advantages of the disclosure will be described and become more apparent from the detailed description of exemplary embodiments when read in conjunction with accompanying drawings.
- The accompanying drawings are included to provide a further understanding of the disclosure, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the disclosure and, together with the description, serve to explain the principles of the disclosure.
-
FIG. 1 is a diagram illustrating the booting system of a system-on-chip (SoC) according to an embodiment of the present disclosure. -
FIG. 2 is a flowchart of a booting method according to an embodiment of the present disclosure. -
FIG. 3 is a diagram of an external memory storing firmware images according to an embodiment of the present disclosure. -
FIG. 4 is a diagram illustrating the format of a firmware image according to an embodiment of the present disclosure. -
FIG. 5 is a flowchart of a booting method according to an embodiment of the present disclosure. - Reference will now be made in detail to the present preferred embodiments of the disclosure, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the description to refer to the same or like parts.
-
FIG. 1 is a diagram illustrating the booting system of a system-on-chip (SoC) according to an embodiment of the present disclosure. Referring toFIG. 1 , theSoC booting system 10 includes anexternal memory 11 and aSoC 12. Theexternal memory 11 is any storage medium for storing data, such as a flash memory. The SoC 12 is an integrated circuit that integrates various electronic circuits (for example, a processor and a memory) into a single chip, such as a SoC suitable for processing universal serial bus (USB) 2.0 or USB 3.0 signals. However, the type of the SoC 12 is not limited in the present disclosure. Theexternal memory 11 and theSoC 12 are coupled with each other through a bus, such as a serial peripheral interface (SPI) bus. - The SoC 12 includes a read only memory (ROM) 122, a
data memory 124, aprogramming memory 126, and aprocessor 128. TheROM 122 stores data written when the SoC 12 is manufactured. Thedata memory 124 and theprogramming memory 126 may be random access memories (RAM). In particular, because theprogramming memory 126 is mainly used for storing binary codes while thedata memory 124 is mainly used for storing other types of data,programming memory 126 should offer a faster access speed, while the access speed of the thedata memory 124 is not limited. Theprocessor 128 is the core element of theSoC 12, and which is in charge of the operation of theentire SoC 12 and provides calculation and data processing functions. - In the present embodiment, the
ROM 122 stores a first firmware image, theexternal memory 11 stores a second firmware image, and these two firmware images respectively carry settings and/or drivers of different components or electronic circuits in theSoC 12. The first firmware image and the second firmware image may be the same or different. For example, the second firmware image may be a backup of the first firmware image. Or, the first firmware image and the second firmware image may also be a firmware image of different versions (for example a driver of different versions). However, the contents of the first firmware image and the second firmware image can be determined according to the actual requirement. - When the first firmware image stored in the
ROM 122 is damaged or theprocessor 128 can not read the first firmware image completely, theprocessor 128 reads the second firmware image from theexternal memory 11 and performs the booting process of theSoC 12 by using the second firmware image instead. -
FIG. 2 is a flowchart of a booting method according to an embodiment of the present disclosure. Below, the booting method will be described in detail with reference to theSoC booting system 10 andFIG. 2 . Referring to bothFIG. 1 andFIG. 2 , in step S202, aROM 122 is provided, where theROM 122 stores a first firmware image. In step S204, anexternal memory 11 is provided, where theexternal memory 11 stores a second firmware image. - In step S206, when the
processor 128 detects a booting signal or that theSoC 12 is powered on, theprocessor 128 reads the first firmware image from theROM 122. Then, in step S208, theprocessor 128 verifies whether the first firmware image is a normal or complete firmware image. - If the first firmware image is a normal and complete firmware image, in step S210, the
processor 128 executes the first firmware image to perform the booting process. If the first firmware image is a damaged or incomplete firmware image, in step S212, theprocessor 128 reads the second firmware image from theexternal memory 11 and executes the same. - Next, in step S214, the
processor 128 verifies whether the second firmware image is legal or complete. If the second firmware image is legal and/or complete, in step S214, theprocessor 128 executes the second firmware image to perform the booting process. - If the second firmware image is incomplete and/or illegal, in step S216, the
processor 128 performs a basic booting process stored in theROM 122 to boot up theSoC 12 in a limited condition. Particularly, if theprocessor 128 boots up theSoC 12 through only the basic booting process, most components and/or electronic circuits in theSoC 12 may not be completely driven (because detailed settings and/or driving information is defined in a firmware image), and accordingly the number of functions provided by theSoC 12 may be considerably reduced. -
FIG. 3 is a diagram of an external memory storing firmware images according to an embodiment of the present disclosure. Referring toFIG. 3 , theROM 122 has a first storage area 31, and theexternal memory 11 has asecond storage area 32. The first storage area 31 stores the first firmware image and a first assisting data, and thesecond storage area 32 stores the second firmware image and a second assisting data. - To be specific, the first storage area 31 includes a chip
function storage area 312, a firmwareimage storage area 314, and a firmwareinformation storage area 316. The chipfunction storage area 312 stores some additional setting information of theSoC 12, such as the power settings of different devices in theSoC 12. The firmwareimage storage area 314 stores the first firmware image. The firmwareinformation storage area 316 stores user-defined information related to the first firmware image, such as a user name, user-defined strings, and/or time-out settings. - The chip
function storage area 312 and the firmwareinformation storage area 316 store the first assisting data. Similarly, thesecond storage area 32 includes a chipfunction storage area 322, a firmwareimage storage area 324, and a firmwareinformation storage area 326. The chipfunction storage area 322 stores some additional setting information of theSoC 12. The firmwareimage storage area 324 stores the second firmware image. The firmwareinformation storage area 326 stores user-defined information related to the second firmware image. The chipfunction storage area 322 and the firmwareinformation storage area 326 store the second assisting data. However, the present disclosure is not limited thereto. - In the present disclosure, the
ROM 122 and/or theexternal memory 11 may further include other storage areas for storing other firmware images (for example, a third firmware image) and/or assisting data (for example, a third assisting data). -
FIG. 4 is a diagram illustrating the format of a firmware image according to an embodiment of the present disclosure. Referring toFIG. 4 , taking the firmwareimage storage area 314 storing the first firmware image as an example, the firmwareimage storage area 314 includes animage length field 41, animage bitcode field 42, asignature field 43, achecksum field 44, and acheck code field 45. - The
image length field 41 stores the length information of the first firmware image, and the length information is used for inquiring information of other fields (for example, the start address or bit number of each field). The image bitcodefield 42 stores an image bitcode (referred to as the first image bitcode thereinafter) of the first firmware image (i.e., the main program of the first firmware image). Thesignature field 43 stores a signature (referred to as the first signature thereinafter) of the first firmware image. Thechecksum field 44 stores a checksum of the first firmware image. Thecheck code field 45 stores a check code (referred to as the first check code thereinafter) of the first firmware image. In the present embodiment, the check code may be a cyclic redundancy check (CRC). However, the type of the check code can be determined according to the actual requirement. In the present embodiment, the lengths of the firmwareimage storage area 314 and the fields can be adjusted according to the actual requirement. - Particularly, all or each of the signature of the first firmware image in the
signature field 43, the checksum of the first firmware image in thechecksum field 44, and the check code of the first firmware image in thecheck code field 45 can be used for verifying whether the first firmware image is legal or complete. Additionally, the formats of the second firmware image and the firmwareimage storage area 324 can be understood by referring to those of the first firmware image and the firmwareimage storage area 314 therefore will not be described herein. -
FIG. 5 is a flowchart of a booting method according to an embodiment of the present disclosure. Referring to bothFIG. 1 andFIG. 5 , in step S502, theprocessor 128 detects a booting signal or whether theSoC 12 is powered on. If theprocessor 128 detects the booting signal or that theSoC 12 is powered on, theprocessor 128 reads the first signature in the first firmware image from the ROM 122 (for example, from thesignature field 43 inFIG. 4 ). - For example, as shown in
FIG. 3 , theprocessor 128 reads information in the firmwareimage storage area 314 by starting from the address 0X0080 in theROM 122. Then, in step S506, theprocessor 128 reads a pre-stored verification signature from theROM 122 and determines whether the first signature is the same as the verification signature. If the first signature is the same as the verification signature, in step S508, theprocessor 128 reads the first check code and the first image bitcode in the first firmware image from the ROM 122 (for example, from thecheck code field 45 and theimage bitcode field 42 inFIG. 4 ), stores the first check code into thedata memory 124, and stores the first image bitcode into theprogramming memory 126. - Next, in step S510, the
processor 128 calculates a first evaluation code according to the first image bitcode. After that, in step S512, theprocessor 128 determines whether the first evaluation code is the same as the first check code. If the first evaluation code is the same as the first check code (which means the first firmware image is a normal and complete firmware image), in step S514, theprocessor 128 executes the first image bitcode of the first firmware image stored in theprogramming memory 126 to perform the booting process. - On the other hand, if the
processor 128 determines in step S506 that the first signature is different from the verification signature or in step S512 that the first evaluation code is different from the first check code (which means the first firmware image is damaged or incomplete), in step S516, theprocessor 128 reads the signature (referred to as the second signature thereinafter) of the second firmware image from theexternal memory 11 and stores the second signature into thedata memory 124. - For example, as shown in
FIG. 3 , theprocessor 128 reads information in the firmwareimage storage area 324 by starting from the address 0X10080 in theexternal memory 11. Then, in step S518, theprocessor 128 determines whether the second signature is the same as the pre-stored verification signature in theROM 122. If the first signature is the same as the verification signature, in step S520, theprocessor 128 reads the check code (referred to as the second check code thereinafter) and the image bitcode (referred to as the second image bitcode thereinafter) in the second firmware image from theexternal memory 11, stores the second check code into thedata memory 124, and stores the second image bitcode into theprogramming memory 126. - Next, in step S522, the
processor 128 calculates a second evaluation code according to the second image bitcode. After that, in step S524, theprocessor 128 determines whether the second evaluation code is the same as the second check code. If the second evaluation code is the same as the second check code (which means the second firmware image is legal and complete), in step S526, theprocessor 128 executes the second image bitcode of the second firmware image stored in theprogramming memory 126 to perform the booting process. - On the other hand, if the
processor 128 determines in step S518 that the second signature is different from the verification signature or in step S524 that the second evaluation code is different from the second check code (which means the verification of the second firmware image fails or the second firmware image is incomplete), in step S528, theprocessor 128 executes the basic booting process stored in theROM 122. - In the present embodiment, the
processor 128 may also record a retry number into thedata memory 124 and initializes the retry number (for example, sets the retry number to 0) every time when the booting signal is detected or theSoC 12 is powered on. During the verification of the first firmware image, if theprocessor 128 determines that the first firmware image is damaged, theprocessor 128 determines whether to verify the first firmware image again or verify the second firmware image instead according to the retry number. During the verification of the second firmware image, theprocessor 128 also determines whether to verify the second firmware image again or perform the basic booting process according to the retry number. - Additionally, in the present embodiment, if the
processor 128 determines to execute the first firmware image to perform the booting process, theprocessor 128 reads the first assisting data from theROM 122 and performs a first setting operation on theSoC 12 according to the first assisting data. For example, as shown inFIG. 3 , the first assisting data is data stored in the chipfunction storage area 312 and/or the firmwareinformation storage area 316. - If the
processor 128 determines to execute the second firmware image to perform the booting process, theprocessor 128 reads the second assisting data from theexternal memory 11 and performs a second setting operation on theSoC 12 according to the second assisting data. For example, as shown inFIG. 3 , the second assisting data is data stored in the chipfunction storage area 322 and/or the firmwareinformation storage area 326. In addition, the first setting operation and the second setting operation may be additional settings performed on hardware resources (for example, the power supply) of theSoC 12 or operations for adding user-defined names and strings into the system. - Additionally, in an embodiment, the
external memory 11 further stores a third firmware image. If theprocessor 128 verifies the second firmware image and the verification fails, theprocessor 128 reads the third firmware image from theexternal memory 11 and determines whether the third firmware image is legal or complete. - If the third firmware image is legal and complete, the
processor 128 executes the third firmware image to perform the booting process. If the verification of the third firmware image also fails, theprocessor 128 performs the basic booting process. - In the present embodiment, the
processor 128 receives an update command from an input interface and updates the second firmware image stored in theexternal memory 11 or adds a third firmware image into theexternal memory 11 according to the update command. For example, assuming that theSoC 12 is a SoC supporting USB 3.0, theSoC 12 includes a USB interface, and theprocessor 128 receives an update command from the USB interface. The update command may include a write command and a new firmware image. - After the
processor 128 receives the update command, theprocessor 128 selects one or more firmware images in theexternal memory 11 according to the write command in the update command and updates the selected one or more firmware images by using the new firmware image. For example as shown inFIG. 3 , if the write command instructs to update the firmware image stored in the firmwareimage storage area 324 of theexternal memory 11 by using a new firmware image, theprocessor 128 writes the new firmware image into the firmwareimage storage area 324 by starting from the address 0x10080 in theexternal memory 11. - Additionally, the
processor 128 may also update information stored in all or each of the chipfunction storage area 322, the firmwareimage storage area 324, and the firmwareinformation storage area 326 of theexternal memory 11 according to the update command to improve the flexibility in using the SoC provided by the present disclosure. - It should be mentioned that the addresses of the first firmware image and the second firmware image in the
external memory 11 and/or theROM 122 can be adaptively determined by theprocessor 128 during the booting process of theSoC 12. In other words, as shown inFIG. 3 , theprocessor 128 can actually consider the firmware image stored in the first storage area 31 as the first firmware image and the firmware image stored in thesecond storage area 32 as the second firmware image. Or, theprocessor 128 may also consider the firmware image stored in thesecond storage area 32 as the first firmware image and the firmware image stored in the first storage area 31 as the second firmware image. The firmware images can be defined according to different situations. - For example, in an embodiment, when the
processor 128 updates the firmware image stored in theexternal memory 11, theprocessor 128 simultaneously updates a firmware update information stored in theexternal memory 11. After that, during the booting process of theSoC 12, theprocessor 128 inquires the firmware update information and determines the addresses of the first firmware image and the second firmware image according to the firmware update information. For example, by inquiring the firmware update information, theprocessor 128 can select the firmware image of the latest version or having the highest priority among one or more firmware images in theROM 122 as the first firmware image and select the firmware image of the latest version or having the highest priority among one or more firmware images in theexternal memory 11 as the second firmware image. After the verification of the first and/or the second firmware image of the latest version or having the highest priority fails, theprocessor 128 can also read other firmware images according to the firmware update information and repeat aforementioned verification operations, which will not be described herein. - Moreover, the firmware update information may also be set up by the
processor 128 according to user's operations (for example, defining the priorities of different firmware images). - Particularly, the firmware update information may also include identification information (for example, update time) of the firmware images stored in different firmware image storage areas. Thereby, the
processor 128 can consider a firmware image updated at a later time in theexternal memory 11 as the second firmware image and a firmware image updated at a earlier time in theexternal memory 11 as a third firmware image read after the verification of the second firmware image fails according to the firmware update information. However, the present disclosure is not limited thereto. - As described above, the present disclosure provides a SoC and a booting method thereof, in which two or more firmware images are provided in advance, so that during the booting process of the SoC, a legal and/or complete firmware image can be loaded to complete the booting process.
- It will be apparent to those skilled in the art that various modifications and variations can be made to the structure of the present disclosure without departing from the scope or spirit of the disclosure. In view of the foregoing, it is intended that the present disclosure cover modifications and variations of this disclosure provided they fall within the scope of the following claims and their equivalents.
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/858,112 US9256744B2 (en) | 2012-04-10 | 2013-04-08 | System-on-chip and booting method thereof |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261622017P | 2012-04-10 | 2012-04-10 | |
TW102109076A | 2013-03-14 | ||
TW102109076 | 2013-03-14 | ||
TW102109076A TWI594188B (en) | 2012-04-10 | 2013-03-14 | System-on-chip and booting method thereof |
US13/858,112 US9256744B2 (en) | 2012-04-10 | 2013-04-08 | System-on-chip and booting method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
US20130268746A1 true US20130268746A1 (en) | 2013-10-10 |
US9256744B2 US9256744B2 (en) | 2016-02-09 |
Family
ID=49293247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/858,112 Active 2033-12-25 US9256744B2 (en) | 2012-04-10 | 2013-04-08 | System-on-chip and booting method thereof |
Country Status (1)
Country | Link |
---|---|
US (1) | US9256744B2 (en) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104516759A (en) * | 2014-12-08 | 2015-04-15 | 武汉烽火网络有限责任公司 | Generating method for integration mirror image document, testing method and device |
WO2015149020A1 (en) * | 2014-03-28 | 2015-10-01 | Intel Corporation | In-system provisioning of firmware for a hardware platform |
US20160003903A1 (en) * | 2014-07-07 | 2016-01-07 | Realtek Semiconductor Corp. | Integrated circuit with self-verification function, verification method and method for generating a bist signature adjustment code |
CN105320581A (en) * | 2014-07-14 | 2016-02-10 | 瑞昱半导体股份有限公司 | Integrated circuit, verification method and method for generating characteristic value adjustment code |
US20160224413A1 (en) * | 2015-02-03 | 2016-08-04 | SK Hynix Inc. | Semiconductor memory device and method of checking operation state thereof |
US20160283721A1 (en) * | 2012-06-28 | 2016-09-29 | Intel Corporation | Out-of-band host os boot sequence verification |
CN106462427A (en) * | 2014-06-07 | 2017-02-22 | 奥迪股份公司 | Motor-vehicle control unit having a current-saving mode for a parking phase |
US20180095769A1 (en) * | 2016-10-03 | 2018-04-05 | Schneider Electric It Corporation | System and method for updating device software |
US20180253259A1 (en) * | 2017-03-06 | 2018-09-06 | Silicon Motion, Inc. | Data storage device and operating method for data storage device |
US20190012180A1 (en) * | 2017-07-07 | 2019-01-10 | Phison Electronics Corp. | Memory control circuit unit, memory storage device and control method thereof |
EP3460705A1 (en) * | 2017-09-25 | 2019-03-27 | Siemens Aktiengesellschaft | Distributed deployment of unique firmware |
US20190102321A1 (en) * | 2017-09-29 | 2019-04-04 | Intel Corporation | Techniques to provide access protection to shared virtual memory |
US10534618B2 (en) * | 2016-09-27 | 2020-01-14 | American Megatrends International, Llc | Auto bootloader recovery in BMC |
US10885195B2 (en) * | 2015-11-16 | 2021-01-05 | Weidmüller Interface GmbH & Co. KG | Process for loading a secure memory image for a microcontroller and assembly including a microcontroller |
US11204781B2 (en) * | 2019-12-11 | 2021-12-21 | Qualcomm Incorporated | Optimizing power, memory and load time of a computing system during image loading based on image segmentation |
US11366905B2 (en) * | 2016-07-04 | 2022-06-21 | Sew-Eurodrive Gmbh & Co. Kg | Security device and method for operating a system |
US20230087221A1 (en) * | 2020-01-27 | 2023-03-23 | Hewlett-Packard Development Company, L.P. | Detection fields of view |
CN118642782A (en) * | 2024-08-15 | 2024-09-13 | 北京融为科技有限公司 | On-line loading method and equipment for satellite-borne embedded SoC firmware |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015056800A (en) * | 2013-09-12 | 2015-03-23 | ソニー株式会社 | Image signal processing circuit, method of processing image signal and display device |
US10963592B2 (en) | 2019-02-05 | 2021-03-30 | Western Digital Technologies, Inc. | Method to unlock a secure digital memory device locked in a secure digital operational mode |
US11232210B2 (en) | 2019-03-26 | 2022-01-25 | Western Digital Technologies, Inc. | Secure firmware booting |
US10997297B1 (en) | 2019-12-06 | 2021-05-04 | Western Digital Technologies, Inc. | Validating firmware for data storage devices |
US20220156205A1 (en) * | 2021-06-25 | 2022-05-19 | Intel Corporation | Methods and apparatus to support post-manufacturing firmware extensions on computing platforms |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7069431B2 (en) * | 2001-07-31 | 2006-06-27 | Lenovo ( Singapore) Pte Ltd. | Recovery of a BIOS image |
US7240188B2 (en) * | 2004-07-15 | 2007-07-03 | Hitachi, Ltd. | Storage system |
US8065510B2 (en) * | 2007-07-30 | 2011-11-22 | Hewlet-Packard Development Company, L.P. | System and methods of retrieving firmware between network locations |
US8590040B2 (en) * | 2010-12-22 | 2013-11-19 | Intel Corporation | Runtime platform firmware verification |
US8607216B2 (en) * | 2008-08-01 | 2013-12-10 | Palm, Inc. | Verifying firmware |
US9015455B2 (en) * | 2011-07-07 | 2015-04-21 | Intel Corporation | Processsor integral technologies for BIOS flash attack protection and notification |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200713037A (en) | 2005-09-06 | 2007-04-01 | Benq Corp | System and method for updating firmware |
CN101526908B (en) | 2008-03-06 | 2012-01-11 | 晨星半导体股份有限公司 | Device and method for firmware updating |
TW201027324A (en) | 2009-01-14 | 2010-07-16 | Giga Byte Tech Co Ltd | Embedded electronic device free from being stuck in update failure and method of making the same |
-
2013
- 2013-04-08 US US13/858,112 patent/US9256744B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7069431B2 (en) * | 2001-07-31 | 2006-06-27 | Lenovo ( Singapore) Pte Ltd. | Recovery of a BIOS image |
US7240188B2 (en) * | 2004-07-15 | 2007-07-03 | Hitachi, Ltd. | Storage system |
US8065510B2 (en) * | 2007-07-30 | 2011-11-22 | Hewlet-Packard Development Company, L.P. | System and methods of retrieving firmware between network locations |
US8607216B2 (en) * | 2008-08-01 | 2013-12-10 | Palm, Inc. | Verifying firmware |
US8590040B2 (en) * | 2010-12-22 | 2013-11-19 | Intel Corporation | Runtime platform firmware verification |
US9015455B2 (en) * | 2011-07-07 | 2015-04-21 | Intel Corporation | Processsor integral technologies for BIOS flash attack protection and notification |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160283721A1 (en) * | 2012-06-28 | 2016-09-29 | Intel Corporation | Out-of-band host os boot sequence verification |
US10402565B2 (en) | 2014-03-28 | 2019-09-03 | Intel Corporation | In-system provisioning of firmware for a hardware platform |
WO2015149020A1 (en) * | 2014-03-28 | 2015-10-01 | Intel Corporation | In-system provisioning of firmware for a hardware platform |
CN106030525A (en) * | 2014-03-28 | 2016-10-12 | 英特尔公司 | In-system provisioning of firmware for hardware platforms |
US9594910B2 (en) | 2014-03-28 | 2017-03-14 | Intel Corporation | In-system provisioning of firmware for a hardware platform |
CN106462427A (en) * | 2014-06-07 | 2017-02-22 | 奥迪股份公司 | Motor-vehicle control unit having a current-saving mode for a parking phase |
US20160003903A1 (en) * | 2014-07-07 | 2016-01-07 | Realtek Semiconductor Corp. | Integrated circuit with self-verification function, verification method and method for generating a bist signature adjustment code |
US9885754B2 (en) * | 2014-07-07 | 2018-02-06 | Realtek Semiconductor Corp. | Integrated circuit with self-verification function, verification method and method for generating a BIST signature adjustment code |
CN105320581A (en) * | 2014-07-14 | 2016-02-10 | 瑞昱半导体股份有限公司 | Integrated circuit, verification method and method for generating characteristic value adjustment code |
CN104516759A (en) * | 2014-12-08 | 2015-04-15 | 武汉烽火网络有限责任公司 | Generating method for integration mirror image document, testing method and device |
US20160224413A1 (en) * | 2015-02-03 | 2016-08-04 | SK Hynix Inc. | Semiconductor memory device and method of checking operation state thereof |
US10885195B2 (en) * | 2015-11-16 | 2021-01-05 | Weidmüller Interface GmbH & Co. KG | Process for loading a secure memory image for a microcontroller and assembly including a microcontroller |
US11366905B2 (en) * | 2016-07-04 | 2022-06-21 | Sew-Eurodrive Gmbh & Co. Kg | Security device and method for operating a system |
US10534618B2 (en) * | 2016-09-27 | 2020-01-14 | American Megatrends International, Llc | Auto bootloader recovery in BMC |
CN107894894A (en) * | 2016-10-03 | 2018-04-10 | 施耐德电气It公司 | System and method for updating device software |
US10241803B2 (en) * | 2016-10-03 | 2019-03-26 | Schneider Electric It Corporation | System and method for updating device software |
US20180095769A1 (en) * | 2016-10-03 | 2018-04-05 | Schneider Electric It Corporation | System and method for updating device software |
US10817213B2 (en) * | 2017-03-06 | 2020-10-27 | Silicon Motion, Inc. | Data storage device and operating method for data storage device |
US20180253259A1 (en) * | 2017-03-06 | 2018-09-06 | Silicon Motion, Inc. | Data storage device and operating method for data storage device |
US11003460B2 (en) * | 2017-07-07 | 2021-05-11 | Phison Electronics Corp. | Memory control circuit unit, memory storage device and control method thereof |
US20190012180A1 (en) * | 2017-07-07 | 2019-01-10 | Phison Electronics Corp. | Memory control circuit unit, memory storage device and control method thereof |
WO2019057612A1 (en) * | 2017-09-25 | 2019-03-28 | Siemens Aktiengesellschaft | Distributed deployment of unique firmware |
EP3460705A1 (en) * | 2017-09-25 | 2019-03-27 | Siemens Aktiengesellschaft | Distributed deployment of unique firmware |
US20190102321A1 (en) * | 2017-09-29 | 2019-04-04 | Intel Corporation | Techniques to provide access protection to shared virtual memory |
US11204781B2 (en) * | 2019-12-11 | 2021-12-21 | Qualcomm Incorporated | Optimizing power, memory and load time of a computing system during image loading based on image segmentation |
US20230087221A1 (en) * | 2020-01-27 | 2023-03-23 | Hewlett-Packard Development Company, L.P. | Detection fields of view |
US12099612B2 (en) * | 2020-01-27 | 2024-09-24 | Hewlett-Packard Development Company, L.P. | Firmware corruption recovery |
CN118642782A (en) * | 2024-08-15 | 2024-09-13 | 北京融为科技有限公司 | On-line loading method and equipment for satellite-borne embedded SoC firmware |
Also Published As
Publication number | Publication date |
---|---|
US9256744B2 (en) | 2016-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9256744B2 (en) | System-on-chip and booting method thereof | |
CN109634645B (en) | Firmware upgrading method and terminal | |
US7543137B2 (en) | Information processing device and information processing method | |
JP4404625B2 (en) | Information processing apparatus and ROM image generation apparatus for the apparatus | |
KR101856284B1 (en) | Backing up firmware during initialization of device | |
US7908469B2 (en) | Method for executing power on self test on a computer system and updating SMBIOS information partially | |
US20080126776A1 (en) | Electronic apparatus | |
US20050177709A1 (en) | Apparatus and method for updating firmware | |
US20060282653A1 (en) | Method for updating frimware of memory card | |
JP6157637B2 (en) | Virtual boundary code in the data image of the read / write memory device | |
US20070136638A1 (en) | System and method for checking and correcting bios errors | |
JP2010140266A (en) | Electronic device system and electronic device | |
US8171277B2 (en) | Method and apparatus for booting from a flash memory without prior knowledge of flash parameter information | |
CN108829449B (en) | Method, device, equipment and medium for starting operating system by BIOS (basic input output System) | |
US20090271660A1 (en) | Motherboard, a method for recovering the bios thereof and a method for booting a computer | |
US20100049961A1 (en) | Update method for basic input/output system and update system thereof | |
US20130080751A1 (en) | Method and device for updating bios program for computer system | |
US9348603B2 (en) | Electronic apparatus and booting method | |
TW201342238A (en) | System-on-chip and booting method thereof | |
CN110297726B (en) | Computer system with serial presence detection data and memory module control method | |
US10691465B2 (en) | Method for synchronization of system management data | |
CN102184115B (en) | Method for updating system software and terminal device | |
US20140365713A1 (en) | Electronic system and operating method thereof | |
US20140317391A1 (en) | Method for changing a system program and processing device utilizing the same | |
US7490321B2 (en) | Method for updating firmware via determining program code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ASMEDIA TECHNOLOGY INC., TAIWAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HSU, MING-WEI;REEL/FRAME:030182/0899 Effective date: 20130402 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |