1. Field of the Invention
The present invention relates to an updating method and electronic system thereof, and more particularly, to an updating method capable of automatically updating a plurality of hardware devices and the electronic system thereof.
2. Description of the Prior Art
With the advancement of technology, electronic systems are increasingly used in daily life. Many electronic systems, particularly embedded systems and devices, employ non-volatile memory to store system software for the electronic system. Conventionally, it is sometimes required the non-volatile memory to be updated with a new software update component. This requirement could arise, for example, if the manufacturer releases a software revision to fix bugs in the old version or to incorporate new features of the electronic system.
Further, the programmable content of the embedded hardware device can be updated via the network or the operating system without specific devices. For example, after the user controls the embedded hardware device to enter an updating mode via the operating system, the user may transmit new programmable content to the embedded hardware device via interfaces such as system bus, low pin count bus, inter-integrated circuit (I2C) and universal serial bus (USB), to perform the updating process. In addition, the user may update the new programmable content to a sever of the embedded hardware device via the network and instruct the embedded hardware device to download the new programmable content from the specific sever or the specific internet protocol address. According to the above methods, the user needs to perform the updating process for each of the embedded hardware devices. When the number of the embedded hardware device increases, the time of updating all of the embedded hardware devices significantly raises. As can be seen from the above, the prior art needs to be improved.
In order to solve the above problem, the present invention provides an updating method capable of automatically updating a plurality of hardware device and electronic system thereof.
An embodiment of the present invention discloses an updating method for an electronic system with a plurality of hardware devices, the updating method comprising selecting one of the plurality of hardware devices as a first layer device; selecting at least one of the hardware devices as at least one second layer device; performing, by the first layer device, an updating process according to a software component; transmitting, by the first layer device, a first notification message when the first layer device finishes the updating process; and accessing, by the at least one second layer device, the software component from the first layer device according to the first notification message and performing, by the at least one second layer device, the updating process according to the software component.
Another embodiment of the present invention further discloses an electronic system comprising a plurality of hardware devices, wherein the plurality of hardware devices comprising a first layer device, for performing an updating process according to a software component and transmitting a first notification message when finishing the updating process; and at least one second layer device, for accessing the software component from the first layer device according to the first notification message when receiving the first notification message and performing the updating process according to the software component.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
Please refer to
In detail, according to updating sequence, the user may select one of the plurality hardware devices of the electronic system 10 as the first layer device HD1, select at least one of the plurality of the hardware devices as the second layer devices HD2_1-HD2_a located at the next layer of the first layer device HD1, and so on. In an example, the first layer device HD1 is randomly selected by the user. In addition, the second layer devices HD2_1-HD2_a, the third layer devices HD3_1-HD3_b, . . . , and the nth layer devices HDn_1-HDn_x may be selected according to internet protocol (IP) addresses of the hardware devices. In
When the operation software of the hardware components HC in the first layer HD1, the second layer devices HD2_1-HD2_a, the third layer devices HD3_1-HD3_b, . . . , and the nth layer devices HDn_1-HDn_x are required to be updated, the user controls the first layer device HD1 to access the software component SC and to perform the updating process according to the software component SC, to update the operation software of the hardware component HC. When the first layer device HD1 finishes the updating process, the first layer device HD1 automatically transmits (e.g. broadcasts) a notification message NM1 via the network, wherein the notification message NM1 comprises a current level CL, an accessing path AP and an accessing file name AN. Since the first layer device HD1 is the first hardware device being updated, the current level CL of the notification message NM1 transmitted by the first layer deice HD1 is set to the highest level (e.g. 1). The accessing path AP is the IP address of the first layer device HD1 and the accessing file name AN is the file name of the software component SC stored in the first layer device HD1. When the second layer devices HD2_1-HD2_a, which are located at the next layer of the first layer device HD1, receives the notification message NM1, the second layer devices HD2_1-HD2_a determine that the first layer device HD1 has finished the updating process according to the current level CL. Next, the second layer devices HD2_1-HD2_a access the software component SC from the first layer device HD1 according to the accessing path AP and the accessing file name AN in the notification message NM1 and perform the updating process. Note that, when the third layer device HD3_1-HD3_b, . . . , and the nth layer devices HDn_1-HDn_x receive the notification message NM1, the third layer device HD3_1-HD3_b, . . . , and the nth layer devices HDn_1-HDn_x determine not to perform any operation according to the current level CL of the notification message NM1. That is, after the first layer device HD1 finished the updating process, the first layer device HD1 becomes a server and the second layer devices HD2_1-HD2_a become clients to access the software component SC from the server.
Similarly, the second layer device HD2_1 also transmits a notification NM2_1 when finishing the updating process, wherein the notification message NM2_1 comprises the current level CL, the accessing path AP and the accessing file name AN. Different from the notification message NM1, the current level CL of the notification message NM2_1 is set to the level of the second layer device HD2_1 (e.g. 2), the accessing path AP of the notification message NM2_1 is the IP address of the second layer device HD2_1, and the accessing file name AN of the second notification message NM2_1 is the name of the software component SC stored in the second layer device HD2_1. When the third layer devices HD3_1-HD3_b receive the notification message NM2_1, the third layer devices HD3_1-HD3_b determine that one of the second layer device HD2_1-HD2_a finished the updating process according to the current level CL of the notification message NM2_1 and access the software component SC from the second layer device HD2_1, which finished the updating process, according to the accessing path AP and the accessing file name AN of the notification message NM2_1, to perform the updating process. The operation procedures of the second layer devices HD2_2-HD2_a can be referred to those of the second layer device HD2_1, and are not described herein for brevity. According to the above example, via classifying the plurality of hardware devices in the electronic system 10 into the first layer device HD1, the second layer devices HD2_1-HD2_n, the third layer devices HD3_1-HD3_b, . . . , and the nth layer devices HDn_1-HDn_x, the user is only required to control the first layer device HD1 to perform the updating process and the second layer devices HD2_1-HD2_n, the third layer devices HD3_1-HD3_b, . . . , and the nth layer devices HDn_1-HDn_x will sequentially perform the updating process according to the layer sequence. As a result, the time of the user update the operation software of the hardware components HC in the first layer device HD1, the second layer devices HD2_1-HD2_n, the third layer devices HD3_1-HD3_b, . . . , and the nth layer devices HDn_1-HDn_x is significantly reduced.
As to the detailed operations of the electronic system 10 performs the updating process please refer to the following. Please refer to
Via the network, all of the hardware devices HDE1-HDE4 receive the notification message NM1. Since the current level CL of the notification message NM1 is set to 1, the hardware devices HDE2 and HDE4 (i.e. the third layer devices HD3_1 and HD3_2) do not perform any operation according to the notification message NM1. On the other hand, the hardware devices HDE1 and HDE3 (i.e. the second layer devices HD2_1 and HD2_2) determine to begin performing the updating process according to the current level CL of the notification message NM1. According to the accessing path AP and the accessing file name AN, the hardware devices HDE1 and HDE3 access the software component SC from the hardware device HDE5 and perform the updating process.
Please refer to
The above examples classify the hardware devices into different layers, for allowing the hardware devices to automatically perform the updating process according to the layer sequence. The time of the user spent on performing the updating process therefore can be reduced. According to different applications and design concepts, those with ordinary skill in the art may observe appropriate alternations and modifications. For example, when finishing the updating process, the first layer device HD1 may transmit the notification message NM1 to the second layer devices HD2_1-HD2_a via a multi-cast method, to avoid decreasing the network performance. In addition, when utilizing the broadcast method to transmit the notification message (e.g. the notification message NM1), the hardware devices are required to be at the same network domain. In comparison, the hardware devices may be at different network domains when utilizing the multi-cast method to transmit the notification messages. The design of the electronic system can be more flexible, therefore.
The procedures of the electronic system 10 performs the updating process can be summarized into an updating method 30, as shown in
Step 300: Start.
Step 302: Select one of the plurality of hardware devices as a first layer device.
Step 304: Select at least one of the hardware devices as at least one second layer device.
Step 306: Perform, by the first layer device, an updating process according to a software component.
Step 308: Transmit, by the first layer device, a first notification message to the at least one second layer device when the first layer finishes the updating process, to allow the at least one second layer device to access the software component from the first layer device and perform the updating process according to the software component.
Step 310: Select at least one of the plurality of hardware devices as at least one third layer device.
Step 312: Transmit, by the second layer device, at least one second notification message to the at least one third layer device when the at least one second layer finishes the updating process, to allow the at least one third layer device to access the software component from the at least one layer device and perform the updating process according to the software component.
Step 314: End.
According to the updating method 30, the plurality of hardware devices in the electronic system is classified into a first layer device, second layer devices, and third layer devices with different layers. When the user completes the updating process of the first layer device, the first layer device transmits a notification message to the second layer devices, to allow the second layer device to perform the updating process, and so on. Therefore, the time of updating the plurality of hardware devices in the electronic system can be reduced. Note that, the number of layers of the plurality hardware devices may be adjusted according to the number of the hardware devices in the electronic system, and is not limited to 3 layers described in the updating method 30. The detailed operations of the updating method 30 can be referred to the above, and are not narrated herein for brevity.
To sum up, the above examples classify the plurality of hardware devices in the electronic system into different layers. When a single hardware device finishes the updating process, the hardware device automatically inform the hardware devices of the next layer to perform the updating process. As a result, the time spending on updating the plurality of hardware devices is reduced, the manpower, and the cost of maintaining the electronic system are decreased.
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
103132317 | Sep 2014 | TW | national |