US 11,870,915 B2
Unified programming environment for programmable devices
Rajeev Gulati, Sammamish, WA (US); David R. Christie, Woodinville, WA (US); Edwin R. Musch, Redmond, WA (US); and Benjamin M. Deagen, Lynnwood, WA (US)
Assigned to Data I/O Corporation, Redmond, WA (US)
Filed by Data I/O Corporation, Redmond, WA (US)
Filed on Jun. 28, 2022, as Appl. No. 17/851,223.
Application 17/851,223 is a continuation of application No. 16/891,022, filed on Jun. 2, 2020, granted, now 11,374,772.
Application 16/891,022 is a continuation of application No. 16/384,913, filed on Apr. 15, 2019, granted, now 10,673,638, issued on Jun. 2, 2020.
Application 16/384,913 is a continuation of application No. 16/121,469, filed on Sep. 4, 2018, granted, now 10,263,790, issued on Apr. 16, 2019.
Application 16/121,469 is a continuation of application No. 15/717,925, filed on Sep. 27, 2017, granted, now 10,069,633, issued on Sep. 4, 2018.
Claims priority of provisional application 62/401,953, filed on Sep. 30, 2016.
Prior Publication US 2022/0329443 A1, Oct. 13, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 9/32 (2006.01); G06F 21/57 (2013.01); H04L 9/14 (2006.01); H04L 9/30 (2006.01); G06F 9/44 (2018.01); G06F 9/4401 (2018.01); G06F 8/61 (2018.01); G09C 1/00 (2006.01)
CPC H04L 9/3263 (2013.01) [G06F 8/61 (2013.01); G06F 9/4406 (2013.01); G06F 21/57 (2013.01); G06F 21/572 (2013.01); G06F 21/575 (2013.01); G09C 1/00 (2013.01); H04L 9/14 (2013.01); H04L 9/30 (2013.01); H04L 9/3268 (2013.01); G06F 9/44 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of operation of a secure programming system comprising:
receiving a security kernel, a target payload, and an authentication list at a programmer;
authenticating a programmable device mounted in the programmer based on the authentication list;
transferring a copy of the security kernel to the programmable device over an encrypted channel between the programmer and the programmable device;
installing the copy of the security kernel in the programmable device;
activating the security kernel in the programmable device, the security kernel reboots the programmable device and generates a validation code;
validating the security kernel in the programmable device based on the validation code; and
upon validation of the security kernel in the programmable device, provisioning the programmable device with the target payload.