Electronic device and method for secure operating system update in embedded system
First Claim
1. An electronic device having an embedded system therein, said embedded system comprising:
- a random-access memory;
a non-volatile storage unit defining a boot sector, a first sector and a second sector and containing a boot loader in said boot sector, an initialization variable in said boot sector and an embedded operating system in said first sector, wherein said second sector is provided for storing another embedded operating system;
a processing unit coupled to said random-access memory and said non-volatile storage unit and being capable of instructing said boot loader to perform an operating system loading process and instructing said loaded embedded operating system to operate on the electronic device;
wherein said operating system loading process includes the following steps;
(a). checking the current value of said initialization variable; and
(b). copying said embedded operating system from said first sector of said non-volatile storage unit into said random-access memory if said initialization variable is set at a first value, and copying said embedded operating system from said second sector of said non-volatile storage unit into said random-access memory if said initialization variable is set at a second value; and
an update program configured to perform an upgrade process including the following steps;
(a). determining whether a new version embedded operating system is available on a server for download;
(b). checking a current value of said initialization variable if said new version embedded operating system is available;
(c). if said initialization variable is set at said first value, overwriting said new-version embedded operating system into said second sector of said non-volatile storage unit, and then resetting said initialization variable to said second value only when said overwrite is complete; and
(d). if said initialization variable is set at said second value, overwriting said new-version embedded operating system into said first sector of said non-volatile storage unit, and then resetting said initialization variable to said first value only when said overwrite is complete.
2 Assignments
0 Petitions
Accused Products
Abstract
An electronic device and method for secure embedded operating system update within embedded system. The embedded system includes a random-access memory, a non-volatile storage unit and a processing unit. The non-volatile storage unit defines a boot sector, a first sector and a second sector and contains a boot loader in the boot sector, an initialization variable in the boot sector and an embedded operating system in the first sector. The second sector is provided for storing another embedded operating system. The processing unit is coupled to the random-access memory and the non-volatile storage unit and is capable of executing the boot loader in order to copy one of the embedded operating systems from either the first sector or the second sector of the non-volatile storage unit into the random-access memory according to the current value of the initialization variable and then executing the loaded embedded operating system.
-
Citations
3 Claims
-
1. An electronic device having an embedded system therein, said embedded system comprising:
-
a random-access memory; a non-volatile storage unit defining a boot sector, a first sector and a second sector and containing a boot loader in said boot sector, an initialization variable in said boot sector and an embedded operating system in said first sector, wherein said second sector is provided for storing another embedded operating system; a processing unit coupled to said random-access memory and said non-volatile storage unit and being capable of instructing said boot loader to perform an operating system loading process and instructing said loaded embedded operating system to operate on the electronic device;
wherein said operating system loading process includes the following steps;(a). checking the current value of said initialization variable; and (b). copying said embedded operating system from said first sector of said non-volatile storage unit into said random-access memory if said initialization variable is set at a first value, and copying said embedded operating system from said second sector of said non-volatile storage unit into said random-access memory if said initialization variable is set at a second value; and an update program configured to perform an upgrade process including the following steps; (a). determining whether a new version embedded operating system is available on a server for download; (b). checking a current value of said initialization variable if said new version embedded operating system is available; (c). if said initialization variable is set at said first value, overwriting said new-version embedded operating system into said second sector of said non-volatile storage unit, and then resetting said initialization variable to said second value only when said overwrite is complete; and (d). if said initialization variable is set at said second value, overwriting said new-version embedded operating system into said first sector of said non-volatile storage unit, and then resetting said initialization variable to said first value only when said overwrite is complete.
-
-
2. An electronic device comprising:
-
a random-access memory (RAM); a non-volatile memory (NVM) having an initialization variable stored therein; a first operating system installed in the NVM; a second operating system installed in the NVM; a boot loader stored in the NVM, and wherein the boot loader is operable to load the first operating system into the RAM if the initialization variable is set at a first value, and to load the second operating system into the RAM if the initialization variable is set at a second value; and an update program configured to update the first operating system if the initialization variable is set at the first value and reset the initialization variable to the second value only when the update of the first operating system is complete, and to update the second operating system if the initialization variable is set at the second value and reset the initialization variable to the first value only when the update of the second operating system is complete.
-
-
3. A method for updating programmable information in an electronic device, comprising the following steps:
-
(a). retrieving a current value of a variable stored in a non-volatile memory (NVM); (b). if the current value is a first value, downloading updated information into a first sector of the NVM, and resetting the variable to a second value only when it is judged that the download into the first sector is complete; and (c). if the current value is a second value, downloading updated information into a second sector of the NVM; and
resetting the variable to the first value only when it is judged that the download into the second sector is complete.
-
Specification