US12153910B2ActiveUtilityA1

Golden flash image

Assignee: BAE SYS INF & ELECT SYS INTEGPriority: Nov 15, 2022Filed: Nov 15, 2022Granted: Nov 26, 2024
Est. expiryNov 15, 2042(~16.3 yrs left)· nominal 20-yr term from priority
Inventors:Mei Lam
G06F 9/4401G06F 9/4406G06F 9/4408G06F 11/1417G06F 21/575G06F 8/66G06F 8/63G06F 8/654
42
PatentIndex Score
0
Cited by
8
References
12
Claims

Abstract

Flash peripheral device may include a kernel in logical communication with a bootloader where the kernel, when initialized, is adapted to upload in at least one hardware controller via the bootloader. Flash peripheral device may also include at least one firmware protocol in logical communication with the kernel and configured to initialize at least one hardware driver of the at least one hardware controller. Flash peripheral device may also include an operation application in logical communication with the kernel and provided with a legacy set of instructions and at least one updated set of instructions. The operation application executes and runs the at least one updated set of instructions when the at least one updated set of instructions is flashed to the operation application or executes and runs the legacy set of instructions when the at least one updated set of instructions fails to be flashed to the operation application.

Claims

exact text as granted — not AI-modified
The invention claimed is: 
     
       1. A flash peripheral device for an embedded system, comprising:
 a kernel in logical communication with a bootloader, the kernel, when initialized, is adapted to upload in at least one hardware controller via the bootloader; 
 at least one firmware protocol in logical communication with the kernel and configured to initialize at least one hardware driver of the at least one hardware controller; and 
 an operation application in logical communication with the kernel and provided with a legacy set of instructions and at least one updated set of instructions; 
 wherein the operation application comprises; 
 a master flash image in logical communication with the kernel; 
 an agent flash image in logical communication with the kernel and the master flash image; and 
 at least one checksum element provided with both the master flash image and the agent flash image and in logical communication with the kernel; 
 wherein each checksum element is configured to detect the at least one updated set of instructions is uploaded to the agent flash image; 
 wherein when the at least one updated set of instructions is flashed to the operation application, the operation application is configured to execute and run the at least one updated set of instructions; 
 wherein when the at least one updated set of instructions fails to be flashed to the operation application, the operation application is configured to execute and run the legacy set of instructions. 
 
     
     
       2. The flash peripheral device of  claim 1 , wherein when the at least one updated set of instructions fails to be flashed to the operation application, the operation application is configured to enable at least another flash operation for flashing the at least one updated set of instructions to the operation application. 
     
     
       3. The flash peripheral device of  claim 1 , wherein the at least one checksum element comprises:
 a first checksum code provided with the at least one updated set of instructions subsequent to flashing the at least one updated set of instructions to the agent flash image; 
 wherein when the kernel calculates a second checksum code that matches the first checksum code, the operation application is configured to execute and run the at least one updated set of instructions. 
 
     
     
       4. The flash peripheral device of  claim 1 , wherein the at least one checksum element comprises:
 a first checksum code provided with the at least one updated set of instructions subsequent to flashing the updated set of instructions to the agent flash image; 
 wherein when the kernel calculates a second checksum code that fails to match the first checksum code, the operation application is configured to support and run the legacy set of instructions until the first checksum code and the second checksum code match one another such that the operation application is configured to execute and run the at least one updated set of instructions. 
 
     
     
       5. The flash peripheral device of  claim 1 , further comprising:
 a first checksum code created by the first checksum element and provided with the at least one updated set of instructions subsequent to uploading the at least one updated set of instructions to the agent flash image; 
 wherein when the kernel calculates a second checksum code that matches the first checksum code, the operation application is configured to execute and run the at least one updated set of instructions. 
 
     
     
       6. The flash peripheral device of  claim 1 , further comprising:
 a first checksum code created by the first checksum element and provided with the at least one updated set of instructions subsequent to uploading the at least one updated set of instructions to the agent flash image; 
 wherein when the kernel calculates a second checksum code that fails to match the first checksum code, the operation application is configured to execute and run the legacy set of instructions until the first checksum code and the second checksum code match one another. 
 
     
     
       7. A method; comprising:
 producing a flash framework of a flash device of an embedded system; 
 effecting a boot instruction to be loaded into a bootloader of the flash framework; 
 effecting at least one dynamic random access memory (DRAM) device to be initialized, via the bootloader, of the embedded system; 
 effecting at least one hardware controller to be initialized, via the bootloader, of the embedded system; 
 effecting a kernel of the flash framework to be loaded, via the bootloader, into at least one DRAM device; 
 effecting at least one firmware protocol to be instructed, via the kernel, to initiate at least one driver of the at least one hardware controller; 
 effecting an operation application to be initialized, via the kernel, of the flash framework; 
 initializing a master flash image of the operation application, via the kernel, wherein the master flash image is configured to support a legacy set of instructions; 
 initializing an agent flash image of the operation application, via the kernel, wherein the agent flash image is configured to receive and support the at least one updated set of instructions; 
 initializing at least one checksum element, via the kernel, that is provided with one or both of the master flash image and the agent flash image; 
 detecting the at least one updated set of instructions is one of flashed to the agent flash image and failed to flash to the agent flash image; 
 calculating a first checksum code, via the operation application, for the at least one updated set of instructions subsequent to flashing the updated set of instructions to the agent flash image; 
 calculating a second checksum code, via the kernel, from the at least one updated set of instructions; 
 supporting the at least one updated set of instructions when the first checksum code and the second checksum code match one another; 
 wherein when the first checksum code and the second checksum code are different, the operation application is configured to execute and run the legacy set of instructions until the first checksum code and the second checksum code match one another such that the operation application is configured to execute and run the at least one updated set of instructions; 
 effecting the at least one updated set of instructions to be flashed to the operation application for at least one flash operation until the operation application is provided on the operation application; and 
 eliminating a need for a user to obtain a second flash device if the at least one updated set of instructions fails to be flashed to the operation application of the flash device. 
 
     
     
       8. The method of  claim 7 , wherein the step of flashing the at least one updated set of instructions to the operation application for the at least one flash operation until the operation application is provided on the operation application further includes that when the at least one updated set of instructions is flashed to the operation application, the operation application is configured to execute and run the at least one updated set of instructions. 
     
     
       9. The method of  claim 7 , wherein the step of flashing the at least one updated set of instructions to the operation application for the at least one flash operation until the operation application is provided on the operation application further includes that when the at least one updated set of instructions fails to be flashed to the operation application, the operation application is configured to execute and run a legacy set of instructions. 
     
     
       10. The method of  claim 7 , wherein the step of flashing the at least one updated set of instructions to the operation application for the at least one flash operation until the operation application is provided on the operation application further includes that when the at least one updated set of instructions fails to be flashed to the operation application, the operation application is configured to enable at least another flash operation for flashing the at least one updated set of instructions to the operation application. 
     
     
       11. An operational application embodied and executed by a flash peripheral device, the operational application comprising:
 a master flash image in logical communication with a kernel of the flash peripheral device and configured to support a legacy set of instructions; 
 an agent flash image in logical communication with the kernel and the master flash image and configured to receive and support the at least one updated set of instructions; and 
 a first checksum code provided with the at least one updated set of instructions subsequent to flashing the updated set of instructions to the agent flash image; 
 wherein when the kernel calculates a second checksum code that fails to match the first checksum code, the operational application is configured to support and run the legacy set of instructions until the first checksum code and the second checksum code match one another such that the operational application is configured to execute and run the at least one updated set of instructions. 
 
     
     
       12. The operational application of  claim 11 , wherein when the kernel calculates a second checksum code that fails to match the first checksum code, the operation application is configured to execute and run the legacy set of instructions until the first checksum code and the second checksum code match one another such that the operation application is configured to execute and run the at least one updated set of instructions.

Join the waitlist — get patent alerts

Track US12153910B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.