ROBUST OVER THE AIR REPROGRAMMING
An example operation includes one or more of downloading an update of a non-volatile electrically erasable memory storage of a vehicle, determining whether the memory storage is arranged in one of a block of bytes of memory and an individual byte of memory, selecting a programming protocol based on the memory storage arrangement and writing the memory storage based on the selected programming protocol.
1 . A method, comprising:
downloading an update of a non-volatile electrically erasable memory storage of a vehicle;
determining whether the memory storage is arranged in one of a block of bytes of memory and an individual byte of memory;
selecting a programming protocol based on the memory storage arrangement; and
writing the memory storage based on the selected programming protocol.
2 . The method of claim 1 further comprising:
generating an interruption flag if the download was interrupted;
determining the memory storage arrangement of the interrupted download coinciding with the interruption flag; and
resuming the download based on the memory storage arrangement.
3 . The method of claim 1 further comprising:
determining whether the download was complete; and
issuing an interruption flag if the download is incomplete.
4 . The method of claim 3 further comprising:
generating a magic number if the interruption flag is detected;
writing the magic number to the memory storage at a memory location where the download terminated; and
resuming the download at the memory location where the download terminated.
5 . The method of claim 4 wherein the magic number is randomly generated.
6 . The method of claim 1 further comprising:
writing the download to a temporary storage;
validating the download; and
copying the validated download from the temporary storage to the memory storage.
7 . The method of claim 1 further comprising:
generating an interruption flag if the download was interrupted;
booting from the memory storage if no interruption flag was generated; and
booting from a previous memory storage if the interruption flag was generated.
8 . A system, comprising:
an engine control unit operatively coupled to the transport, the engine control unit;
downloads an update of a non-volatile electrically erasable memory storage of a vehicle;
determines whether the memory storage is arranged in one of a block of bytes of memory and an individual byte of memory;
selects a programming protocol based on the memory storage arrangement; and
writes the memory storage based on the selected programming protocol.
9 . The system of claim 8 , wherein the engine control unit
generates an interruption flag if the download was interrupted;
determines the memory storage arrangement of the interrupted download coinciding with the interruption flag; and
resumes the download based on the memory storage arrangement.
10 . The system of claim 8 , wherein the engine control unit
determines whether the download was complete; and
issues an interruption flag if the download is incomplete.
11 . The system of claim 8 , wherein the engine control unit
generates a magic number if the interruption flag is detected;
writes the magic number to the memory storage at a memory location where the download terminated; and
resumes the download at the memory location where the download terminated.
12 . The system of claim 11 , wherein the magic number is randomly generated.
13 . The system of claim 8 , wherein the engine control unit
writes the download to a temporary storage;
validates the download; and
copies the validated download from the temporary storage to the memory storage.
14 . The system of claim 8 , wherein the engine control unit
generates an interruption flag if the download was interrupted;
boots from the memory storage if no interruption flag was generated; and
boots from a previous memory storage if the interruption flag was generated.
15 . A non-transitory computer readable medium comprising instructions, that when read by a processor, cause the processor to perform:
downloading an update of a non-volatile electrically erasable memory storage of a vehicle;
determining whether the memory storage is arranged in one of a block of bytes of memory and an individual byte of memory;
selecting a programming protocol based on the memory storage arrangement; and
writing the memory storage based on the selected programming protocol.
16 . The non-transitory computer readable medium of claim 15 , comprising
generating an interruption flag if the download was interrupted;
determining the memory storage arrangement of the interrupted download coinciding with the interruption flag; and
resuming the download based on the memory storage arrangement.
17 . The non-transitory computer readable medium of claim 15 , comprising
determining whether the download was complete; and
issuing an interruption flag if the download is incomplete.
18 . The non-transitory computer readable medium of claim 15 , comprising
generating a magic number if the interruption flag is detected;
writing the magic number to the memory storage at a memory location where the download terminated; and
resuming the download at the memory location where the download terminated.
19 . The non-transitory computer readable medium of claim 15 , comprising
writing the download to a temporary storage;
validating the download; and
copying the validated download from the temporary storage to the memory storage.
20 . The non-transitory computer readable medium of claim 15 , comprising
generating an interruption flag if the download was interrupted;
booting from the memory storage if no interruption flag was generated; and
booting from a previous memory storage if the interruption flag was generated.