Method, system and apparatus for providing a boot loader of an embedded system
AssigneeTexas Instruments Incorporated
InventorVitaly Andrianov
Life of this patent
Estimating the term…
Abstract
A method, system and apparatus for executing a boot loader for an embedded system including a system-on-chip (SOC) processor coupled to a memory including first boot loader code for implementing a first boot loader stored in a first sector and second boot loader code for implementing a second boot loader stored in a second sector determines which of the first boot loader code and second boot loader code is younger; if the second boot loader code is determined to be younger than the first boot loader code, a swapping operation is performed so that the second boot loader code is associated with the first sector and the first boot loader code is associated with a different sector, and the boot loader code associated with the first sector is executed.
Claims17
A method of executing a boot loader for an embedded system including a system-on-chip (SOC) processor and a memory including a first sector and a second sector, the memory including first boot loader code for implementing a first boot loader stored in the first sector and a second boot loader code for implementing a second boot loader stored in the second sector, the method comprising:
- determining which of the first boot loader code and second boot loader code is younger comprising sampling flash configuration bits to determine a sector size of each of the first and second sectors;
- if the second boot loader code is determined to be younger than the first boot loader code, performing a swapping operation so that the second boot loader code is associated with the first sector and the first boot loader code is associated with a different sector;
- and
- executing the boot loader code associated with the first sector.
A method of executing a boot loader for an embedded system including a system-on-chip (SOC) processor and a memory having a plurality of sectors, the memory including first boot loader code for implementing a first boot loader associated with a first sector of the plurality of sectors and a second boot loader code for implementing a second boot loader associated with a second sector of the plurality of sectors, the method comprising:
- sampling a plurality of configuration bits to determine a flash sector size of each of the plurality of sectors;
- determining a size of the first boot loader code and a size of the second boot loader code;
- comparing a first header of the first boot loader code with a second header of the second boot loader code to determine which is younger;
- if the second boot loader code is determined to be younger than the first boot loader code, computing a checksum for the second boot loader code and comparing the computed checksum with a checksum in the second header;
- if the second boot loader code is determined to be younger than the first boot loader code and the computed second checksum is equal to the checksum in the second header, performing a swapping operation so that the second boot loader code is associated with the first sector and the first boot loader code is associated with the second sector;
- and
- executing the boot loader code associated with the first sector.
An embedded system comprising:
- a system-on-chip (SOC) processor including a central processing unit (CPU) and a memory coupled to the CPU, the memory for storing instructions for configuring the CPU;
- and
- a flash memory coupled to the SOC processor via an addressing bus, the flash memory including a first boot loader code stored in a first sector and a second boot loader code stored in a second sector;
- wherein the CPU is configured to:
- sample a plurality of configuration bits of the flash memory to determine a flash sector size of each of the first and second sectors of the flash memory;
- determine which of the first boot loader code and second boot loader code is younger;
- and
- execute the second boot loader code if the second boot loader code is determined to be younger than the first boot loader code.
Dependencies are inferred from the claim text.