Abstract:To reduce the demand for telemetry, tracking, and command (TT&C) resources in the on-orbit software update process and shorten the update upload time, this paper proposes a statement-level software update method that requires no operating system support, has a small amount of upload data, and can be flexibly controlled. Firstly, precompiled command was used to optimize the program space to make the code of different modules stored in different segments after the compilation, so as to reduce the impact of code modification on the loaded file. Secondly, the matching path between the reference segment and the update segment was solved segment-by-segment, and the difference content of each segment was extracted, which could greatly reduce the size of the differential patch. Thirdly, through the design of version guidance program, the flexible control of satellite software version was realized. Finally, the reliability design of the files and the program was performed, which could ensure safety of the entire update process. The method was fully tested on the ZDPS-3A satellite platform. Results show that the update method proposed in this paper could be applied to on-board computers without operating systems. The software state could be rolled back and the update process was reliable. Besides, compared with the traditional method of extracting different content, the average reduction of patch file size generated by this method was more than 50.00%, greatly shortened the update upload time. Therefore, the proposed method can meet the demand for low volume data update of on-board software and can be applied to other spacecrafts such as micro-satellites.