1. Technical Field
Embodiments of the present disclosure relates to data management technology, and more particularly, to a system and method for updating firmware data of a management engine (ME) of a Platform Controller Hub (PCH) chipset of an electronic device.
2. Description of Related Art
Management engine (ME) of a Platform Controller Hub (PCH) chipset of an electronic device, acts as a controller to control peripheral function of the electronic device, and achieves advanced features such as power supply management of the electronic device. Because the ME plays an important role in the electronic device, to prevent accidental erasure or over-writing of firmware of the ME, a protection pin of the PCH chipset may be configured to protect the firmware of the ME.
When the electronic device begins Power-On Self-Test (POST), the protection pin allows the firmware of the ME to be updated when the voltage level of the protection pin is low, or prohibits the firmware of the ME being updated when the voltage level of the protection pin is high. Under this protection mechanism, a user who wants to update the firmware of the ME, usually changes the voltage level of the protection pin to be low. However, this change must be done manually and locally. This is inefficient. Therefore there is room for improvement in the art.
The disclosure is illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean “at least one.”
In general, the word module, as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions, written in a programming language, such as, Java, C, or assembly. One or more software instructions in the modules may be embedded in firmware, such as in an EPROM. The modules described herein may be implemented as either software and/or hardware modules and may be stored in any type of non-transitory computer-readable medium or other storage device. Some non-limiting examples of non-transitory computer-readable media include CDs, DVDs, BLU-RAY, flash memory, and hard disk drives.
The PCH chipset 20 includes a management engine (ME) 30, the ME 30 is used to control peripheral function of electronic device 100. For example, the ME 30 is used to achieve power supply management of the electronic device 100. In this embodiment, the updating system 10 is used to update a firmware of the ME 30.
In this embodiment, the first storage device 40 is a hard disk, the updating system 10 pre-stores firmware update data of the ME 30 in the first storage device 40. The second storage device 70 is a flash memory, the firmware of the ME 30 embedded in the second storage device 70, the second storage device 70 may further stores computerized codes of Basic Input/Output System (BIOS) of the electronic device 100.
A protection pin of the PCH chipset 20 may be configured to protect the firmware of the ME 30. When the electronic device 100 begins Power-On Self-Test (POST), the protection pin allows the firmware of the ME 30 to be updated when the voltage level of the protection pin is low, or prohibits the firmware of the ME 30 from being updated when the voltage level of the protection pin is high.
In this embodiment, the protection pin is connected to a General Purpose Input/Output (GPIO) pin. The GPIO pin may be a pin of the PCH chipset 20 (as shown in the
Because the protection pin is connected to the GPIO pin, the voltage level of the protection pin is the same as the GPIO pin. When the electronic device 100 is powered on and begins POST, the pull-up resistor 90 obtains the voltage (e.g., 3.3 volts), and pulls the voltage level of the GPIO pin to be high, then the voltage level of the protection pin is high. That is, when the electronic device 100 is powered on and begins POST for the first time, the voltage level of the protection pin is high, the protection pin prohibits the firmware of the ME 30 from being updated.
As shown in
In step S31, the controlling module 101 controls a voltage level of the protection pin to be low by setting a voltage level of the GPIO pin to be a low voltage level. As mentioned above, because the protection pin is connected to the GPIO pin, the voltage level of the protection pin is the same as the GPIO pin, that is, when the voltage level of the GPIO pin is set to be low, the voltage level of the protection pin changed to low correspondingly.
In step S2, the generating module 102 generates a first control command to restart the electronic device 100 to allow the firmware of the ME 30 to be updated. When the electronic device 100 restarts, the electronic device 100 performs POST again, then the protection pin allows the firmware of the ME 30 to be updated because the voltage level of the protection pin changed to low in step 51.
In step S3, the updating module 103 updates firmware of the ME 30. In one embodiment, the updating module 103 copies the update data that is pre-stored in the first storage device 40 and writes the update data to the second storage device 70 to complete the firmware updating operation. When the firmware of the ME 30 has been updated, the process goes to step S4.
In step S4, the controlling module 101 controls the voltage level of the protection pin to high by setting the voltage level of the GPIO pin to a high voltage level.
In step S5, the generating module 102 generates a second control command to restart the electronic device 100 to prohibit the firmware of the ME 30 from being updated.
Although certain inventive embodiments of the present disclosure have been specifically described, the present disclosure is not to be construed as being limited thereto. Various changes or modifications may be made to the present disclosure without departing from the scope and spirit of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
2012101988743 | Jun 2012 | CN | national |