EIR-OPS-023: Upload OBC Image
Objective
To upload a new software image to the OBC.
Introduction
Using this procedure, the Operator will upload a new image to the OBC, overwriting whichever primary image (primary1 or primary2) is not currently in use.
Prior to beginning this procedure the Operator must consult with the Software Engineer to:
Ensure that the Operator is planning to prepare/upload the correct image file,
Confirm which primary image slot the data should be written to, and
Ensure that the Operator has access to the folder containing the primary image and README on the image properties (see Section A).
Procedure
This procedure has two subsections:
Note
Communication with the spacecraft will be required for Section B of this procedure.
Important
This procedure will require multiple communication passes to uplink the full OBC image.
A. Pre-Pass Preparation
A.1.
Prior to the first pass in which Section B is followed, the Operators must ensure they have access to:
The image to be uplinked (needed for Steps A.2 and B.4), whose name identifies whether it is a primary1 or 2 image,
An MD5 checksum for this image (Step A.2),
The length of the image in rows (Steps B.4 and B.6), and
The CRC of the image (Step B.8).
Warning
The image to be uplinked must be located on the same computer as MCS (or at least a file system that MCS can access).
A.2.
Calculate an MD5 checksum for the image to be uplinked using:
certutil -hashfile <file> MD5in a terminal on a windows computer, ormd5 <file>in a terminal on a Mac.
Ensure this checksum matches the checksum from the previous step.
B. Uplinking the Software Image
Important
You are about to send the first TC of this procedure - Have you completed the EIR-OPS-003: Start a Communication Pass procedure? A Communication Pass must be started prior to carrying out the operations planned for the pass. Don’t forget to open and set-up the parameters/actions that will be required before the pass starts!
B.1.
Gettheplatform.obc.OBC.currBootImageparameter to determine which software image is currently booted.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
1 byte |
Data Info |
Index of the currently executing OBC software image |
Allowed Value(s) |
0-2 |
Where …
Image |
|
failsafe |
0 |
primary1 |
1 |
primary2 |
2 |
B.2.
Ensure that the current boot image is NOT the image you intend to overwrite in the next steps.
If it is, the Operator will need to:
Uplink a new image to the alternative primary image slot on the OBC (ensuring the image has been built for this slot!), or
Follow the EIR-OPS-024: Boot Into OBC Image procedure to change the current boot image.
Danger
DO NOT PROCEED to the next step if the current boot image is the image you intend to overwrite in the next steps.
B.3.
InvoketheclearImageaction with the action argument = the index of the software image to be uplinked (i.e 1 forimage1and 2 forimage2).
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
1 byte |
Data Info |
1-2 |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
B.4.
To upload a new software image to the OBC,
Uplinkto the parameterplatform.obc.OBC.image1orimage2with:First row= 0,Last row= the size in rows of the uplinked image (given in Section A) - 1, andResize ticked.
Important
As you are about to perform a large uplink of data to the spacecraft, ensure that MCS ‘s Transfer Window is visible to the Operator before proceeding with this step.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
Many bytes |
Data Info |
|
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
B.5.
Wait for the transfer window on MCS to indicate that the uplink has completed in full.
Important
Uplinking the image to the spacecraft may require multiple communication passes. At the end of each pass, MCS will automatically ‘Suspend’ the transfer. At the start of each pass, the Operator should ‘Resume’ the transfer after completing the EIR-OPS-003: Start a Communication Pass procedure.
B.6.
Once the uplink is complete,
Querytheplatform.obc.OBC.image1orimage2parameter.Confirm that the TM returned matches the size in rows of the uplinked image, which was given in Section A.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
Number of rows in |
Data Size |
4 bytes |
Data Info |
Length of |
Allowed Value(s) |
00000000 - FFFFFFFF (hex) |
Expected Value(s) |
Same size of the uplinked image (from Section A) |
B.7.
Invoketheplatform.obc.OBC.updateImageCrcaction with the action argument = the index of the software image that has been uplinked (i.e 1 forimage1and 2 forimage2).
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
1 byte |
Data Info |
1-2 |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
B.8.
Gettheplatform.obc.OBC.ImageCrcparameter withFirst row=Last row= the index of the software image that has been uplinked (i.e 1 forimage1and 2 forimage2).Confirm that the TM returned matches the CRC of the uplinked image, which was given in Section A.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
4 bytes, 4 bytes |
Data Info |
|
Allowed Value(s) |
0-2, 0-2 |
TM Details |
|
Data Expected from TC |
|
Data Size |
List[0:1] of Integer:32 |
Data Info |
Stored CRC of First Programmable Primary Image |
Allowed Value(s) |
00000000 - FFFFFFFF (hex) |
Expected Value(s) |
Image CRC (from Section A) |
B.9.
Now follow the EIR-OPS-024: Boot Into OBC Image procedure to boot into the new OBC image.
END OF PROCEDURE