Delta uuendused ESTCube-2 pardaarvuti tarkvarale

Date

2018

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

ESTCube-2 missiooni jooksul plaanitakse laadida satelliidi pardale uut tarkvara, et lisada funktsionaalsust, testida ja võrrelda uudseid tarkvaralahendusi ning lahendada potentsiaalseid tarkvara või raudvara probleeme. Peamisteks keerukust lisavate faktoriteks on aeglane üleslaadimiskiirus, tagasihoidlik arvutusvõimsus pardal, tarkvara jooksutamine välkmälust ning sage uuendamisvajadus missiooni eksperimentaalse loomuse tõttu. Varasemalt on välja töötatud ja kasutatud erinevaid lahendusi manussüsteemide pardatarkvara uuendamiseks, kuid kõigil neil esinevad omad puudujäägid. Käesoleva töö raames töötati välja ja realiseeriti uudne meetod ESTCube-2 satelliidi pardatarkvara uuendamiseks. Selle järgi kompileeritakse ja laetakse üles teineteisest sõltumatult ainult uued või uuenenud funktsioonid ning salvestatakse üles laetud binaarid muudatusteta välkmälu esimesse vabasse piirkonda. Väljatöötatud meetod vähendab üleslaadimist vajavat andmemahtu (ESTCube-1 korral muutis uuendus keskmiselt vaid 2% koodist) ning välistab vajaduse välkmälu kustutamiseks iga uuenduse käigus, võimaldades uusi funktsioone lisada ka ilma manussüsteemi taaskäivitamata. Käesoleva töö järeldusi saab kasutada lisaks ESTCube-2 satelliidile ka teistele sarnastele süsteemidele tarkvara uuendamise meetodi valimisel. Uuendamist raskendavate piirangute vähenemisest tuleneval tarkvara paindlikkuse kasvul on mõõdetav väärtus. See väärtus saab olla suurem, kui oleks alternatiivsetesse (näiteks raudvaralistesse) lahendustesse panustamisel saadav väärtus.
During the ESTCube-2 mission, loading of new software onto the satellite is planned, in order to introduce new features, test and compare novel software solutions, and resolve potential software or hardware issues. Main difficulties are slow uplink, limited on-board processing power, execution of software from flash memory, and frequent updates due to the experimental nature of the mission. Different methods for updating on-board software of embedded systems have been developed and used, but they are not without limitations. In this thesis a novel method for updating ESTCube-2 on-board software is designed and implemented. It compiles and uploads only new or updated functions independently of each other, and stores uploaded binaries without modifications in the first available flash area. This minimizes uplink usage (in the case of ESTCube-1, an update changed only 2% of the code on average), provides native execution speeds, and removes the need to erase flash memory for every change. This way it is possible to load new code even without rebooting the on-board computer. The results of this work can be also used to select updating method for other similar systems in addition to ESTCube-2. By reducing limits on software updates, flexibility of the space system is increased. Software flexibility has measurable value and can be more cost-effective than other options for increasing system's flexibility (hardware ones, for example).

Description

Keywords

Citation